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.

Ticket #12121: 0002-specification-Add-Endian-enum.patch

File 0002-specification-Add-Endian-enum.patch, 5.2 KB (added by rleigh, 10 years ago)
  • components/formats-api/src/loci/formats/MetadataTools.java

    From 5d4aa8bedf84e40b942f40451d12a97c7c5e6317 Mon Sep 17 00:00:00 2001
    From: Roger Leigh <r.leigh@dundee.ac.uk>
    Date: Fri, 18 Apr 2014 17:22:05 +0100
    Subject: [PATCH 2/7] specification: Add Endian enum
    
    ---
     .../src/loci/formats/MetadataTools.java            |  3 ++-
     .../src/loci/formats/meta/MetadataConverter.java   |  4 ++--
     .../released-schema/2013-10-dev-2/ome.xsd          | 24 ++++++++++++++++++++--
     .../templates-java/OMEXMLMetadataImpl.template     |  8 ++++----
     4 files changed, 30 insertions(+), 9 deletions(-)
    
    diff --git a/components/formats-api/src/loci/formats/MetadataTools.java b/components/formats-api/src/loci/formats/MetadataTools.java
    index d5be396..114eb05 100644
    a b import ome.xml.meta.MetadataRoot; 
    5454import ome.xml.meta.OMEXMLMetadataRoot; 
    5555import ome.xml.model.BinData; 
    5656import ome.xml.model.enums.DimensionOrder; 
     57import ome.xml.model.enums.Endian; 
    5758import ome.xml.model.enums.EnumerationException; 
    5859import ome.xml.model.enums.PixelType; 
    5960import ome.xml.model.enums.SubChannelInterleaving; 
    public final class MetadataTools { 
    259260    int sizeY, int sizeZ, int sizeC, int sizeT, int samplesPerPixel) 
    260261  { 
    261262    store.setPixelsID(createLSID("Pixels", series), series); 
    262     store.setPixelsBigEndian(!littleEndian, series); 
     263    store.setPixelsEndian(!littleEndian ? Endian.BIG : Endian.LITTLE, series); 
    263264    try { 
    264265      store.setPixelsDimensionOrder( 
    265266        DimensionOrder.fromString(dimensionOrder), series); 
  • components/formats-api/src/loci/formats/meta/MetadataConverter.java

    diff --git a/components/formats-api/src/loci/formats/meta/MetadataConverter.java b/components/formats-api/src/loci/formats/meta/MetadataConverter.java
    index 6ef1c38..1ab1c70 100644
    a b public final class MetadataConverter { 
    858858        catch (NullPointerException e) { } 
    859859 
    860860        try { 
    861           Boolean bigEndian = src.getPixelsBigEndian(i); 
    862           dest.setPixelsBigEndian(bigEndian, i); 
     861          Endian endian = src.getPixelsEndian(i); 
     862          dest.setPixelsEndian(endian, i); 
    863863        } 
    864864        catch (NullPointerException e) { } 
    865865 
  • components/specification/released-schema/2013-10-dev-2/ome.xsd

    diff --git a/components/specification/released-schema/2013-10-dev-2/ome.xsd b/components/specification/released-schema/2013-10-dev-2/ome.xsd
    index 2ccb091..bd281cd 100644
    a b  
    416416                                        </xsd:restriction> 
    417417                                </xsd:simpleType> 
    418418                        </xsd:attribute> 
    419                         <xsd:attribute name="BigEndian" use="optional" type="xsd:boolean"> 
     419                        <xsd:attribute name="Endian" use="optional" type="Endian"> 
    420420                                <xsd:annotation> 
    421421                                        <xsd:documentation> 
    422                                                 This is true if the pixels data was written in BigEndian order. 
     422                                                This is Big if the pixels data was written in big endian order, or 
     423                                                Little if in little endian order. 
    423424 
    424425                                                If this value is present it should match the value used in BinData 
    425426                                                or TiffData. If it does not a reader should honour the value used 
     
    427428                                                files and is to allow for future storage solutions. 
    428429                                        </xsd:documentation> 
    429430                                </xsd:annotation> 
     431                                <xsd:simpleType> 
     432                                        <xsd:restriction base="xsd:string"> 
     433                                                <xsd:enumeration value="Big"/> 
     434                                                <xsd:enumeration value="Little"/> 
     435                                        </xsd:restriction> 
     436                                </xsd:simpleType> 
    430437                        </xsd:attribute> 
    431438                        <xsd:attribute name="SizeX" use="required" type="PositiveInt"> 
    432439                                <xsd:annotation> 
     
    14681475                        <xsd:enumeration value = "double-complex"/> 
    14691476                </xsd:restriction> 
    14701477        </xsd:simpleType> 
     1478 
     1479        <xsd:simpleType name="Endian"> 
     1480                <xsd:annotation> 
     1481                        <xsd:documentation> 
     1482                                The ordering of bits within a pixel 
     1483                        </xsd:documentation> 
     1484                </xsd:annotation> 
     1485                <xsd:restriction base="xsd:string"> 
     1486                        <xsd:enumeration value="Big"/> 
     1487                        <xsd:enumeration value="Little"/> 
     1488                </xsd:restriction> 
     1489        </xsd:simpleType> 
     1490 
    14711491        <xsd:simpleType name="Color"> 
    14721492                <xsd:annotation> 
    14731493                        <xsd:documentation> 
  • components/xsd-fu/templates-java/OMEXMLMetadataImpl.template

    diff --git a/components/xsd-fu/templates-java/OMEXMLMetadataImpl.template b/components/xsd-fu/templates-java/OMEXMLMetadataImpl.template
    index 1653e50..a1ea2f3 100644
    a b ${counter(k, o, v)}\ 
    441441 
    442442        public Boolean getPixelsBinDataBigEndian(int imageIndex, int binDataIndex) 
    443443        { 
    444     Boolean bigEndian = root.getImage(imageIndex).getPixels().getBigEndian(); 
    445     if (bigEndian != null) { 
    446       return bigEndian; 
     444    Endian endian = root.getImage(imageIndex).getPixels().getEndian(); 
     445    if (endian != null) { 
     446      return endian == Endian.BIG; 
    447447    } 
    448448                return root.getImage(imageIndex).getPixels().getBinData(binDataIndex).getBigEndian(); 
    449449        } 
    ${getter(k, o, prop, v)}\ 
    570570                        o1.setPixels(new Pixels()); 
    571571                } 
    572572                Pixels o2 = o1.getPixels(); 
    573                 o2.setBigEndian(bigEndian); 
     573                o2.setEndian(bigEndian ? Endian.BIG : Endian.LITTLE); 
    574574        } 
    575575 
    576576        public void setMaskBinData(byte[] binData, int ROIIndex, int shapeIndex) 

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

We're Hiring!