NOTICE! This is a static HTML version of a legacy LOCI Software ticket.

LOCI projects are now located on GitHub. The Bio-Formats project can be found here.

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:


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.

Change History

comment:1 Changed 2008-03-04T15:17:33-06:00 by curtis

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.

comment:2 Changed 2008-03-05T09:01:00-06:00 by melissa

  • Status changed from new to closed
  • Resolution set to fixed

r3769. ICS files with SizeC > 4 now take 30-60 ms per plane, at the price of slightly higher memory consumption (4 MB for ics/nico/rotifer488spectral.ics).