46 #ifndef OME_XML_MODEL_PIXELS_H
47 #define OME_XML_MODEL_PIXELS_H
57 #include <ome/common/xml/dom/Document.h>
58 #include <ome/common/xml/dom/Element.h>
59 #include <ome/common/xml/dom/Node.h>
60 #include <ome/common/xml/dom/NodeList.h>
62 #include <ome/xml/model/MetadataOnly.h>
63 #include <ome/xml/model/detail/OMEModelObject.h>
64 #include <ome/xml/model/enums/DimensionOrder.h>
65 #include <ome/xml/model/enums/PixelType.h>
66 #include <ome/xml/model/primitives/PositiveFloat.h>
67 #include <ome/xml/model/primitives/PositiveInteger.h>
92 ome::compat::shared_ptr<Impl>
impl;
123 static ome::compat::shared_ptr< Pixels>
148 link (ome::compat::shared_ptr<Reference>& reference,
149 ome::compat::shared_ptr< ome::xml::model::OMEModelObject>&
object);
196 ome::compat::shared_ptr<double>
204 const ome::compat::shared_ptr<double>
220 ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>
228 const ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>
237 setPhysicalSizeY (ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>& physicalSizeY);
244 ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>
252 const ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>
261 setPhysicalSizeX (ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>& physicalSizeX);
268 ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>
276 const ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>
285 setPhysicalSizeZ (ome::compat::shared_ptr<ome::xml::model::primitives::PositiveFloat>& physicalSizeZ);
340 ome::compat::shared_ptr<bool>
348 const ome::compat::shared_ptr<bool>
357 setBigEndian (ome::compat::shared_ptr<bool>& bigEndian);
364 ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
372 const ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>
381 setSignificantBits (ome::compat::shared_ptr<ome::xml::model::primitives::PositiveInteger>& significantBits);
437 setID (
const std::string&
id);
444 ome::compat::shared_ptr<bool>
452 const ome::compat::shared_ptr<bool>
468 std::vector<ome::compat::shared_ptr<ome::xml::model::Channel> >::size_type
477 std::vector<ome::compat::shared_ptr<ome::xml::model::Channel> >&
486 const std::vector<ome::compat::shared_ptr<ome::xml::model::Channel> >&
496 ome::compat::shared_ptr<ome::xml::model::Channel>&
497 getChannel (std::vector<ome::compat::shared_ptr<ome::xml::model::Channel> >::size_type index);
506 const ome::compat::shared_ptr<ome::xml::model::Channel>&
507 getChannel (std::vector<ome::compat::shared_ptr<ome::xml::model::Channel> >::size_type index)
const;
517 setChannel (std::vector<ome::compat::shared_ptr<ome::xml::model::Channel> >::size_type index,
518 ome::compat::shared_ptr<ome::xml::model::Channel>& channel);
529 addChannel (ome::compat::shared_ptr<ome::xml::model::Channel>& channel);
541 removeChannel (ome::compat::shared_ptr<ome::xml::model::Channel>& channel);
548 std::vector<ome::compat::shared_ptr<ome::xml::model::BinData> >::size_type
557 std::vector<ome::compat::shared_ptr<ome::xml::model::BinData> >&
566 const std::vector<ome::compat::shared_ptr<ome::xml::model::BinData> >&
576 ome::compat::shared_ptr<ome::xml::model::BinData>&
577 getBinData (std::vector<ome::compat::shared_ptr<ome::xml::model::BinData> >::size_type index);
586 const ome::compat::shared_ptr<ome::xml::model::BinData>&
587 getBinData (std::vector<ome::compat::shared_ptr<ome::xml::model::BinData> >::size_type index)
const;
597 setBinData (std::vector<ome::compat::shared_ptr<ome::xml::model::BinData> >::size_type index,
598 ome::compat::shared_ptr<ome::xml::model::BinData>& binData);
609 addBinData (ome::compat::shared_ptr<ome::xml::model::BinData>& binData);
621 removeBinData (ome::compat::shared_ptr<ome::xml::model::BinData>& binData);
628 std::vector<ome::compat::shared_ptr<ome::xml::model::TiffData> >::size_type
637 std::vector<ome::compat::shared_ptr<ome::xml::model::TiffData> >&
646 const std::vector<ome::compat::shared_ptr<ome::xml::model::TiffData> >&
656 ome::compat::shared_ptr<ome::xml::model::TiffData>&
657 getTiffData (std::vector<ome::compat::shared_ptr<ome::xml::model::TiffData> >::size_type index);
666 const ome::compat::shared_ptr<ome::xml::model::TiffData>&
667 getTiffData (std::vector<ome::compat::shared_ptr<ome::xml::model::TiffData> >::size_type index)
const;
677 setTiffData (std::vector<ome::compat::shared_ptr<ome::xml::model::TiffData> >::size_type index,
678 ome::compat::shared_ptr<ome::xml::model::TiffData>& tiffData);
689 addTiffData (ome::compat::shared_ptr<ome::xml::model::TiffData>& tiffData);
701 removeTiffData (ome::compat::shared_ptr<ome::xml::model::TiffData>& tiffData);
708 ome::compat::shared_ptr<ome::xml::model::MetadataOnly>
716 const ome::compat::shared_ptr<ome::xml::model::MetadataOnly>
725 setMetadataOnly (ome::compat::shared_ptr<ome::xml::model::MetadataOnly>& metadataOnly);
732 std::vector<ome::compat::shared_ptr<ome::xml::model::Plane> >::size_type
741 std::vector<ome::compat::shared_ptr<ome::xml::model::Plane> >&
750 const std::vector<ome::compat::shared_ptr<ome::xml::model::Plane> >&
760 ome::compat::shared_ptr<ome::xml::model::Plane>&
761 getPlane (std::vector<ome::compat::shared_ptr<ome::xml::model::Plane> >::size_type index);
770 const ome::compat::shared_ptr<ome::xml::model::Plane>&
771 getPlane (std::vector<ome::compat::shared_ptr<ome::xml::model::Plane> >::size_type index)
const;
781 setPlane (std::vector<ome::compat::shared_ptr<ome::xml::model::Plane> >::size_type index,
782 ome::compat::shared_ptr<ome::xml::model::Plane>& plane);
793 addPlane (ome::compat::shared_ptr<ome::xml::model::Plane>& plane);
805 removePlane (ome::compat::shared_ptr<ome::xml::model::Plane>& plane);
830 const ome::compat::weak_ptr<ome::xml::model::Annotation>&
843 const ome::compat::weak_ptr<ome::xml::model::Annotation>&
845 const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
858 linkAnnotation (
const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
876 unlinkAnnotation (
const ome::compat::shared_ptr<ome::xml::model::Annotation>& annotation);
900 #endif // OME_XML_MODEL_PIXELS_H
Private implementation details of Pixels model object.
Definition: Pixels.cpp:100
OME model interface (abstract top-level container)
Definition: OMEModel.h:62
const std::string & getID() const
Get the ID property.
Definition: Pixels.cpp:821
void addBinData(ome::compat::shared_ptr< ome::xml::model::BinData > &binData)
Add BinData.
Definition: Pixels.cpp:953
std::vector< ome::compat::shared_ptr< ome::xml::model::Channel > >::size_type sizeOfChannelList() const
Get size of linked Channel list.
Definition: Pixels.cpp:856
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type sizeOfLinkedAnnotationList() const
Get size of linked Annotation list.
Definition: Pixels.cpp:1109
void setMetadataOnly(ome::compat::shared_ptr< ome::xml::model::MetadataOnly > &metadataOnly)
Set the MetadataOnly property.
Definition: Pixels.cpp:1044
void setTimeIncrement(ome::compat::shared_ptr< double > &timeIncrement)
Set the TimeIncrement property.
Definition: Pixels.cpp:632
bool linkAnnotation(const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Link Annotation.
Definition: Pixels.cpp:1137
const ome::xml::model::primitives::PositiveInteger & getSizeX() const
Get the SizeX property.
Definition: Pixels.cpp:702
ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > getSignificantBits()
Get the SignificantBits property.
Definition: Pixels.cpp:765
const ome::xml::model::primitives::PositiveInteger & getSizeC() const
Get the SizeC property.
Definition: Pixels.cpp:786
void setBinData(std::vector< ome::compat::shared_ptr< ome::xml::model::BinData > >::size_type index, ome::compat::shared_ptr< ome::xml::model::BinData > &binData)
Set BinData.
Definition: Pixels.cpp:944
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: Pixels.cpp:322
void addTiffData(ome::compat::shared_ptr< ome::xml::model::TiffData > &tiffData)
Add TiffData.
Definition: Pixels.cpp:1011
bool link(ome::compat::shared_ptr< Reference > &reference, ome::compat::shared_ptr< ome::xml::model::OMEModelObject > &object)
Link a given OME model object to this model object.
Definition: Pixels.cpp:552
ome::compat::shared_ptr< ome::xml::model::primitives::PositiveFloat > getPhysicalSizeZ()
Get the PhysicalSizeZ property.
Definition: Pixels.cpp:681
Pixels()
Default constructor.
Definition: Pixels.cpp:282
virtual ~Pixels()
Destructor.
Definition: Pixels.cpp:301
void setType(const ome::xml::model::enums::PixelType &type)
Set the Type property.
Definition: Pixels.cpp:814
OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type getLinkedAnnotationList() const
Get the linked Annotation list.
Definition: Pixels.cpp:1115
void setPlane(std::vector< ome::compat::shared_ptr< ome::xml::model::Plane > >::size_type index, ome::compat::shared_ptr< ome::xml::model::Plane > &plane)
Set Plane.
Definition: Pixels.cpp:1081
void removeBinData(ome::compat::shared_ptr< ome::xml::model::BinData > &binData)
Remove BinData.
Definition: Pixels.cpp:961
std::vector< ome::compat::shared_ptr< ome::xml::model::Plane > >::size_type sizeOfPlaneList() const
Get size of linked Plane list.
Definition: Pixels.cpp:1051
void removeTiffData(ome::compat::shared_ptr< ome::xml::model::TiffData > &tiffData)
Remove TiffData.
Definition: Pixels.cpp:1019
void setPhysicalSizeX(ome::compat::shared_ptr< ome::xml::model::primitives::PositiveFloat > &physicalSizeX)
Set the PhysicalSizeX property.
Definition: Pixels.cpp:674
DOM Document wrapper.
Definition: Document.h:83
ome::compat::shared_ptr< ome::xml::model::primitives::PositiveFloat > getPhysicalSizeY()
Get the PhysicalSizeY property.
Definition: Pixels.cpp:639
DOM Element wrapper.
Definition: Element.h:66
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
std::vector< ome::compat::shared_ptr< ome::xml::model::Plane > > & getPlaneList()
Get the Plane list.
Definition: Pixels.cpp:1057
boost::multi_index_container< Ptr< T >, boost::multi_index::indexed_by< boost::multi_index::random_access<>, boost::multi_index::ordered_unique< boost::multi_index::identity< Ptr< T > >, ome::compat::owner_less< Ptr< T > > > > > type
Multi-index container type.
Definition: OMEModelObject.h:94
void setSizeZ(const ome::xml::model::primitives::PositiveInteger &sizeZ)
Set the SizeZ property.
Definition: Pixels.cpp:737
void addChannel(ome::compat::shared_ptr< ome::xml::model::Channel > &channel)
Add Channel.
Definition: Pixels.cpp:895
void setPhysicalSizeY(ome::compat::shared_ptr< ome::xml::model::primitives::PositiveFloat > &physicalSizeY)
Set the PhysicalSizeY property.
Definition: Pixels.cpp:653
ome::compat::shared_ptr< Impl > impl
Private implementation details.
Definition: Pixels.h:90
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: Pixels.cpp:1442
void setSizeY(const ome::xml::model::primitives::PositiveInteger &sizeY)
Set the SizeY property.
Definition: Pixels.cpp:723
ome::xml::model::enums::PixelType & getType()
Get the Type property.
Definition: Pixels.cpp:800
std::vector< ome::compat::shared_ptr< ome::xml::model::TiffData > > & getTiffDataList()
Get the TiffData list.
Definition: Pixels.cpp:978
void setTiffData(std::vector< ome::compat::shared_ptr< ome::xml::model::TiffData > >::size_type index, ome::compat::shared_ptr< ome::xml::model::TiffData > &tiffData)
Set TiffData.
Definition: Pixels.cpp:1002
ome::compat::shared_ptr< ome::xml::model::TiffData > & getTiffData(std::vector< ome::compat::shared_ptr< ome::xml::model::TiffData > >::size_type index)
Get TiffData.
Definition: Pixels.cpp:990
const ome::compat::weak_ptr< ome::xml::model::Annotation > & setLinkedAnnotation(OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type index, const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Set linked Annotation.
Definition: Pixels.cpp:1127
DimensionOrder enumeration.
Definition: DimensionOrder.h:69
bool unlinkAnnotation(const ome::compat::shared_ptr< ome::xml::model::Annotation > &annotation)
Unlink Annotation.
Definition: Pixels.cpp:1151
ome::compat::shared_ptr< ome::xml::model::primitives::PositiveFloat > getPhysicalSizeX()
Get the PhysicalSizeX property.
Definition: Pixels.cpp:660
Multi-index container for efficient ordered insertion and deletion of model object references...
Definition: OMEModelObject.h:85
void setDimensionOrder(const ome::xml::model::enums::DimensionOrder &dimensionOrder)
Set the DimensionOrder property.
Definition: Pixels.cpp:611
std::vector< ome::compat::shared_ptr< ome::xml::model::TiffData > >::size_type sizeOfTiffDataList() const
Get size of linked TiffData list.
Definition: Pixels.cpp:972
Open Microscopy Environment C++ implementation.
Definition: CoreMetadata.cpp:40
ome::compat::shared_ptr< double > getTimeIncrement()
Get the TimeIncrement property.
Definition: Pixels.cpp:618
void setSignificantBits(ome::compat::shared_ptr< ome::xml::model::primitives::PositiveInteger > &significantBits)
Set the SignificantBits property.
Definition: Pixels.cpp:779
ome::compat::shared_ptr< ome::xml::model::MetadataOnly > getMetadataOnly()
Get the MetadataOnly property.
Definition: Pixels.cpp:1030
Pixels model object.
Definition: Pixels.h:87
virtual void update(const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
Update the object hierarchy recursively from an XML DOM tree.
Definition: Pixels.cpp:331
const ome::xml::model::primitives::PositiveInteger & getSizeY() const
Get the SizeY property.
Definition: Pixels.cpp:716
void addPlane(ome::compat::shared_ptr< ome::xml::model::Plane > &plane)
Add Plane.
Definition: Pixels.cpp:1090
ome::compat::shared_ptr< bool > getInterleaved()
Get the Interleaved property.
Definition: Pixels.cpp:835
const ome::xml::model::primitives::PositiveInteger & getSizeT() const
Get the SizeT property.
Definition: Pixels.cpp:583
void setID(const std::string &id)
Set the ID property.
Definition: Pixels.cpp:828
static ome::compat::shared_ptr< Pixels > create(const common::xml::dom::Element &element, ome::xml::model::OMEModel &model)
Create a Pixels model object from DOM element.
Definition: Pixels.cpp:306
PixelType enumeration.
Definition: PixelType.h:69
ome::compat::shared_ptr< ome::xml::model::Channel > & getChannel(std::vector< ome::compat::shared_ptr< ome::xml::model::Channel > >::size_type index)
Get Channel.
Definition: Pixels.cpp:874
std::vector< ome::compat::shared_ptr< ome::xml::model::BinData > > & getBinDataList()
Get the BinData list.
Definition: Pixels.cpp:920
void setSizeC(const ome::xml::model::primitives::PositiveInteger &sizeC)
Set the SizeC property.
Definition: Pixels.cpp:793
ome::compat::shared_ptr< ome::xml::model::Plane > & getPlane(std::vector< ome::compat::shared_ptr< ome::xml::model::Plane > >::size_type index)
Get Plane.
Definition: Pixels.cpp:1069
const ome::xml::model::primitives::PositiveInteger & getSizeZ() const
Get the SizeZ property.
Definition: Pixels.cpp:730
void setSizeT(const ome::xml::model::primitives::PositiveInteger &sizeT)
Set the SizeT property.
Definition: Pixels.cpp:590
void removeChannel(ome::compat::shared_ptr< ome::xml::model::Channel > &channel)
Remove Channel.
Definition: Pixels.cpp:903
const std::string & elementName() const
Get the element name of this model object.
Definition: Pixels.cpp:315
void setChannel(std::vector< ome::compat::shared_ptr< ome::xml::model::Channel > >::size_type index, ome::compat::shared_ptr< ome::xml::model::Channel > &channel)
Set Channel.
Definition: Pixels.cpp:886
ome::compat::shared_ptr< bool > getBigEndian()
Get the BigEndian property.
Definition: Pixels.cpp:744
virtual common::xml::dom::Element asXMLElementInternal(common::xml::dom::Document &document, common::xml::dom::Element &element) const
Transform the object hierarchy rooted at this element to XML.
Definition: Pixels.cpp:1176
void setPhysicalSizeZ(ome::compat::shared_ptr< ome::xml::model::primitives::PositiveFloat > &physicalSizeZ)
Set the PhysicalSizeZ property.
Definition: Pixels.cpp:695
ome::xml::model::enums::DimensionOrder & getDimensionOrder()
Get the DimensionOrder property.
Definition: Pixels.cpp:597
ome::compat::shared_ptr< ome::xml::model::BinData > & getBinData(std::vector< ome::compat::shared_ptr< ome::xml::model::BinData > >::size_type index)
Get BinData.
Definition: Pixels.cpp:932
std::vector< ome::compat::shared_ptr< ome::xml::model::Channel > > & getChannelList()
Get the Channel list.
Definition: Pixels.cpp:862
virtual common::xml::dom::Element asXMLElement(common::xml::dom::Document &document) const
Transform the object hierarchy rooted at this element to XML.
Definition: Pixels.cpp:1169
std::vector< ome::compat::shared_ptr< ome::xml::model::BinData > >::size_type sizeOfBinDataList() const
Get size of linked BinData list.
Definition: Pixels.cpp:914
A numeric type constrained to a subrange (or subranges) of its range limits.
Definition: ConstrainedNumeric.h:119
void removePlane(ome::compat::shared_ptr< ome::xml::model::Plane > &plane)
Remove Plane.
Definition: Pixels.cpp:1098
void setInterleaved(ome::compat::shared_ptr< bool > &interleaved)
Set the Interleaved property.
Definition: Pixels.cpp:849
Xerces-C modern C++ wrapper.
Definition: Base.h:53
const ome::compat::weak_ptr< ome::xml::model::Annotation > & getLinkedAnnotation(OMEModelObject::indexed_container< ome::xml::model::Annotation, ome::compat::weak_ptr >::type::size_type index) const
Get linked Annotation.
Definition: Pixels.cpp:1121
void setSizeX(const ome::xml::model::primitives::PositiveInteger &sizeX)
Set the SizeX property.
Definition: Pixels.cpp:709
void setBigEndian(ome::compat::shared_ptr< bool > &bigEndian)
Set the BigEndian property.
Definition: Pixels.cpp:758