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> 61 #include <ome/xml/model/primitives/Quantity.h> 63 #include <ome/xml/model/MetadataOnly.h> 64 #include <ome/xml/model/detail/OMEModelObject.h> 65 #include <ome/xml/model/enums/DimensionOrder.h> 66 #include <ome/xml/model/enums/PixelType.h> 67 #include <ome/xml/model/enums/UnitsLength.h> 68 #include <ome/xml/model/enums/UnitsTime.h> 69 #include <ome/xml/model/primitives/PositiveFloat.h> 70 #include <ome/xml/model/primitives/PositiveInteger.h> 94 std::shared_ptr<Impl>
impl;
125 static std::shared_ptr<Pixels>
139 operator= (
const Pixels&) =
delete;
154 link (std::shared_ptr<Reference>& reference,
155 std::shared_ptr<ome::xml::model::OMEModelObject>&
object);
202 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
210 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
226 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
234 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
250 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
258 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
322 std::shared_ptr<bool>
330 const std::shared_ptr<bool>
346 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsTime > >&
354 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsTime > >&
370 std::shared_ptr<ome::xml::model::primitives::PositiveInteger>
378 const std::shared_ptr<ome::xml::model::primitives::PositiveInteger>
387 setSignificantBits (std::shared_ptr<ome::xml::model::primitives::PositiveInteger>& significantBits);
443 setID (
const std::string&
id);
450 std::shared_ptr<bool>
458 const std::shared_ptr<bool>
474 std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type
483 std::vector<std::shared_ptr<ome::xml::model::Channel>>&
492 const std::vector<std::shared_ptr<ome::xml::model::Channel>>&
502 std::shared_ptr<ome::xml::model::Channel>&
503 getChannel (std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type index);
512 const std::shared_ptr<ome::xml::model::Channel>&
513 getChannel (std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type index)
const;
523 setChannel (std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type index,
524 std::shared_ptr<ome::xml::model::Channel>& channel);
535 addChannel (std::shared_ptr<ome::xml::model::Channel>& channel);
547 removeChannel (std::shared_ptr<ome::xml::model::Channel>& channel);
554 std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type
563 std::vector<std::shared_ptr<ome::xml::model::BinData>>&
572 const std::vector<std::shared_ptr<ome::xml::model::BinData>>&
582 std::shared_ptr<ome::xml::model::BinData>&
583 getBinData (std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type index);
592 const std::shared_ptr<ome::xml::model::BinData>&
593 getBinData (std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type index)
const;
603 setBinData (std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type index,
604 std::shared_ptr<ome::xml::model::BinData>& binData);
615 addBinData (std::shared_ptr<ome::xml::model::BinData>& binData);
627 removeBinData (std::shared_ptr<ome::xml::model::BinData>& binData);
634 std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type
643 std::vector<std::shared_ptr<ome::xml::model::TiffData>>&
652 const std::vector<std::shared_ptr<ome::xml::model::TiffData>>&
662 std::shared_ptr<ome::xml::model::TiffData>&
663 getTiffData (std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type index);
672 const std::shared_ptr<ome::xml::model::TiffData>&
673 getTiffData (std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type index)
const;
683 setTiffData (std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type index,
684 std::shared_ptr<ome::xml::model::TiffData>& tiffData);
695 addTiffData (std::shared_ptr<ome::xml::model::TiffData>& tiffData);
707 removeTiffData (std::shared_ptr<ome::xml::model::TiffData>& tiffData);
714 std::shared_ptr<ome::xml::model::MetadataOnly>
722 const std::shared_ptr<ome::xml::model::MetadataOnly>
731 setMetadataOnly (std::shared_ptr<ome::xml::model::MetadataOnly>& metadataOnly);
738 std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type
747 std::vector<std::shared_ptr<ome::xml::model::Plane>>&
756 const std::vector<std::shared_ptr<ome::xml::model::Plane>>&
766 std::shared_ptr<ome::xml::model::Plane>&
767 getPlane (std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type index);
776 const std::shared_ptr<ome::xml::model::Plane>&
777 getPlane (std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type index)
const;
787 setPlane (std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type index,
788 std::shared_ptr<ome::xml::model::Plane>& plane);
799 addPlane (std::shared_ptr<ome::xml::model::Plane>& plane);
811 removePlane (std::shared_ptr<ome::xml::model::Plane>& plane);
829 #endif // OME_XML_MODEL_PIXELS_H Private implementation details of Pixels model object.
Definition: Pixels.cpp:103
OME model interface (abstract top-level container)
Definition: OMEModel.h:61
const ome::xml::model::primitives::PositiveInteger & getSizeT() const
Get the SizeT property.
Definition: Pixels.cpp:568
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: Pixels.cpp:321
void setInterleaved(std::shared_ptr< bool > &interleaved)
Set the Interleaved property.
Definition: Pixels.cpp:834
Pixels()
Default constructor.
Definition: Pixels.cpp:281
virtual ~Pixels()
Destructor.
Definition: Pixels.cpp:300
void setType(const ome::xml::model::enums::PixelType &type)
Set the Type property.
Definition: Pixels.cpp:799
std::shared_ptr< ome::xml::model::Channel > & getChannel(std::vector< std::shared_ptr< ome::xml::model::Channel >>::size_type index)
Get Channel.
Definition: Pixels.cpp:859
const ome::xml::model::primitives::PositiveInteger & getSizeY() const
Get the SizeY property.
Definition: Pixels.cpp:680
std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > & getPhysicalSizeZ()
Get the PhysicalSizeZ property.
Definition: Pixels.cpp:603
std::shared_ptr< bool > getInterleaved()
Get the Interleaved property.
Definition: Pixels.cpp:820
void setPhysicalSizeZ(const std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > &physicalSizeZ)
Set the PhysicalSizeZ property.
Definition: Pixels.cpp:617
std::vector< std::shared_ptr< ome::xml::model::BinData > >::size_type sizeOfBinDataList() const
Get size of linked BinData list.
Definition: Pixels.cpp:899
void setBinData(std::vector< std::shared_ptr< ome::xml::model::BinData >>::size_type index, std::shared_ptr< ome::xml::model::BinData > &binData)
Set BinData.
Definition: Pixels.cpp:929
OME model object (concrete implementation).
Definition: OMEModelObject.h:64
void setMetadataOnly(std::shared_ptr< ome::xml::model::MetadataOnly > &metadataOnly)
Set the MetadataOnly property.
Definition: Pixels.cpp:1029
void setSizeZ(const ome::xml::model::primitives::PositiveInteger &sizeZ)
Set the SizeZ property.
Definition: Pixels.cpp:701
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: Pixels.cpp:1296
std::vector< std::shared_ptr< ome::xml::model::Plane > >::size_type sizeOfPlaneList() const
Get size of linked Plane list.
Definition: Pixels.cpp:1036
static std::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:305
void removeTiffData(std::shared_ptr< ome::xml::model::TiffData > &tiffData)
Remove TiffData.
Definition: Pixels.cpp:1004
const ome::xml::model::primitives::PositiveInteger & getSizeX() const
Get the SizeX property.
Definition: Pixels.cpp:666
void addChannel(std::shared_ptr< ome::xml::model::Channel > &channel)
Add Channel.
Definition: Pixels.cpp:880
std::vector< std::shared_ptr< ome::xml::model::Channel > >::size_type sizeOfChannelList() const
Get size of linked Channel list.
Definition: Pixels.cpp:841
std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > & getPhysicalSizeY()
Get the PhysicalSizeY property.
Definition: Pixels.cpp:624
std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > & getPhysicalSizeX()
Get the PhysicalSizeX property.
Definition: Pixels.cpp:645
void setSizeY(const ome::xml::model::primitives::PositiveInteger &sizeY)
Set the SizeY property.
Definition: Pixels.cpp:687
void setSignificantBits(std::shared_ptr< ome::xml::model::primitives::PositiveInteger > &significantBits)
Set the SignificantBits property.
Definition: Pixels.cpp:764
ome::xml::model::enums::PixelType & getType()
Get the Type property.
Definition: Pixels.cpp:785
void setPhysicalSizeY(const std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > &physicalSizeY)
Set the PhysicalSizeY property.
Definition: Pixels.cpp:638
DimensionOrder enumeration.
Definition: DimensionOrder.h:72
std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsTime > > & getTimeIncrement()
Get the TimeIncrement property.
Definition: Pixels.cpp:729
std::shared_ptr< ome::xml::model::primitives::PositiveInteger > getSignificantBits()
Get the SignificantBits property.
Definition: Pixels.cpp:750
bool link(std::shared_ptr< Reference > &reference, std::shared_ptr< ome::xml::model::OMEModelObject > &object)
Link a given OME model object to this model object.
Definition: Pixels.cpp:553
void setDimensionOrder(const ome::xml::model::enums::DimensionOrder &dimensionOrder)
Set the DimensionOrder property.
Definition: Pixels.cpp:596
virtual void 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:1093
std::shared_ptr< Impl > impl
Private implementation details.
Definition: Pixels.h:92
Open Microscopy Environment C++ implementation.
std::vector< std::shared_ptr< ome::xml::model::BinData > > & getBinDataList()
Get the BinData list.
Definition: Pixels.cpp:905
void removeChannel(std::shared_ptr< ome::xml::model::Channel > &channel)
Remove Channel.
Definition: Pixels.cpp:888
const std::string & elementName() const
Get the element name of this model object.
Definition: Pixels.cpp:314
std::shared_ptr< ome::xml::model::BinData > & getBinData(std::vector< std::shared_ptr< ome::xml::model::BinData >>::size_type index)
Get BinData.
Definition: Pixels.cpp:917
std::vector< std::shared_ptr< ome::xml::model::Plane > > & getPlaneList()
Get the Plane list.
Definition: Pixels.cpp:1042
const std::string & getID() const
Get the ID property.
Definition: Pixels.cpp:806
Pixels model object.
Definition: Pixels.h:89
void setPlane(std::vector< std::shared_ptr< ome::xml::model::Plane >>::size_type index, std::shared_ptr< ome::xml::model::Plane > &plane)
Set Plane.
Definition: Pixels.cpp:1066
std::shared_ptr< bool > getBigEndian()
Get the BigEndian property.
Definition: Pixels.cpp:708
virtual SKIP 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:327
std::vector< std::shared_ptr< ome::xml::model::TiffData > > & getTiffDataList()
Get the TiffData list.
Definition: Pixels.cpp:963
void removePlane(std::shared_ptr< ome::xml::model::Plane > &plane)
Remove Plane.
Definition: Pixels.cpp:1083
std::shared_ptr< ome::xml::model::Plane > & getPlane(std::vector< std::shared_ptr< ome::xml::model::Plane >>::size_type index)
Get Plane.
Definition: Pixels.cpp:1054
void setID(const std::string &id)
Set the ID property.
Definition: Pixels.cpp:813
const ome::xml::model::primitives::PositiveInteger & getSizeZ() const
Get the SizeZ property.
Definition: Pixels.cpp:694
void removeBinData(std::shared_ptr< ome::xml::model::BinData > &binData)
Remove BinData.
Definition: Pixels.cpp:946
const ome::xml::model::primitives::PositiveInteger & getSizeC() const
Get the SizeC property.
Definition: Pixels.cpp:771
void setTiffData(std::vector< std::shared_ptr< ome::xml::model::TiffData >>::size_type index, std::shared_ptr< ome::xml::model::TiffData > &tiffData)
Set TiffData.
Definition: Pixels.cpp:987
PixelType enumeration.
Definition: PixelType.h:72
std::shared_ptr< ome::xml::model::MetadataOnly > getMetadataOnly()
Get the MetadataOnly property.
Definition: Pixels.cpp:1015
std::vector< std::shared_ptr< ome::xml::model::Channel > > & getChannelList()
Get the Channel list.
Definition: Pixels.cpp:847
A quantity of a defined unit.
Definition: Quantity.h:57
void setSizeC(const ome::xml::model::primitives::PositiveInteger &sizeC)
Set the SizeC property.
Definition: Pixels.cpp:778
void setSizeT(const ome::xml::model::primitives::PositiveInteger &sizeT)
Set the SizeT property.
Definition: Pixels.cpp:575
void addPlane(std::shared_ptr< ome::xml::model::Plane > &plane)
Add Plane.
Definition: Pixels.cpp:1075
std::shared_ptr< ome::xml::model::TiffData > & getTiffData(std::vector< std::shared_ptr< ome::xml::model::TiffData >>::size_type index)
Get TiffData.
Definition: Pixels.cpp:975
std::vector< std::shared_ptr< ome::xml::model::TiffData > >::size_type sizeOfTiffDataList() const
Get size of linked TiffData list.
Definition: Pixels.cpp:957
void setPhysicalSizeX(const std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > > &physicalSizeX)
Set the PhysicalSizeX property.
Definition: Pixels.cpp:659
void setChannel(std::vector< std::shared_ptr< ome::xml::model::Channel >>::size_type index, std::shared_ptr< ome::xml::model::Channel > &channel)
Set Channel.
Definition: Pixels.cpp:871
void addTiffData(std::shared_ptr< ome::xml::model::TiffData > &tiffData)
Add TiffData.
Definition: Pixels.cpp:996
ome::xml::model::enums::DimensionOrder & getDimensionOrder()
Get the DimensionOrder property.
Definition: Pixels.cpp:582
void setBigEndian(std::shared_ptr< bool > &bigEndian)
Set the BigEndian property.
Definition: Pixels.cpp:722
void addBinData(std::shared_ptr< ome::xml::model::BinData > &binData)
Add BinData.
Definition: Pixels.cpp:938
void setTimeIncrement(const std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsTime > > &timeIncrement)
Set the TimeIncrement property.
Definition: Pixels.cpp:743
A numeric type constrained to a subrange (or subranges) of its range limits.
Definition: ConstrainedNumeric.h:118
void setSizeX(const ome::xml::model::primitives::PositiveInteger &sizeX)
Set the SizeX property.
Definition: Pixels.cpp:673