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>
155 link (std::shared_ptr<Reference>& reference,
156 std::shared_ptr<ome::xml::model::OMEModelObject>&
object);
203 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
211 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
227 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
235 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
251 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
259 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsLength, ome::xml::model::primitives::PositiveFloat > >&
323 std::shared_ptr<bool>
331 const std::shared_ptr<bool>
347 std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsTime > >&
355 const std::shared_ptr<ome::xml::model::primitives::Quantity<ome::xml::model::enums::UnitsTime > >&
371 std::shared_ptr<ome::xml::model::primitives::PositiveInteger>
379 const std::shared_ptr<ome::xml::model::primitives::PositiveInteger>
388 setSignificantBits (std::shared_ptr<ome::xml::model::primitives::PositiveInteger>& significantBits);
444 setID (
const std::string&
id);
451 std::shared_ptr<bool>
459 const std::shared_ptr<bool>
475 std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type
484 std::vector<std::shared_ptr<ome::xml::model::Channel>>&
493 const std::vector<std::shared_ptr<ome::xml::model::Channel>>&
503 std::shared_ptr<ome::xml::model::Channel>&
504 getChannel (std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type index);
513 const std::shared_ptr<ome::xml::model::Channel>&
514 getChannel (std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type index)
const;
524 setChannel (std::vector<std::shared_ptr<ome::xml::model::Channel>>::size_type index,
525 std::shared_ptr<ome::xml::model::Channel>& channel);
536 addChannel (std::shared_ptr<ome::xml::model::Channel>& channel);
548 removeChannel (std::shared_ptr<ome::xml::model::Channel>& channel);
555 std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type
564 std::vector<std::shared_ptr<ome::xml::model::BinData>>&
573 const std::vector<std::shared_ptr<ome::xml::model::BinData>>&
583 std::shared_ptr<ome::xml::model::BinData>&
584 getBinData (std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type index);
593 const std::shared_ptr<ome::xml::model::BinData>&
594 getBinData (std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type index)
const;
604 setBinData (std::vector<std::shared_ptr<ome::xml::model::BinData>>::size_type index,
605 std::shared_ptr<ome::xml::model::BinData>& binData);
616 addBinData (std::shared_ptr<ome::xml::model::BinData>& binData);
628 removeBinData (std::shared_ptr<ome::xml::model::BinData>& binData);
635 std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type
644 std::vector<std::shared_ptr<ome::xml::model::TiffData>>&
653 const std::vector<std::shared_ptr<ome::xml::model::TiffData>>&
663 std::shared_ptr<ome::xml::model::TiffData>&
664 getTiffData (std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type index);
673 const std::shared_ptr<ome::xml::model::TiffData>&
674 getTiffData (std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type index)
const;
684 setTiffData (std::vector<std::shared_ptr<ome::xml::model::TiffData>>::size_type index,
685 std::shared_ptr<ome::xml::model::TiffData>& tiffData);
696 addTiffData (std::shared_ptr<ome::xml::model::TiffData>& tiffData);
708 removeTiffData (std::shared_ptr<ome::xml::model::TiffData>& tiffData);
715 std::shared_ptr<ome::xml::model::MetadataOnly>
723 const std::shared_ptr<ome::xml::model::MetadataOnly>
732 setMetadataOnly (std::shared_ptr<ome::xml::model::MetadataOnly>& metadataOnly);
739 std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type
748 std::vector<std::shared_ptr<ome::xml::model::Plane>>&
757 const std::vector<std::shared_ptr<ome::xml::model::Plane>>&
767 std::shared_ptr<ome::xml::model::Plane>&
768 getPlane (std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type index);
777 const std::shared_ptr<ome::xml::model::Plane>&
778 getPlane (std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type index)
const;
788 setPlane (std::vector<std::shared_ptr<ome::xml::model::Plane>>::size_type index,
789 std::shared_ptr<ome::xml::model::Plane>& plane);
800 addPlane (std::shared_ptr<ome::xml::model::Plane>& plane);
812 removePlane (std::shared_ptr<ome::xml::model::Plane>& plane);
830 #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:560
bool validElementName(const std::string &name) const
Check if a given element name is valid for processing by this model object.
Definition: Pixels.cpp:313
void setInterleaved(std::shared_ptr< bool > &interleaved)
Set the Interleaved property.
Definition: Pixels.cpp:826
Pixels()
Default constructor.
Definition: Pixels.cpp:277
virtual ~Pixels()
Destructor.
Definition: Pixels.cpp:292
void setType(const ome::xml::model::enums::PixelType &type)
Set the Type property.
Definition: Pixels.cpp:791
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:851
const ome::xml::model::primitives::PositiveInteger & getSizeY() const
Get the SizeY property.
Definition: Pixels.cpp:672
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:595
std::shared_ptr< bool > getInterleaved()
Get the Interleaved property.
Definition: Pixels.cpp:812
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:609
std::vector< std::shared_ptr< ome::xml::model::BinData > >::size_type sizeOfBinDataList() const
Get size of linked BinData list.
Definition: Pixels.cpp:891
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:921
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:1021
void setSizeZ(const ome::xml::model::primitives::PositiveInteger &sizeZ)
Set the SizeZ property.
Definition: Pixels.cpp:693
Pixels & operator=(const Pixels &)
Assignment operator (deleted).
const std::string & getXMLNamespace() const
Get the XML namespace for this model object.
Definition: Pixels.cpp:1288
std::vector< std::shared_ptr< ome::xml::model::Plane > >::size_type sizeOfPlaneList() const
Get size of linked Plane list.
Definition: Pixels.cpp:1028
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:297
void removeTiffData(std::shared_ptr< ome::xml::model::TiffData > &tiffData)
Remove TiffData.
Definition: Pixels.cpp:996
const ome::xml::model::primitives::PositiveInteger & getSizeX() const
Get the SizeX property.
Definition: Pixels.cpp:658
void addChannel(std::shared_ptr< ome::xml::model::Channel > &channel)
Add Channel.
Definition: Pixels.cpp:872
std::vector< std::shared_ptr< ome::xml::model::Channel > >::size_type sizeOfChannelList() const
Get size of linked Channel list.
Definition: Pixels.cpp:833
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:616
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:637
void setSizeY(const ome::xml::model::primitives::PositiveInteger &sizeY)
Set the SizeY property.
Definition: Pixels.cpp:679
void setSignificantBits(std::shared_ptr< ome::xml::model::primitives::PositiveInteger > &significantBits)
Set the SignificantBits property.
Definition: Pixels.cpp:756
ome::xml::model::enums::PixelType & getType()
Get the Type property.
Definition: Pixels.cpp:777
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:630
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:721
std::shared_ptr< ome::xml::model::primitives::PositiveInteger > getSignificantBits()
Get the SignificantBits property.
Definition: Pixels.cpp:742
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:545
void setDimensionOrder(const ome::xml::model::enums::DimensionOrder &dimensionOrder)
Set the DimensionOrder property.
Definition: Pixels.cpp:588
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:1085
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:897
void removeChannel(std::shared_ptr< ome::xml::model::Channel > &channel)
Remove Channel.
Definition: Pixels.cpp:880
const std::string & elementName() const
Get the element name of this model object.
Definition: Pixels.cpp:306
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:909
std::vector< std::shared_ptr< ome::xml::model::Plane > > & getPlaneList()
Get the Plane list.
Definition: Pixels.cpp:1034
const std::string & getID() const
Get the ID property.
Definition: Pixels.cpp:798
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:1058
std::shared_ptr< bool > getBigEndian()
Get the BigEndian property.
Definition: Pixels.cpp:700
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:319
std::vector< std::shared_ptr< ome::xml::model::TiffData > > & getTiffDataList()
Get the TiffData list.
Definition: Pixels.cpp:955
void removePlane(std::shared_ptr< ome::xml::model::Plane > &plane)
Remove Plane.
Definition: Pixels.cpp:1075
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:1046
void setID(const std::string &id)
Set the ID property.
Definition: Pixels.cpp:805
const ome::xml::model::primitives::PositiveInteger & getSizeZ() const
Get the SizeZ property.
Definition: Pixels.cpp:686
void removeBinData(std::shared_ptr< ome::xml::model::BinData > &binData)
Remove BinData.
Definition: Pixels.cpp:938
const ome::xml::model::primitives::PositiveInteger & getSizeC() const
Get the SizeC property.
Definition: Pixels.cpp:763
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:979
PixelType enumeration.
Definition: PixelType.h:72
std::shared_ptr< ome::xml::model::MetadataOnly > getMetadataOnly()
Get the MetadataOnly property.
Definition: Pixels.cpp:1007
std::vector< std::shared_ptr< ome::xml::model::Channel > > & getChannelList()
Get the Channel list.
Definition: Pixels.cpp:839
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:770
void setSizeT(const ome::xml::model::primitives::PositiveInteger &sizeT)
Set the SizeT property.
Definition: Pixels.cpp:567
void addPlane(std::shared_ptr< ome::xml::model::Plane > &plane)
Add Plane.
Definition: Pixels.cpp:1067
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:967
std::vector< std::shared_ptr< ome::xml::model::TiffData > >::size_type sizeOfTiffDataList() const
Get size of linked TiffData list.
Definition: Pixels.cpp:949
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:651
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:863
void addTiffData(std::shared_ptr< ome::xml::model::TiffData > &tiffData)
Add TiffData.
Definition: Pixels.cpp:988
ome::xml::model::enums::DimensionOrder & getDimensionOrder()
Get the DimensionOrder property.
Definition: Pixels.cpp:574
void setBigEndian(std::shared_ptr< bool > &bigEndian)
Set the BigEndian property.
Definition: Pixels.cpp:714
void addBinData(std::shared_ptr< ome::xml::model::BinData > &binData)
Add BinData.
Definition: Pixels.cpp:930
void setTimeIncrement(const std::shared_ptr< ome::xml::model::primitives::Quantity< ome::xml::model::enums::UnitsTime > > &timeIncrement)
Set the TimeIncrement property.
Definition: Pixels.cpp:735
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:665