13 #ifndef ML_MEDICAL_IMAGE_PROPERTIES_H
14 #define ML_MEDICAL_IMAGE_PROPERTIES_H
28 #pragma warning( push )
33 #pragma warning(disable : 4275 )
226 void updateVoxelSizeFromToWorldMatrix();
233 void updateToWorldMatrixFromVoxelSize();
238 void correctToWorldMatrix();
271 bool _isToWorldMatrixValid;
280 std::vector<std::string> _cDimInfos;
281 std::vector<DateTime> _tDimInfos;
282 std::vector<std::string> _uDimInfos;
298 #pragma warning( pop )
This class represents basic image properties:
This class is a container for extended image properties derived from ImagePropertyExtension.
This class encapsulates basic medical image properties:
void setVoxelSize(const Vector3 &voxelSize)
Sets the voxel size to voxelSize. The transformation matrix is adapted adequately.
std::vector< std::string > & getUDimensionInfos()
Vector3 getVoxelSize() const
Returns the voxel size.
MedicalImageProperties()
Constructor.
const Matrix4 & getVoxelToWorldMatrix() const
Returns the voxelToWorld matrix.
bool isVoxelToWorldMatrixValid() const
Shows the validity state of the VoxelToWorldMatrix (default=true=valid).
void setVoxelToWorldMatrix(const Matrix4 &matrix)
Sets the matrix that transforms voxel to world coordinates to matrix.
void setImageProperties(const MedicalImageProperties &medicalImageProperties)
Sets a copy of the passed image properties medicalImageProperties.
std::vector< DateTime > & getTDimensionInfos()
Vector3 mapWorldToVoxel(const Vector3 &worldPosition) const
Maps the worldPosition vector to voxel coordinates and returns it.
const Matrix4 & getWorldToVoxelMatrix() const
Returns the worlToVoxel matrix.
bool operator!=(const MedicalImageProperties &medicalImageProperties) const
Returns true if *this and medicalImageProperties differ; otherwise, it returns false.
const ImagePropertyExtensionContainer & getConstImagePropertyContainer() const
const std::vector< DateTime > & getTDimensionInfos() const
bool operator==(const MedicalImageProperties &medicalImageProperties) const
Returns true if *this and medicalImageProperties are identical; otherwise, it returns false.
void setVoxelToWorldMatrixValid(bool valid)
Validates/Invalidates the voxelToWorld matrix by passing true/false as valid.
~MedicalImageProperties() override
Destructor. Cleans up dynamically allocated memory.
void setVoxelSize(MLdouble dx, MLdouble dy, MLdouble dz)
Sets the voxel size to dx, dy, and dz. This changes the voxelToWorld matrix.
double getVoxelVolumeInMilliliters() const
Returns the volume of a single voxel in milliliters (ml).
std::vector< std::string > & getCDimensionInfos()
Permits access to the additional information for subimages on the c-, t-, and u-dimensions.
Vector3 mapVoxelToWorld(const Vector3 &voxelPosition) const
Maps the voxelPosition vector to world coordinates and returns it.
const std::vector< std::string > & getCDimensionInfos() const
ImagePropertyExtensionContainer & getImagePropertyContainer()
Permits access to the container for user image properties.
const std::vector< std::string > & getUDimensionInfos() const
MedicalImageProperties(const MedicalImageProperties &medicalImageProperties)
Copy constructor from an existing medicalImageProperties object to get a copy.
void translateVoxelToWorldMatrix(const Vector3 &offsetVector)
Translates the voxelToWorld matrix by the offsetVector.
void scaleVoxelToWorldMatrix(const Vector3 &scaleFactors)
Scales the voxelToWorld matrix by the vector scaleFactors and updates the image's voxel size.
MedicalImageProperties & operator=(const MedicalImageProperties &medicalImageProperties)
Assignment operator from an existing edicalImageProperties object to get a copy.
double getVoxelVolumeInCubicMillimeters() const
Returns the volume of a single voxel in cubic millimeters (mm^3).
#define MLEXPORT
To export symbols from a DLL/shared object, we need to mark them with the MLEXPORT symbol.