diff --git a/pom.xml b/pom.xml index 7c1ba005..3df94d1b 100644 --- a/pom.xml +++ b/pom.xml @@ -9,10 +9,9 @@ org.embl.mobie mobie-viewer-fiji - 6.0.2-SNAPSHOT + 6.0.3-SNAPSHOT - diff --git a/src/main/java/org/embl/mobie/lib/data/CollectionTableDataSetter.java b/src/main/java/org/embl/mobie/lib/data/CollectionTableDataSetter.java index 43ca04ec..fc3cb0fa 100644 --- a/src/main/java/org/embl/mobie/lib/data/CollectionTableDataSetter.java +++ b/src/main/java/org/embl/mobie/lib/data/CollectionTableDataSetter.java @@ -1,5 +1,6 @@ package org.embl.mobie.lib.data; +import IceInternal.Ex; import ij.IJ; import net.imglib2.type.numeric.ARGBType; import org.embl.mobie.DataStore; @@ -235,7 +236,7 @@ else if ( existingDisplay instanceof ImageDisplay ) gridRegionDisplay.sources.put( source, Collections.singletonList( source ) ); // TODO: in some cases only do this once for several grids - dataset.views().get( viewName ).displays().add( gridRegionDisplay ); + dataset.views().get( viewName ).displays().add( gridRegionDisplay ); } } @@ -313,7 +314,17 @@ private static String getName( Row row ) private static String getNameFromURI( Row row ) { String uri = getUri( row ); - return MoBIEHelper.removeExtension( IOHelper.getFileName( uri ) ); + String name = MoBIEHelper.removeExtension( IOHelper.getFileName( uri ) ); + try + { + int channelIndex = row.getInt( CollectionTableConstants.CHANNEL ); + name = name + "_c" + channelIndex; + } + catch ( Exception e ) + { + // do nothing + } + return name; } private static String getDataType( Row row ) @@ -351,7 +362,10 @@ private static String getGridId( Row row ) private static int getChannel( Row row ) { try { - return row.getInt( CollectionTableConstants.CHANNEL ); + int channelIndex = row.getInt( CollectionTableConstants.CHANNEL ); + if ( channelIndex < 0 ) + return 0; // Sometimes an empty string yields a negative number + return channelIndex; } catch ( Exception e ) { @@ -482,7 +496,7 @@ private static double[] getContrastLimits( Row row ) if ( doubles.length != 2 ) throw new UnsupportedOperationException("Contrast limits must have exactly two values: (min, max).\n" + - "This table cell entry does not adhere to this specification: " + string ); + string + "does not adhere to this specification." ); return doubles; } diff --git a/src/main/java/org/embl/mobie/lib/image/ImageDataImage.java b/src/main/java/org/embl/mobie/lib/image/ImageDataImage.java index 22922dbd..685bddc4 100644 --- a/src/main/java/org/embl/mobie/lib/image/ImageDataImage.java +++ b/src/main/java/org/embl/mobie/lib/image/ImageDataImage.java @@ -52,7 +52,7 @@ public class ImageDataImage< T extends NumericType< T > & NativeType< T > > impl { private ImageDataFormat imageDataFormat; private String uri; - private int setupId; + private int setupId = 0; private SourcePair< T > sourcePair; private String name; private Site site; @@ -68,7 +68,7 @@ public ImageDataImage( ImageData< ? > imageData, Integer setupId, String name, V this.imageDataFormat = null; this.uri = null; this.sharedQueue = null; - this.setupId = setupId == null ? 0 : setupId; + if ( setupId != null ) this.setupId = setupId; this.name = name; // FIXME: add the datasetname to the name ?! System.out.println("Name: " + name ); System.out.println("SetupID: " + setupId ); @@ -80,14 +80,14 @@ public ImageDataImage( ImageData< ? > imageData, Integer setupId, String name, V public ImageDataImage( ImageDataFormat imageDataFormat, String uri, - int setupId, + Integer setupId, String name, @Nullable SharedQueue sharedQueue, VoxelDimensions voxelDimensions ) { this.imageDataFormat = imageDataFormat; this.uri = uri; - this.setupId = setupId; + if ( setupId != null ) this.setupId = setupId; this.name = name; this.sharedQueue = sharedQueue; this.voxelDimensions = voxelDimensions; diff --git a/src/main/java/org/embl/mobie/lib/io/FileImageSource.java b/src/main/java/org/embl/mobie/lib/io/FileImageSource.java index 56356c96..ee22d722 100644 --- a/src/main/java/org/embl/mobie/lib/io/FileImageSource.java +++ b/src/main/java/org/embl/mobie/lib/io/FileImageSource.java @@ -28,7 +28,6 @@ */ package org.embl.mobie.lib.io; -import org.apache.commons.io.FilenameUtils; import org.embl.mobie.lib.util.MoBIEHelper; import java.io.File; @@ -44,15 +43,15 @@ public class FileImageSource * "path=name;channelIndex" * where everything after path is optional * - * @param string - * the string to be parsed + * @param uri + * the uri to be parsed */ - public FileImageSource( String string ) + public FileImageSource( String uri ) { - String[] split = new String[]{ string }; - if ( string.contains( ";" ) ) + String[] split = new String[]{ uri }; + if ( uri.contains( ";" ) ) { - split = string.split( ";" ); + split = uri.split( ";" ); channelIndex = Integer.parseInt( split[ 1 ] ); }