Bio-Formats fails reading single-channel ics/ids dataset written by SVI Huygens

I noticed that ics/ids datasets written by #svi-huygens (latest version 18.10.0-p1) fail to open with Bio-Formats (version 6.0.0). Here is an example dataset consisting of two files:

When trying to open it (using drag-and-drop in Fiji, or via Bio-Formats Importer), I get the following stack trace:

(Fiji Is Just) ImageJ 2.0.0-rc-69/1.52i; Java 1.8.0_172 [64-bit]; Windows 7 6.1; 2937MB of 98139MB (2%)
 
java.lang.ArrayIndexOutOfBoundsException: 4
	at loci.formats.in.ICSReader.initFile(ICSReader.java:1504)
	at loci.formats.FormatReader.setId(FormatReader.java:1395)
	at loci.plugins.in.ImportProcess.initializeFile(ImportProcess.java:499)
	at loci.plugins.in.ImportProcess.execute(ImportProcess.java:142)
	at loci.plugins.in.Importer.showDialogs(Importer.java:140)
	at loci.plugins.in.Importer.run(Importer.java:76)
	at loci.plugins.LociImporter.run(LociImporter.java:78)
	at ij.IJ.runUserPlugIn(IJ.java:228)
	at ij.IJ.runPlugIn(IJ.java:192)
	at ij.IJ.runPlugIn(IJ.java:181)
	at HandleExtraFileTypes.openImage(HandleExtraFileTypes.java:499)
	at HandleExtraFileTypes.run(HandleExtraFileTypes.java:72)
	at ij.IJ.runUserPlugIn(IJ.java:228)
	at ij.IJ.runPlugIn(IJ.java:192)
	at ij.IJ.runPlugIn(IJ.java:181)
	at ij.io.Opener.openWithHandleExtraFileTypes(Opener.java:516)
	at ij.io.Opener.openImage(Opener.java:370)
	at ij.io.Opener.openImage(Opener.java:242)
	at ij.io.Opener.open(Opener.java:109)
	at ij.io.Opener.openAndAddToRecent(Opener.java:291)
	at ij.plugin.DragAndDrop.openFile(DragAndDrop.java:192)
	at ij.plugin.DragAndDrop.run(DragAndDrop.java:159)
	at java.lang.Thread.run(Thread.java:748)

The error message points at this line:

The same dataset opens via SCIFIO (File > Import > Image…) just fine.


Can anyone confirm this issue? And did someone encounter other problems with the combination of latest versions of SVI Huygens and Bio-Formats?

Thanks @imagejan, I have been able to reproduce the same issue with the sample dataset you linked and the latest Bio-Formats (6.0.1). I have created a card on the Bio-Formats Trello board for this issue (https://trello.com/c/xQW1FyGQ/361-ics-fails-to-read-single-channel-ics-ids-dataset-written-by-svi-huygens).

3 Likes

I opened a pull request here:


I also noticed that Huygens seems to have changed the way how it writes ics/ids datasets with the latest version, as I didn’t have issues opening files written some time ago. @SVI_Huygens can you provide some insight here?

Hi @imagejan
Thanks for pointing this out to us.
It seems that this issue is related to the new ‘p-dimension’ in ICS, which is introduced to support multi-detector data such as raw (Fast) Airyscan data (https://svi.nl/Array-Detector).

In an early version of Huygens 18.10, the unit for the p-dimension in the ICS file was an empty string " ", but in a later patch version, this was updated to having the unit ‘detector’.
The example dataset that you point to, seems to be generated with the first HUYGENS 18.10 patch-version, which indeed did not save any unit for the p-dimension in ICS. It seems that the Bio-Formats ICS reader failed to read the ICS file whenever the unit for a dimension was empty.

To be precise: this missing unit, is only the case for ICS files generated with Huygens 18.10.0p1 until 18.10.0p4 (November 2018 - January 2019).
ICS files generated with older versions of HUYGENS did not yet support the new p-dimension, and all newer HUYGENS versions save units for every dimension in the ICS file, including the p-dimension.

By the way: it seems that both the p-dimension and ch-dimension are interpreted and stacked as channels by the Bio-Formats ICS reader in ImageJ. Not sure if this is a limitation in the Bio-Formats ICS reader/ImageJ or if this an actual bug in the Bio-Formats reader?
For testing/development purposes, please consider the following ICS/IDS pair, which is a 3-channel Airyscan dataset (z-stack) with a p-dimension (detector) size of 32:

Best regards,

Remko Dijkstra
Product Manager Super-resolution
Scientific Volume Imaging b.v.
Makers of the Huygens Software

1 Like

Thanks for pointing this out. I must have missed the announcements of the patch versions.

What is the recommended channel that I can use to keep myself updated about the latest patches in SVI Huygens? A newsletter, announcements here on the forum, or should I monitor the Patches tab on the release notes page?

So from the release notes, it seems this was a known problem with “other software” (I assume mostly Bio-Formats) since at least January 7, 2019:

18.10.0p5
(7th January 2019)

  • (All) ICS writer:
    • Small adaptation in new image parameter to facilitate reading ICS files in other software.

I wonder why this apparently wasn’t reported to the Bio-Formats team until my report. From a company like @SVI_Huygens who mostly know their clients and their use of related software like Bio-Formats, I would expect that they at least notify developers via the public channels, since there is a high probability that their clients’ data (produced in the period where the issue existed) will be affected.