@@ -53,49 +53,48 @@ public BioFormatsImageData( String uri, SharedQueue sharedQueue )
5353 .setSerie ( i )
5454 .useBFMemo ( false );
5555
56- // Throws NPE, https://github.com/mobie/mobie-viewer-fiji/issues/1247
57- // if ( usePixelUnits )
58- // settings.unit( "pixel" );
56+ // https://github.com/mobie/mobie-viewer-fiji/issues/1247
57+ if ( usePixelUnits )
58+ settings .unit ( "pixel" );
5959
6060 settingsList .add ( settings );
6161 }
6262
6363 AbstractSpimData < ? > spimData = OpenersToSpimData .getSpimData ( settingsList );
6464
65- // Since the above throws a NPE, we resort to
66- if ( usePixelUnits )
67- setAllVoxelUnitsToPixel ( spimData );
68-
6965 return spimData ;
7066 }
7167 } );
7268 this .uri = uri ;
7369 this .sharedQueue = sharedQueue ;
7470 }
7571
76- private static void setAllVoxelUnitsToPixel (AbstractSpimData <?> spimData ) {
77-
78- spimData .getSequenceDescription ().getViewSetupsOrdered ().forEach (setup -> {
79- final Method setVoxelSize ;
72+ // NB: this is not used anymore because doing it in OpenersToSpimData works now.
73+ // But I will keep it here because it might be useful in the future.
74+ private static void setAllVoxelUnitsToPixel (AbstractSpimData <?> spimData )
75+ {
76+ spimData .getSequenceDescription ().getViewSetupsOrdered ().forEach (setup ->
77+ {
8078 try
8179 {
82- setVoxelSize = BasicViewSetup .class .getDeclaredMethod ("setVoxelSize" , VoxelDimensions .class );
80+ final Method setVoxelSize ;
81+ setVoxelSize = BasicViewSetup .class .getDeclaredMethod ( "setVoxelSize" , VoxelDimensions .class );
82+ setVoxelSize .setAccessible ( true );
83+
84+ try {
85+ final double [] dims = new double [ setup .getVoxelSize ().numDimensions () ];
86+ Arrays .fill ( dims ,1.0 );
87+ setVoxelSize .invoke ( setup , new FinalVoxelDimensions ( "pixel" , dims ) );
88+ }
89+ catch ( Exception e )
90+ {
91+ throw new RuntimeException ( "Failed to set voxel size for setup " + setup .getId (), e );
92+ }
8393 }
8494 catch ( NoSuchMethodException ex )
8595 {
8696 throw new RuntimeException ( ex );
8797 }
88- setVoxelSize .setAccessible (true );
89-
90- try {
91- final double [] dims = new double [setup .getVoxelSize ().numDimensions ()];
92- Arrays .fill (dims ,1.0 );
93- setVoxelSize .invoke (setup , new FinalVoxelDimensions ("pixel" , dims ));
94- }
95- catch ( Exception e )
96- {
97- throw new RuntimeException ("Failed to set voxel size for setup " + setup .getId (), e );
98- }
99- });
98+ } );
10099 }
101100}
0 commit comments