15#ifndef vtkMedicalImageProperties_h
16#define vtkMedicalImageProperties_h
18#include "vtkIOImageModule.h"
21VTK_ABI_NAMESPACE_BEGIN
22class vtkMedicalImagePropertiesInternals;
41 vtkSetStringMacro(PatientName);
42 vtkGetStringMacro(PatientName);
50 vtkSetStringMacro(PatientID);
51 vtkGetStringMacro(PatientID);
61 vtkSetStringMacro(PatientAge);
62 vtkGetStringMacro(PatientAge);
71 static int GetAgeAsFields(
const char* age,
int& year,
int& month,
int& week,
int& day);
89 vtkSetStringMacro(PatientSex);
90 vtkGetStringMacro(PatientSex);
99 vtkSetStringMacro(PatientBirthDate);
100 vtkGetStringMacro(PatientBirthDate);
115 vtkSetStringMacro(StudyDate);
116 vtkGetStringMacro(StudyDate);
125 vtkSetStringMacro(AcquisitionDate);
126 vtkGetStringMacro(AcquisitionDate);
141 vtkSetStringMacro(StudyTime);
142 vtkGetStringMacro(StudyTime);
151 vtkSetStringMacro(AcquisitionTime);
152 vtkGetStringMacro(AcquisitionTime);
161 vtkSetStringMacro(ImageDate);
162 vtkGetStringMacro(ImageDate);
184 const char* time,
int& hour,
int& minute,
int& second );
200 vtkSetStringMacro(ImageTime);
201 vtkGetStringMacro(ImageTime);
209 vtkSetStringMacro(ImageNumber);
210 vtkGetStringMacro(ImageNumber);
218 vtkSetStringMacro(SeriesNumber);
219 vtkGetStringMacro(SeriesNumber);
228 vtkSetStringMacro(SeriesDescription);
229 vtkGetStringMacro(SeriesDescription);
237 vtkSetStringMacro(StudyID);
238 vtkGetStringMacro(StudyID);
246 vtkSetStringMacro(StudyDescription);
247 vtkGetStringMacro(StudyDescription);
255 vtkSetStringMacro(Modality);
256 vtkGetStringMacro(Modality);
264 vtkSetStringMacro(Manufacturer);
265 vtkGetStringMacro(Manufacturer);
273 vtkSetStringMacro(ManufacturerModelName);
274 vtkGetStringMacro(ManufacturerModelName);
282 vtkSetStringMacro(StationName);
283 vtkGetStringMacro(StationName);
291 vtkSetStringMacro(InstitutionName);
292 vtkGetStringMacro(InstitutionName);
300 vtkSetStringMacro(ConvolutionKernel);
301 vtkGetStringMacro(ConvolutionKernel);
309 vtkSetStringMacro(SliceThickness);
310 vtkGetStringMacro(SliceThickness);
319 vtkSetStringMacro(KVP);
320 vtkGetStringMacro(KVP);
329 vtkSetStringMacro(GantryTilt);
330 vtkGetStringMacro(GantryTilt);
341 vtkSetStringMacro(EchoTime);
342 vtkGetStringMacro(EchoTime);
351 vtkSetStringMacro(EchoTrainLength);
352 vtkGetStringMacro(EchoTrainLength);
362 vtkSetStringMacro(RepetitionTime);
363 vtkGetStringMacro(RepetitionTime);
371 vtkSetStringMacro(ExposureTime);
372 vtkGetStringMacro(ExposureTime);
380 vtkSetStringMacro(XRayTubeCurrent);
381 vtkGetStringMacro(XRayTubeCurrent);
390 vtkSetStringMacro(Exposure);
391 vtkGetStringMacro(Exposure);
398 vtkSetVector6Macro(DirectionCosine,
double);
399 vtkGetVector6Macro(DirectionCosine,
double);
507 double DirectionCosine[6];
a simple class to control print indentation
some medical image properties.
virtual double GetSliceThicknessAsDouble()
Slice Thickness (Nominal reconstructed slice thickness, in mm) For ex: DICOM (0018,...
static int GetDateAsLocale(const char *date, char *locale)
Take as input a string in ISO 8601 date (YYYY/MM/DD) and construct a locale date based on the differe...
virtual void AddUserDefinedValue(const char *name, const char *value)
static const char * GetStringFromOrientationType(unsigned int type)
virtual int GetNumberOfWindowLevelPresets()
Add/Remove/Query the window/level presets that may have been associated to a medical image.
virtual const char * GetUserDefinedValueByIndex(unsigned int idx)
virtual double * GetNthWindowLevelPreset(int idx)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
int GetPatientBirthDateYear()
const char * GetInstanceUIDFromSliceID(int volumeidx, int sliceid)
Mapping from a sliceidx within a volumeidx into a DICOM Instance UID Some DICOM reader can populate t...
~vtkMedicalImageProperties() override
vtkMedicalImagePropertiesInternals * Internals
PIMPL Encapsulation for STL containers.
int GetPatientBirthDateMonth()
static vtkMedicalImageProperties * New()
virtual void Clear()
Convenience method to reset all fields to an empty string/value.
int GetOrientationType(int volumeidx)
int GetPatientBirthDateDay()
virtual void DeepCopy(vtkMedicalImageProperties *p)
Copy the contents of p to this instance.
virtual void RemoveWindowLevelPreset(double w, double l)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
virtual int GetWindowLevelPresetIndex(double w, double l)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
int GetAcquisitionDateMonth()
void SetInstanceUIDFromSliceID(int volumeidx, int sliceid, const char *uid)
Mapping from a sliceidx within a volumeidx into a DICOM Instance UID Some DICOM reader can populate t...
int GetAcquisitionDateYear()
int GetSliceIDFromInstanceUID(int &volumeidx, const char *uid)
Provides the inverse mapping.
static int GetTimeAsFields(const char *time, int &hour, int &minute, int &second)
Take as input a string in VR:TM format (HHMMSS) and extract the different fields namely: hour,...
static int GetDateAsFields(const char *date, int &year, int &month, int &day)
Take as input a string in ISO 8601 date (YYYY/MM/DD) and extract the different fields namely: year mo...
virtual vtkTypeBool HasWindowLevelPreset(double w, double l)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
virtual double GetGantryTiltAsDouble()
Gantry/Detector tilt (Nominal angle of tilt in degrees of the scanning gantry.) For ex: DICOM (0018,...
virtual const char * GetUserDefinedValue(const char *name)
virtual void SetNthWindowLevelPresetComment(int idx, const char *comment)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
virtual int GetNthWindowLevelPreset(int idx, double *w, double *l)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
virtual unsigned int GetNumberOfUserDefinedValues()
virtual const char * GetUserDefinedNameByIndex(unsigned int idx)
int GetAcquisitionDateDay()
virtual void RemoveAllWindowLevelPresets()
Add/Remove/Query the window/level presets that may have been associated to a medical image.
char * ManufacturerModelName
void SetOrientationType(int volumeidx, int orientation)
virtual int AddWindowLevelPreset(double w, double l)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
static int GetAgeAsFields(const char *age, int &year, int &month, int &week, int &day)
Take as input a string in VR=AS (DICOM PS3.5) and extract either different fields namely: year month ...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkMedicalImageProperties()
virtual const char * GetNthWindowLevelPresetComment(int idx)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
virtual void RemoveAllUserDefinedValues()
abstract base class for most VTK objects
#define VTK_SIZEHINT(...)