Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #7309 (closed)

Opened 8 years ago

Closed 6 years ago

Last modified 6 years ago

Find a home for BigEndian and other needed core metadata

Reported by: crueden-x Owned by: ajpatterson
Priority: major Milestone: 5.0.0-beta1
Component: Specification Version: n.a.
Keywords: schema, xsd-2013-1 Cc: mlinkert, jamoore, jburel
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: n.a.

Description

Bio-Formats needs certain core metadata in order to work with byte arrays. In particular, you have to know if a given byte buffer is big or little endian in order to decode it. You also need to know if it is interleaved, and how many components there are (e.g., for 8-bit RGB planes, the data is actually 24 total bits per pixel, patterned RGBRGBRGB...).

The OME schema unfortunately never had a place for this information. There was a BigEndian? field of BinData?, but we have now deprecated that (see #6858). So we need to create locations in the OME schema to store BigEndian? (boolean), and InterleavedChannelCount? (integer, default 1). My vote is Pixels (where BigEndian? used to live IIRC).

Change History (8)

comment:1 Changed 7 years ago by ajpatterson

  • Keywords schema added
  • Milestone changed from OMERO-4.4 to OMERO-4.5

comment:2 Changed 7 years ago by ajpatterson

  • Component changed from Model to Specification

comment:3 Changed 6 years ago by crueden-x

The motivation for this ticket was due to the fact that Bio-Formats uses an OME Metadata object (which is derived from OME-XML via xsd-fu code generation) when exporting. If you want to export e.g. 16-bit data, you have to know whether the byte[] planes being fed to IFormatWriter.saveBytes are big-endian or little-endian in nature.

However, with the SCIFIO refactoring, that coupling between OME-XML and the core architecture will be relaxed. The SCIFIO export layer is not yet written, but I expect that going forward, it will be based on the core ImageMetadata/DatasetMetadata? (formerly "CoreMetadata?") rather than the OME-XML-specific metadata objects.

So in short, I think this ticket will be made obsolete by the SCIFIO work, and it is not worth worrying about anymore.

comment:4 Changed 6 years ago by ajpatterson

From email: Melissa gave a +1 to the following values:

/** Number of valid bits per pixel. */
 public int bitsPerPixel;
 /** Indicates whether or not each pixel's bytes are in little endian order. */
 public boolean littleEndian;
 /** True if channels are stored RGBRGBRGB...; false if channels are stored
     RRR...GGG...BBB... */
 public boolean interleaved;

comment:5 Changed 6 years ago by ajpatterson

  • Keywords xsd-2013-1 added

comment:6 Changed 6 years ago by ajpatterson

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

After discussion with Melissa, Curtis, Roger & Andrew: Adding Interleaved and BigEndian? to Pixels.

See: https://github.com/openmicroscopy/bioformats/pull/424

comment:7 Changed 6 years ago by Andrew J Patterson <workonly@…>

(In [10ffb0a4d413d6baa3733b01d53f6f428f205393/ome.git] on branch develop) Adding Interleaved to Pixels, see #7309

comment:8 Changed 6 years ago by Andrew J Patterson <workonly@…>

(In [d9e13eb2cb217fca4409fa4fad0c6ade1fcf09e3/ome.git] on branch develop) Adding BigEndian? to Pixels, see #7309

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.79126 sec.)

We're Hiring!