diff --git a/src/main/java/org/embl/mobie/DataStore.java b/src/main/java/org/embl/mobie/DataStore.java index 4caf445ce..a23750671 100644 --- a/src/main/java/org/embl/mobie/DataStore.java +++ b/src/main/java/org/embl/mobie/DataStore.java @@ -50,6 +50,7 @@ import java.util.concurrent.CompletableFuture; import java.util.concurrent.ConcurrentHashMap; import java.util.concurrent.ExecutionException; +import java.util.stream.Collectors; public abstract class DataStore { @@ -71,6 +72,13 @@ public abstract class DataStore return sourceToImage; } + public static List< SourceAndConverter< ? > > getSourceAndConverters( Collection< Image< ? > > images ) + { + return Collections.unmodifiableList( images.stream() + .map( image -> sourceToImage().inverse().get( image ) ) + .collect( Collectors.toList() ) ); + } + public static ImageData< ? > fetchImageData( String path, ImageDataFormat imageDataFormat, diff --git a/src/main/java/org/embl/mobie/lib/serialize/display/AbstractDisplay.java b/src/main/java/org/embl/mobie/lib/serialize/display/AbstractDisplay.java index 8e12062cb..a45f7a390 100644 --- a/src/main/java/org/embl/mobie/lib/serialize/display/AbstractDisplay.java +++ b/src/main/java/org/embl/mobie/lib/serialize/display/AbstractDisplay.java @@ -35,6 +35,7 @@ import org.embl.mobie.lib.image.Image; import java.util.ArrayList; +import java.util.Collection; import java.util.Collections; import java.util.List; import java.util.stream.Collectors; @@ -81,9 +82,7 @@ public List< Image< T > > images() @Override public List< SourceAndConverter< T > > sourceAndConverters() { - return Collections.unmodifiableList( ( List ) images.stream() - .map( image -> DataStore.sourceToImage().inverse().get( image ) ) - .collect( Collectors.toList() ) ); + return DataStore.getSourceAndConverters( ( Collection ) images ); } public void setOpacity( double opacity )