[ome-devel] Is OME-TIF file with 2 image series of different pixel types supported?

Roger Leigh rleigh at dundee.ac.uk
Fri Dec 2 15:40:47 GMT 2016


On 01/12/16 15:26, Michael Ellis wrote:
> Dear Roger
>
> The main body of my code can be seen
> here: https://cloud.karyotyper.com/s/K9SoEKgLOcbgwTg
>
> CaptureImages is essential a sorted ArrayList of CaptureImage
> CapturedImage is a BufferImage that has a Map<String, Object> associated
> with it for additional image properties such as channel name, colour,
> stage position, exposure time etc.
>
> My BioFormatsWriter class interrogates those extra image properties to
> build the extra metadata.
>
> Because BioFormats has to have all metadata constructed before writing
> the pixel data, this  BioFormatsWriter simple implementation
> construct all the metadata as each image series is added with the
> addSeries() method, and then actually writes the images data when it
> gets to the close() method.

I checked through the OMETiffWriter code, and unfortunately it does
require all the image series' to be present up-front.

https://github.com/openmicroscopy/bioformats/blob/develop/components/formats-bsd/src/loci/formats/out/OMETiffWriter.java#L218

This could potentially be made more general, but will require more
thought about its implications.  The writer is currently oblivious to
the subsequently added image series', which is why it's unfortunately
not working properly as it stands.

> Some pointers in regards to what “is not facet-valid with respect to
> pattern '(urn:lsid:([\w\-\.]+\.[\w\-\.]+)+:\S+:\S+)|(\S+:\S+)’” would be
> much appreciated too.

Here the above regular expression is used to validate the "ID"
attributes for various elements.  The default is to match the (\S+:\S+)
pattern by using identifiers like "Instrument:0", "Channel:1",
"FilterSet:2" and so on.  I think use of "Fitc" and "TxRed" as Filter
IDs is not matching; you could use e.g. "Model" here as a description,
though the most user-visible place is probably on Channel "Name" if you
want it visible in user interfaces.  The same applies to
"EmulatedCamera_0" on Detector; this is expecting Detector:n as the ID;
"Model" is likely the most appropriate attribute here for the camera
name.  A shorthand Name attribute would perhaps be a convenient addition
to the model for these components, as a shorthand reference, since the
ID is essentially a primary key with a strict naming requirement.


I hope that helps, please let me know if there's anything you'd like
explaining further.


Regards,
Roger

--
Dr Roger Leigh -- Open Microscopy Environment
Wellcome Trust Centre for Gene Regulation and Expression,
College of Life Sciences, University of Dundee, Dow Street,
Dundee DD1 5EH Scotland UK   Tel: (01382) 386364

The University of Dundee is a registered Scottish Charity, No: SC015096


More information about the ome-devel mailing list