I obtained multiple time series images using a Zeiss TIRF3 microscope and I would like to read the image acquisition information from each of those files.
I obtained some of the info using Fiji and bioformats, but it is very complicated to navigate. I may have one (488) or two (405 and 488) lasers on at once. I was able to write a quick java program to read the laser wavelength and exposure time for the time series, but the info I get is incomplete (e.g., I obtain the info from only one laser).
I would appreciate if you could help me find a way to read the info, or provide a java snippet I can use to add to the program.
The info I need is:
*Number of lasers active per channel (I may have one or two lasers on at a single time, usually only one channel)
*Power of each laser
*Camera gain (using a photometrics evolve 512 camera)
*Exposure time
What I tried so far:
I began using the file
http://trac.openmicroscopy.org.uk/ome/browser/bioformats.git/components/bio-formats/utils/PrintTimestamps.java as a template.
Assuming there is only one channel,
ServiceFactory factory = new ServiceFactory();
OMEXMLService service = factory.getInstance(OMEXMLService.class);
IMetadata meta = service.createOMEXMLMetadata();
meta.getPlaneExposureTime(0,0)
will give me the correct exposure time, while
meta.getChannelExcitationWavelength (0, 0)
will return 493 (one of the two lasers), regardless of the fact that there might be a second laser for that channel and
meta.getChannelExcitationWavelength (1, 0)
throws an IndexOutOfBoundsException exception
I can't use
meta.getLaserWavelength(0,0)
because
meta.getInstrumentCount()
returns 1, but
meta.getLightSourceCount(0)
returns 0
Any hint would be greatly appreciated!
Thanks,
Alex