Closed emmenlau closed 9 years ago
Hi @emmenlau,
can you please send me the error with the newest build that you can download from here: http://jenkins.imagej.net/view/BigDataViewer/job/SPIM_Registration/ ?
Thanks!
Test is currently running, I will report more tomorrow! Happy evening...
Great
Slightly different error:
ZeissCZIReader initializing L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi [WARN] Unknown AcquisitionMode value 'SPIM' will be stored as "Other" [WARN] Unknown AcquisitionMode value 'SPIM' will be stored as "Other" [WARN] Unknown DetectorType value 'Camera' will be stored as "Other" [WARN] Unknown DetectorType value 'Camera' will be stored as "Other" java.lang.NullPointerException at spim.fiji.datasetmanager.LightSheetZ1MetaData.loadMetaData(LightSheetZ1MetaData.java:143) at spim.fiji.spimdata.imgloaders.LightSheetZ1ImgLoader.openCZI(LightSheetZ1ImgLoader.java:162) at spim.fiji.spimdata.imgloaders.LightSheetZ1ImgLoader.getFloatImage(LightSheetZ1ImgLoader.java:67) at spim.fiji.plugin.interestpointdetection.DifferenceOf.openAndDownsample(DifferenceOf.java:422) at spim.fiji.plugin.interestpointdetection.DifferenceOfGaussian.findInterestPoints(DifferenceOfGaussian.java:97) at spim.fiji.plugin.Interest_Point_Detection.detectInterestPoints(Interest_Point_Detection.java:167) at spim.fiji.plugin.Interest_Point_Detection.detectInterestPoints(Interest_Point_Detection.java:86) at spim.fiji.spimdata.explorer.popup.DetectInterestPointsPopup$MyActionListener$1.run(DetectInterestPointsPopup.java:55) at java.lang.Thread.run(Unknown Source) java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0: java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0 at spim.fiji.spimdata.imgloaders.LightSheetZ1ImgLoader.getFloatImage(LightSheetZ1ImgLoader.java:86) at spim.fiji.plugin.interestpointdetection.DifferenceOf.openAndDownsample(DifferenceOf.java:422) at spim.fiji.plugin.interestpointdetection.DifferenceOfGaussian.findInterestPoints(DifferenceOfGaussian.java:97) at spim.fiji.plugin.Interest_Point_Detection.detectInterestPoints(Interest_Point_Detection.java:167) at spim.fiji.plugin.Interest_Point_Detection.detectInterestPoints(Interest_Point_Detection.java:86) at spim.fiji.spimdata.explorer.popup.DetectInterestPointsPopup$MyActionListener$1.run(DetectInterestPointsPopup.java:55) at java.lang.Thread.run(Unknown Source)
Using spimdata version: 0.9-revision Using spimreconstruction version: 2.3.5-SNAPSHOT angles selected: 0, 90, 180, 270 channels selected: Laser 561, Laser 488 illuminations selected: 0, 1 Timepoints selected: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 (Tue May 05 22:39:19 GMT+02:00 2015): Requesting Img from ImgLoader (tp=0, setup=0) Investigating file 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi'. Closing czi: L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi An error occured parsing the main meta data: java.lang.NullPointerException. Stopping. Failed to analyze file: 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi'. An error occured (DOG): java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0: java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0 Failed to segment angleId: 0 channelId: 0 illumId: 0. Continuing with next one. Opening of files took: 0 sec. Detecting interest points took: 0 sec. (Wed May 06 00:30:19 GMT+02:00 2015): Updating metadata ...
I tried a bunch of other CZI datasets from the same Z.1, they all show consistently the same error.
It appears that there is either no global metadata or the particular metadata is missing when trying to parse the z extent of the image.
Probably a good idea to introduce a bit of defensive programming here... Instead of:
int d = (int)Math.round( Double.parseDouble( metaData.get( "Information|Image|V|View|SizeZ #" + (a+1) ).toString() ) );
it might make sense to do something like this:
private static double getDouble( final Hashtable< String, Object > metadata,
final String key ) {
if ( metadata == null )
throw new RuntimeException( "Missing metadata while looking for: " +
key );
final Object o = metadata.get( key );
if (o == null) {
final StringBuilder builder = new StringBuilder();
for ( final String candidate : metadata.keySet() )
builder.append( "\n" + candidate );
throw new RuntimeException( "Missing key " + key +
" in metadata; Available keys:" + builder );
}
return Double.parseDouble( o.toString() );
}
...
int d = (int)Math.round( getDouble( metaData,
"Information|Image|V|View|SizeZ #" + (a+1) );
The disadvantage is that it looks like more code. The advantages are that this function can be used broadly, without copy-editing, and that the users have a better chance to help improving the code immediately by including the (now useful) error message in their bug reports.
Just to verify, the initially created XML contains:
<size>1920 1920 787</size>
<voxelSize>
<unit>um</unit>
<size>0.642966091632843 0.642966091632843 1.2771568298339844</size>
</voxelSize>
Is this not the correct z extent?
This is extremely weird. I am not sure why it reads the metadata correctly the first time (when defining the dataset) and not the second time (when opening one of the stacks). Is there any chance you can get this dataset to me @emmenlau when I give you access to my fileserver? Otherwise it is really time-intensive to debug ...
@dscho ... I agree, this should not crash like this, it should show a more meaningful message for the user and the developer. I will fix that, thanks for the hints (I actually did a better job on non-essential metadata like calibration, channel names, rotation axis, etc. ). As this part of the metadata is absolutely essential - without the dimensions of the image, I cannot load it - I left it that horrible.
As this part of the metadata is absolutely essential - without the dimensions of the image, I cannot load it - I left it that horrible.
Especially in such a case you want any error message users might paste into their bug reports to be as helpful as possible, correct? In such critical code I would always pay particular attention to be more defensive rather than less.
Yes, I absolutely agree ... it will be fixed.
@emmenlau I sent you the login information, would be great if you could upload it. I will of course treat it confidential.
@StephanPreibisch I forwarded your request to the corresponding author of the data, and hope to get a response today. The smallest I could find is a 30GB czi. I will let you know when I performed to upload (or got a decline).
30GB would be fine ... meanwhile, can you try again with the newest build please?
With Last build (#216), from 15 min ago , I get the following Log when trying to define the dataset XML:
ZeissCZIReader initializing D:\MarioEmmenlauer\Datasets\zebrafish_beads0.5_4views\zebrafish_beads0.5_4views.czi
[WARN] Unknown AcquisitionMode value 'SPIM' will be stored as "Other"
[WARN] Unknown AcquisitionMode value 'SPIM' will be stored as "Other"
[WARN] Unknown DetectorType value 'Camera' will be stored as "Other"
[WARN] Unknown DetectorType value 'Camera' will be stored as "Other"
Available keys:
OffsetX|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Type|Detector|Instrument|Information #2
Type|Detector|Instrument|Information #1
SizeZ|View|V|Image|Information #4
PositionX|View|V|Image|Information #4
SizeZ|View|V|Image|Information #3
PositionX|View|V|Image|Information #3
SizeZ|View|V|Image|Information #2
PositionX|View|V|Image|Information #2
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Y #4
SizeZ|View|V|Image|Information #1
HdrImagingMode|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
PositionX|View|V|Image|Information #1
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Y #3
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Y #2
EmissionFilterRef|FilterSet|Instrument|Information|Id #2
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Y #1
EmissionFilterRef|FilterSet|Instrument|Information|Id #1
CameraIntegrationTime|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Model|Manufacturer|Detector|Instrument|Information #2
Model|Manufacturer|Detector|Instrument|Information #1
AxisOfRotation|V|Image|Information #1
CameraSuperSampling|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
ExcitationIntensity|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
ExcitationIntensity|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
StageOrientation|Calibration|ShuttleAndFindData|Data|Appliance|Y #1
TrackMultiplexType|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
CameraFrameHeight|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
AutoFocusMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #4
AutoFocusMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #3
AutoFocusMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #2
SimGratingPeriod|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
AutoFocusMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #1
Start|Interval|I|Image|Information #1
IncrementZ|View|V|Image|Information #4
IncrementZ|View|V|Image|Information #3
Gain|Detector|Instrument|Information #2
IncrementZ|View|V|Image|Information #2
Gain|Detector|Instrument|Information #1
IncrementZ|View|V|Image|Information #1
CenterWavelength|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
UseRois|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Instrument|Information|Id #1
Zoom|Detector|Instrument|Information #2
Zoom|Detector|Instrument|Information #1
LsmTag #13
LsmTag #12
LsmTag #11
LsmTag #10
Offset|Channel|Image|Information #2
Offset|Channel|Image|Information #1
CondensorAperture|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment|Name #2
Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment|Name #1
AmplificationGain|Detector|Instrument|Information #2
LsmTag #09
AmplificationGain|Detector|Instrument|Information #1
ScalingZ|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
LsmTag #08
LsmTag #07
LsmTag #06
LsmTag #05
LsmTag #04
LsmTag #03
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Z #4
LsmTag #02
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Z #3
LsmTag #01
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Z #2
LightSource|Channel|Image|Information|Id #4
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|Z #1
LightSource|Channel|Image|Information|Id #3
LightSource|Channel|Image|Information|Id #2
SinglePeak|IlluminationWavelength|Channel|Image|Information #2
LightSource|Channel|Image|Information|Id #1
SinglePeak|IlluminationWavelength|Channel|Image|Information #1
Wavelength|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
FilterSamplingNumber|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Wavelength|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
DigitalOffset|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
DigitalOffset|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Offset|View|V|Image|Information #4
Offset|View|V|Image|Information #3
PositionY|View|V|Image|Information #4
CameraFrameOffsetX|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Offset|View|V|Image|Information #2
PositionY|View|V|Image|Information #3
Offset|View|V|Image|Information #1
PositionY|View|V|Image|Information #2
PositionY|View|V|Image|Information #1
DimensionX|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
LensNA|Objective|Instrument|Information #1
Position|Scene|S|Image|Information|X #1
Objective|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Detector|Channel|Image|Information|Id #2
Detector|Channel|Image|Information|Id #1
SizeX|Image|Information #1
EmissionWavelength|Channel|Image|Information #2
EmissionWavelength|Channel|Image|Information #1
TileAcquisitionOverlap|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #4
FitFramesizeToRoi|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
TileAcquisitionOverlap|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #3
TileAcquisitionOverlap|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #2
Name|Document|Information #1
TileAcquisitionOverlap|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #1
RtRegionWidth|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
SimRotations|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Color|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Color|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Binning|Channel|Image|Information #2
Binning|Channel|Image|Information #1
MicroscopeRef|Image|Information|Id #1
BiDirectionalZ|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
OriginalScanData|Image|Information #1
FilterSet|Instrument|Information|Id #2
FilterSet|Instrument|Information|Id #1
TilesY|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #4
RtRegionHeight|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
TilesY|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #3
TilesY|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #2
TilesY|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #1
PureRatioSource|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
PureRatioSource|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
AcquisitionMode|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
IlluminationType|Channel|Image|Information #2
IlluminationType|Channel|Image|Information #1
Marker|Calibration|ShuttleAndFindData|Data|Appliance|StageYPosition #3
Marker|Calibration|ShuttleAndFindData|Data|Appliance|StageYPosition #2
Marker|Calibration|ShuttleAndFindData|Data|Appliance|StageYPosition #1
OffsetY|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
RtSuperSampling|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
NominalMagnification|Objective|Instrument|Information #1
ObjectiveRef|Image|Information|Id #1
SubType|Document|Information #1
Appliance|Id #1
Filter|Instrument|Information|Id #2
Filter|Instrument|Information|Id #1
PositionZ|View|V|Image|Information #4
PositionZ|View|V|Image|Information #3
Marker|Calibration|ShuttleAndFindData|Data|Appliance|Id #3
ScalingX|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
PositionZ|View|V|Image|Information #2
Marker|Calibration|ShuttleAndFindData|Data|Appliance|Id #2
DimensionT|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
PositionZ|View|V|Image|Information #1
Marker|Calibration|ShuttleAndFindData|Data|Appliance|Id #1
StackBrightnessCorrection|ZStackSetup|AcquisitionBlock|Experiment #1
Position|Scene|S|Image|Information|Y #1
Rotation|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Scene|S|Image|Information|Index #1
Extrapolate|ZStackSetup|AcquisitionBlock|Experiment #1
Amplitude|Channel|Image|Information #2
Amplitude|Channel|Image|Information #1
DigitalGain|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
DigitalGain|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
SizeC|Image|Information #1
Medium|Image|Information #1
View|V|Image|Information|V #4
View|V|Image|Information|V #3
View|V|Image|Information|V #2
FocusStabilizer|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
View|V|Image|Information|V #1
SinglePeak|DetectionWavelength|Channel|Image|Information #2
DigitalGain|Channel|Image|Information #2
SinglePeak|DetectionWavelength|Channel|Image|Information #1
DigitalGain|Channel|Image|Information #1
Filterset|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Filterset|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Attenuation|Channel|Image|Information #4
Attenuation|Channel|Image|Information #3
FilterTransmission|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Attenuation|Channel|Image|Information #2
HdrNumFrames|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Attenuation|Channel|Image|Information #1
HdrEnabled|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
DetectorMode|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
DetectorMode|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
TransmittedLightLampIntensity|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
TirfAngle|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
RtOffsetX|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
SpectralScanChannels|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
SpectralScanChannels|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Model|Manufacturer|Objective|Instrument|Information #1
Immersion|Objective|Instrument|Information #1
DisplayName|User|Information #1
LsmTag|Type #13
Rating|Document|Information #1
LsmTag|Type #12
LsmTag|Type #11
LsmTag|Type #10
DeviceMode|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
DetectorIdentifier|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
DetectorIdentifier|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Wavelength|Channel|Image|Information #4
Wavelength|Channel|Image|Information #3
Wavelength|Channel|Image|Information #2
Wavelength|Channel|Image|Information #1
Detector|Instrument|Information|Id #2
LsmTag|Type #09
RtLinePeriod|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Detector|Instrument|Information|Id #1
LsmTag|Type #08
LsmTag|Type #07
LsmTag|Type #06
LsmTag|Type #05
LsmTag|Type #04
LsmTag|Type #03
LsmTag|Type #02
LsmTag|Type #01
Increment|Interval|View|MultiView|Z|Image|Information #4
Increment|Interval|View|MultiView|Z|Image|Information #3
Position|Scene|S|Image|Information|Z #1
View|MultiView|Z|Image|Information|V #4
Increment|Interval|View|MultiView|Z|Image|Information #2
View|MultiView|Z|Image|Information|V #3
Increment|Interval|View|MultiView|Z|Image|Information #1
View|MultiView|Z|Image|Information|V #2
View|MultiView|Z|Image|Information|V #1
CameraFrameOffsetY|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
ZoomX|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Track|Image|Information|Id #1
StartPosition|I|Image|Information #1
StartPosition|V|Image|Information #1
DimensionY|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
LaserPower|Laser|AcquisitionBlock|Experiment #3
LaserPower|Laser|AcquisitionBlock|Experiment #2
Start|Interval|View|MultiView|Z|Image|Information #4
LaserPower|Laser|AcquisitionBlock|Experiment #1
Start|Interval|View|MultiView|Z|Image|Information #3
PixelPeriod|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Start|Interval|View|MultiView|Z|Image|Information #2
Channel|Image|Information|Id #2
Start|Interval|View|MultiView|Z|Image|Information #1
Channel|Image|Information|Id #1
Name|Application|Information #1
TileAcquisitionMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #4
TileAcquisitionMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #3
TileAcquisitionMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #2
TimeSeries|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
ContrastMethod|Channel|Image|Information #2
RtFrameWidth|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
TileAcquisitionMode|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #1
ContrastMethod|Channel|Image|Information #1
MicroscopeType|Calibration|ShuttleAndFindData|Data|Appliance #1
FilterMethod|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
CreationDate|Document|Information #1
SizeZ|Image|Information #1
StartPosition|Z|Image|Information #1
CameraBinning|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
PixelType|Image|Information #1
LaserSuppression|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
LaserSuppression|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
AmplifierOffset|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Distance|Scaling|Id #3
AmplifierOffset|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Distance|Scaling|Id #2
Distance|Scaling|Id #1
RefractiveIndex|Image|Information #1
AmplifierGain|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
AmplifierGain|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
ExperimentBlockIndex|Experiment #1
NALightSheet|Channel|Image|Information #2
NALightSheet|Channel|Image|Information #1
FieldStopPosition|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Objective|Instrument|Information|Id #1
ReflectedLightLampIntensity|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Filter|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment|Name #1
Filter|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
OffsetZ|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
CondensorFrontlensPosition|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
UserName|Document|Information #1
Channel|Image|Information|Name #2
Channel|Image|Information|Name #1
Voltage|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Voltage|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
HdrIntensity|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Filter|Instrument|Information|Name #2
ScalingY|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Filter|Instrument|Information|Name #1
LsmTag|Name #13
LsmTag|Name #12
ComponentBitCount|Image|Information #1
LsmTag|Name #11
LsmTag|Name #10
AcquisitionMode|Channel|Image|Information #2
Version|Application|Information #1
AcquisitionMode|Channel|Image|Information #1
PalmSlider|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
InterpolationY|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
LaserSuppressionMode|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
LsmTag|Name #09
LsmTag|Name #08
Interpolation|ZStackSetup|AcquisitionBlock|Experiment #1
LsmTag|Name #07
LsmTag|Name #06
LsmTag|Name #05
LsmTag|Name #04
LsmTag|Name #03
Increment|Interval|I|Image|Information #1
LsmTag|Name #02
LsmTag|Name #01
RtBinning|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
LaserName|Laser|AcquisitionBlock|Experiment #3
LaserName|Laser|AcquisitionBlock|Experiment #2
LaserName|Laser|AcquisitionBlock|Experiment #1
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|X #4
PinholeDiameter|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|X #3
PinholeDiameter|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
RtZoom|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|X #2
Position|PositionGroup|TilesSetup|AcquisitionBlock|Experiment|X #1
PreScan|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
Value|Distance|Scaling #3
Microscope|Instrument|Information|Id #1
Value|Distance|Scaling #2
Value|Distance|Scaling #1
LaserSuppression|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
LaserSuppression|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Laser|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Laser|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
RtFrameHeight|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
SizeV|Image|Information #1
StageOrientation|Calibration|ShuttleAndFindData|Data|Appliance|X #1
RtOffsetY|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
CameraFrameWidth|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
AutoFocusOffset|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #4
AutoFocusOffset|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #3
AutoFocusOffset|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #2
AutoFocusOffset|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #1
Gain|Channel|Image|Information #2
Gain|Channel|Image|Information #1
Marker|Calibration|ShuttleAndFindData|Data|Appliance|FocusPosition #3
Marker|Calibration|ShuttleAndFindData|Data|Appliance|FocusPosition #2
Version #1
Marker|Calibration|ShuttleAndFindData|Data|Appliance|FocusPosition #1
Palette|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Palette|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
AttachmentName|BinaryList|T|Image|Information #1
ChannelRef|Track|Image|Information|Id #2
ChannelRef|Track|Image|Information|Id #1
Identifier|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #3
Transmission|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Identifier|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
Transmission|Attenuator|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Identifier|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
BitsPerSample|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
System|Microscope|Instrument|Information #1
BiDirectional|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
CenterPosition|V|Image|Information #1
SizeY|Image|Information #1
ZoomY|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
BeamSplitterServoPosition|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #3
BeamSplitterServoPosition|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
BeamSplitterServoPosition|BeamSplitter|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
Marker|Calibration|ShuttleAndFindData|Data|Appliance|StageXPosition #3
Marker|Calibration|ShuttleAndFindData|Data|Appliance|StageXPosition #2
Marker|Calibration|ShuttleAndFindData|Data|Appliance|StageXPosition #1
DimensionZ|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
TilesX|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #4
TilesX|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #3
TilesX|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #2
TilesX|PositionGroup|TilesSetup|AcquisitionBlock|Experiment #1
Title|Document|Information #1
PhotonConversionFactor|Channel|Image|Information #2
PhotonConversionFactor|Channel|Image|Information #1
FilterMode|AcquisitionModeSetup|AcquisitionBlock|Experiment #1
ImageChannelName|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #2
FilterSet|Channel|Image|Information|Id #2
ImageChannelName|Detector|TrackSetup|MultiTrackSetup|AcquisitionBlock|Experiment #1
FilterSet|Channel|Image|Information|Id #1
java.lang.RuntimeException: Missing key Information|Image|V|View|SizeZ #1 in LZ1 metadata
at spim.fiji.datasetmanager.LightSheetZ1MetaData.getDouble(LightSheetZ1MetaData.java:368)
at spim.fiji.datasetmanager.LightSheetZ1MetaData.loadMetaData(LightSheetZ1MetaData.java:143)
at spim.fiji.datasetmanager.LightSheetZ1MetaData.loadMetaData(LightSheetZ1MetaData.java:78)
at spim.fiji.datasetmanager.LightSheetZ1.createDataset(LightSheetZ1.java:74)
at spim.fiji.plugin.Define_Multi_View_Dataset.defineDataset(Define_Multi_View_Dataset.java:105)
at spim.fiji.plugin.Data_Explorer.run(Data_Explorer.java:53)
at ij.IJ.runUserPlugIn(IJ.java:199)
at ij.IJ.runPlugIn(IJ.java:163)
at ij.Executer.runCommand(Executer.java:131)
at ij.Executer.run(Executer.java:64)
at java.lang.Thread.run(Unknown Source)
```
How can this key vanish? Mmh ... well, having the file would solve it very quickly :) Let's wait for that instead of wasting time now.
What is your workflow? Maybe I can reproduce the error with my LZ1 files ... I wasn't able so fart
Oh I think I know what might have happened. When did you define this dataset?
The original error I reported beginning of this week was from a dataset that I defined a few weeks back. Then yesterday I assumed that maybe the (old) XML was not compatible anymore, so I tried to define the dataset anew, and also tried to define new, previously unused (smaller) czi files. The error I received was very similar (I assumed it is the same). Was it a different error? I.e. the last error I just posted 5 minutes ago was from defining the dataset anew, whereas the sizes I posted a few hours back where from the old definition.
I am completely puzzled. I tried with my own LZ1 file, twice. First time it worked, then I got the same error.
OK, I got it. It fails within Fiji, but works when I call it from Eclipse. Different versions of Bioformats seem to create different key names for the same information. I will implement a work-around ...
Two thumbs up for spotting the problem! Looking forward to a test!
This commit https://github.com/bigdataviewer/SPIM_Registration/commit/d10db40f989c20ec07b3d615f4a2965e20c573d2 fixes it for my LZ1 czi files. Can you please try again with the newest build @emmenlau?
I also filed an issue for bioformats regarding this issue https://github.com/openmicroscopy/bioformats/issues/1782
With Last build (#217), from 4 min 35 sec ago, my mileage is quite good, I can progress beyond the previous error. I will try to test more and then report back again, but my (preliminary) first impression is positive...
I think that should be it and I will close this issue for now. Thanks so much for reporting @emmenlau and thanks for the help @dscho! I will draft a new release so everybody will have this bugfix.
Different versions of Bioformats seem to create different key names for the same information.
Yep, the key names should not be considered stable, and are not supposed to be used for extracting metadata. You may have more breakages in the future.
The original idea was that there would always be (ideally format-agnostic, but also format-specific as needed) type-safe accessor methods for that stuff. But Bio-Formats often does not provide such methods—SCIFIO is making a really serious concerted effort to be better about that (right @hinerm? ;-).
Unfortunately, it seems the API does have no way to extract this kind of metadata right now ... but now that I know it will be easy to fix in the future
I wasn't able so fart
Nice Freudian... :blush:
SCIFIO is making a really serious concerted effort to be better about that (right @hinerm? ;-).
And a much appreciated effort at that. I just wish more scientists would support that effort actively.
I'm using Multiview Registration, trying to fuse a large czi series. It opens the file with Bio-Formats, which at first works fine, and the XML gets created. But when I start interest point detection, I get (attached) error about a RuntimeException in spim.fiji.spimdata.imgloaders.LightSheetZ1ImgLoader.getFloatImage().
ZeissCZIReader initializing L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi [WARN] Unknown AcquisitionMode value 'SPIM' will be stored as "Other" [WARN] Unknown AcquisitionMode value 'SPIM' will be stored as "Other" [WARN] Unknown DetectorType value 'Camera' will be stored as "Other" [WARN] Unknown DetectorType value 'Camera' will be stored as "Other" java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0: java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0 at spim.fiji.spimdata.imgloaders.LightSheetZ1ImgLoader.getFloatImage(LightSheetZ1ImgLoader.java:86) at spim.fiji.plugin.interestpointdetection.DifferenceOf.openAndDownsample(DifferenceOf.java:422) at spim.fiji.plugin.interestpointdetection.DifferenceOfGaussian.findInterestPoints(DifferenceOfGaussian.java:97) at spim.fiji.plugin.Interest_Point_Detection.detectInterestPoints(Interest_Point_Detection.java:167) at spim.fiji.plugin.Interest_Point_Detection.detectInterestPoints(Interest_Point_Detection.java:86) at spim.fiji.spimdata.explorer.popup.DetectInterestPointsPopup$MyActionListener$1.run(DetectInterestPointsPopup.java:55) at java.lang.Thread.run(Unknown Source)
Using spimdata version: 0.9-revision Using spimreconstruction version: 2.3.4 angles selected: 0, 90, 180, 270 channels selected: Laser 561, Laser 488 illuminations selected: 0, 1 Timepoints selected: 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46 Closing czi: L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi Cannot load CUDA JNA library. (Tue May 05 14:21:23 GMT+02:00 2015): Requesting Img from ImgLoader (tp=0, setup=0) Investigating file 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi'. An error occured parsing the main meta data: java.lang.NullPointerException . Stopping. Failed to analyze file: 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi'. An error occured (DOG): java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0: java.lang.RuntimeException: Could not load 'L:\MarioEmmenlauer\Datasets\drlGFP-lmo2Red-7ss..\drlGFP lmo2Red 7ss.czi' viewId=0, tpId=0 Failed to segment angleId: 0 channelId: 0 illumId: 0. Continuing with next one. Opening of files took: 0 sec. Detecting interest points took: 0 sec. (Tue May 05 16:10:03 GMT+02:00 2015): Updating metadata ...