Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
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 12 years ago

Closed 11 years ago

Last modified 11 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 12 years ago by ajpatterson

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

comment:2 Changed 11 years ago by ajpatterson

  • Component changed from Model to Specification

comment:3 Changed 11 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 11 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 11 years ago by ajpatterson

  • Keywords xsd-2013-1 added

comment:6 Changed 11 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 11 years ago by Andrew J Patterson <workonly@…>

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

comment:8 Changed 11 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.69978 sec.)

We're Hiring!