| IOLink 1.11.0

Loading...
Searching...
No Matches
ImageProperties.h
1#pragma once
2
3#include <memory>
4
5#include <iolink/IOLinkAPI.h>
6#include <iolink/property/ImageInfoProperty.h>
7#include <iolink/property/SpatialCalibrationProperty.h>
8
9 namespace iolink
10{
11
15 class IOLINK_API ImageProperties
16{
17 public:
26 static std::shared_ptr<ImageProperties> fromDataType(DataType dataType);
27
35 static std::shared_ptr<ImageProperties> fromProperties(const SpatialCalibrationProperty& calibration,
36 const ImageInfoProperty& imageInfo);
37
45 static std::shared_ptr<ImageProperties> fromProperties(std::shared_ptr<const ImageProperties> properties,
46 const SpatialCalibrationProperty& calibration);
47
55 static std::shared_ptr<ImageProperties> fromProperties(std::shared_ptr<const ImageProperties> properties,
56 const ImageInfoProperty& imageInfo);
57
63 ImageProperties(const SpatialCalibrationProperty& calibration, const ImageInfoProperty& imageInfo);
64
65 ImageProperties(const ImageProperties& other);
66 ImageProperties& operator=(const ImageProperties& other);
67
68 ImageProperties(ImageProperties&& other) noexcept;
69 ImageProperties& operator=(ImageProperties&& other) noexcept;
70
74 std::string toString() const;
75
76 ~ImageProperties();
77
81 std::shared_ptr<ImageProperties> clone() const;
82
88 const SpatialCalibrationProperty& calibration() const;
89
95 const ImageInfoProperty& imageInfo() const;
96
100 SpatialCalibrationProperty& calibration();
101
105 ImageInfoProperty& imageInfo();
106
113 bool isCompatibleWith(const VectorXu64& shape, DataType type) const;
114
118 bool operator==(const ImageProperties& other) const;
119
120 private:
121 class Private;
122 Private* m_private;
123};
124
125} // end namespace iolink
iolink::DataType
Stores information about a data type.
Definition DataType.h:162
iolink::ImageInfoProperty
This property describes the way the axes must be interpreted (IMAGE, VOLUME, SEQUENCE....
Definition ImageInfoProperty.h:127
iolink::ImageProperties
Hold additionnal info for ImageView data interpretation.
Definition ImageProperties.h:16
iolink::ImageProperties::ImageProperties
ImageProperties(const SpatialCalibrationProperty &calibration, const ImageInfoProperty &imageInfo)
Build a ImageProperties by directly specifying SpatialCalibration and imageInfo properties.
iolink::ImageProperties::clone
std::shared_ptr< ImageProperties > clone() const
Create a copy of the properties instance.
iolink::ImageProperties::calibration
const SpatialCalibrationProperty & calibration() const
Return the calibration associated with these properties.
iolink::ImageProperties::isCompatibleWith
bool isCompatibleWith(const VectorXu64 &shape, DataType type) const
Check if the current properties are compatible with given shape and type.
iolink::ImageProperties::fromProperties
static std::shared_ptr< ImageProperties > fromProperties(const SpatialCalibrationProperty &calibration, const ImageInfoProperty &imageInfo)
Build a ImageProperties from a set of properties.
iolink::ImageProperties::calibration
SpatialCalibrationProperty & calibration()
Return the calibration associated with these properties.
iolink::ImageProperties::fromDataType
static std::shared_ptr< ImageProperties > fromDataType(DataType dataType)
Create a property set with all values defaulted, according to a data type.
iolink::ImageProperties::imageInfo
const ImageInfoProperty & imageInfo() const
Return the image information associated with these properties.
iolink::ImageProperties::operator==
bool operator==(const ImageProperties &other) const
Equality operator.
iolink::ImageProperties::toString
std::string toString() const
Return string representation.
iolink::ImageProperties::fromProperties
static std::shared_ptr< ImageProperties > fromProperties(std::shared_ptr< const ImageProperties > properties, const ImageInfoProperty &imageInfo)
Build a ImageProperties by copying properties from another, except the Image info.
iolink::ImageProperties::imageInfo
ImageInfoProperty & imageInfo()
Return the image information associated with these properties.
iolink::ImageProperties::fromProperties
static std::shared_ptr< ImageProperties > fromProperties(std::shared_ptr< const ImageProperties > properties, const SpatialCalibrationProperty &calibration)
Build a ImageProperties by copying properties from another, except the calibration.
iolink::SpatialCalibrationProperty
This Property is used to represent the image properties in world space.
Definition SpatialCalibrationProperty.h:36
iolink::VectorX
A dynamically sized arithmetic vector.
Definition VectorX.h:18
iolink
All IOLink symbols are enclosed in this namespace.
Definition ArrayX.h:8