Ticket #255 (closed defect: fixed)
Opened 2008-03-04T13:50:51-06:00
Last modified 2008-03-05T09:01:00-06:00
ICS reader performs poorly with highly multichannel ICS datasets
Reported by: | curtis | Owned by: | melissa |
---|---|---|---|
Priority: | major | Milestone: | |
Component: | bio-formats | Severity: | serious |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
For datasets with SizeC > 4, ICSReader takes multiple seconds per plane to read the image data. For an example, see data/ics/nico/rotifer488spectral.ics.
There are a number of ways to address this issue. One option might be to enforce a minimum buffer length (e.g., 8192 bytes) when reading from disk in RandomAccessStream. If many sequential or near-sequential short reads are requested, only the first one actually reads data, which is then cached and returned upon subsequent read calls (until we reach the end of the buffer).
Or maybe there is an easy fix specific to ICS, in this case.
Even for datasets with SizeC <= 4, performance is still sometimes much worse than what is given in the current .bioformats configuration files. This could be a difference in file I/O between Linux and Mac OS X. For an example, see 'data/ics/chris/Ils1 500 60 2 z.ics', which takes more than 800 ms per plane on my Mac OS X system, but is supposed to need less than 200 ms per plane.