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.
 
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 that 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, it returns false.
 
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.
 
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 (mm^3).
 
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.