13#ifndef ML_MEDICAL_IMAGE_PROPERTIES_H
14#define ML_MEDICAL_IMAGE_PROPERTIES_H
28#pragma warning( push )
33#pragma warning(disable : 4275 )
227 void updateVoxelSizeFromToWorldMatrix();
234 void updateToWorldMatrixFromVoxelSize();
239 void correctToWorldMatrix();
272 bool _isToWorldMatrixValid;
281 std::vector<std::string> _cDimInfos;
282 std::vector<DateTime> _tDimInfos;
283 std::vector<std::string> _uDimInfos;
299#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.
Vector3 getVoxelSize() const
Returns the voxel size.
const std::vector< std::string > & getUDimensionInfos() const
ImagePropertyExtensionContainer & getImagePropertyContainer()
Permits access to the container for user image properties.
MedicalImageProperties()
Constructor.
const Matrix4 & getWorldToVoxelMatrix() const
Returns the worlToVoxel matrix.
bool isVoxelToWorldMatrixValid() const
Shows the validity state of the VoxelToWorldMatrix (default=true=valid).
std::vector< DateTime > & getTDimensionInfos()
void setVoxelToWorldMatrix(const Matrix4 &matrix)
Sets the matrix which transforms voxel to world coordinates to matrix.
const ImagePropertyExtensionContainer & getConstImagePropertyContainer() const
void setImageProperties(const MedicalImageProperties &medicalImageProperties)
Sets a copy of the passed image properties medicalImageProperties.
const std::vector< std::string > & getCDimensionInfos() const
const std::vector< DateTime > & getTDimensionInfos() const
Vector3 mapWorldToVoxel(const Vector3 &worldPosition) const
Maps the worldPosition vector to voxel coordinates and returns it.
std::vector< std::string > & getUDimensionInfos()
MedicalImageProperties & operator=(const MedicalImageProperties &medicalImageProperties)
Assignment operator from an existing edicalImageProperties object to get a copy.
bool operator!=(const MedicalImageProperties &medicalImageProperties) const
Returns true if *this and medicalImageProperties differ, otherwise false.
bool operator==(const MedicalImageProperties &medicalImageProperties) const
Returns true if *this and medicalImageProperties are identical, otherwise 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.
std::vector< std::string > & getCDimensionInfos()
Permits access to the additional information for subimages on the c-, t- and u-dimensions.
double getVoxelVolumeInMilliliters() const
Returns the volume of a single voxel in milliliters (ml).
Vector3 mapVoxelToWorld(const Vector3 &voxelPosition) const
Maps the voxelPosition vector to world coordinates and returns it.
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.
double getVoxelVolumeInCubicMillimeters() const
Returns the volume of a single voxel in cubic millimeters (mm3).
const Matrix4 & getVoxelToWorldMatrix() const
Returns the voxelToWorld matrix.
#define MLEXPORT
To export symbols from a dll/shared object, we need to mark them with the MLEXPORT symbol.