27#ifndef vtkMedicalImageProperties_h
28#define vtkMedicalImageProperties_h
30#include "vtkIOImageModule.h"
33class vtkMedicalImagePropertiesInternals;
52 vtkSetStringMacro(PatientName);
53 vtkGetStringMacro(PatientName);
61 vtkSetStringMacro(PatientID);
62 vtkGetStringMacro(PatientID);
72 vtkSetStringMacro(PatientAge);
73 vtkGetStringMacro(PatientAge);
82 static int GetAgeAsFields(
const char* age,
int& year,
int& month,
int& week,
int& day);
100 vtkSetStringMacro(PatientSex);
101 vtkGetStringMacro(PatientSex);
110 vtkSetStringMacro(PatientBirthDate);
111 vtkGetStringMacro(PatientBirthDate);
126 vtkSetStringMacro(StudyDate);
127 vtkGetStringMacro(StudyDate);
136 vtkSetStringMacro(AcquisitionDate);
137 vtkGetStringMacro(AcquisitionDate);
152 vtkSetStringMacro(StudyTime);
153 vtkGetStringMacro(StudyTime);
162 vtkSetStringMacro(AcquisitionTime);
163 vtkGetStringMacro(AcquisitionTime);
172 vtkSetStringMacro(ImageDate);
173 vtkGetStringMacro(ImageDate);
195 const char*
time,
int& hour,
int& minute,
int& second );
211 vtkSetStringMacro(ImageTime);
212 vtkGetStringMacro(ImageTime);
220 vtkSetStringMacro(ImageNumber);
221 vtkGetStringMacro(ImageNumber);
229 vtkSetStringMacro(SeriesNumber);
230 vtkGetStringMacro(SeriesNumber);
239 vtkSetStringMacro(SeriesDescription);
240 vtkGetStringMacro(SeriesDescription);
248 vtkSetStringMacro(StudyID);
249 vtkGetStringMacro(StudyID);
257 vtkSetStringMacro(StudyDescription);
258 vtkGetStringMacro(StudyDescription);
266 vtkSetStringMacro(Modality);
267 vtkGetStringMacro(Modality);
275 vtkSetStringMacro(Manufacturer);
276 vtkGetStringMacro(Manufacturer);
284 vtkSetStringMacro(ManufacturerModelName);
285 vtkGetStringMacro(ManufacturerModelName);
293 vtkSetStringMacro(StationName);
294 vtkGetStringMacro(StationName);
302 vtkSetStringMacro(InstitutionName);
303 vtkGetStringMacro(InstitutionName);
311 vtkSetStringMacro(ConvolutionKernel);
312 vtkGetStringMacro(ConvolutionKernel);
320 vtkSetStringMacro(SliceThickness);
321 vtkGetStringMacro(SliceThickness);
330 vtkSetStringMacro(KVP);
331 vtkGetStringMacro(KVP);
340 vtkSetStringMacro(GantryTilt);
341 vtkGetStringMacro(GantryTilt);
352 vtkSetStringMacro(EchoTime);
353 vtkGetStringMacro(EchoTime);
362 vtkSetStringMacro(EchoTrainLength);
363 vtkGetStringMacro(EchoTrainLength);
373 vtkSetStringMacro(RepetitionTime);
374 vtkGetStringMacro(RepetitionTime);
382 vtkSetStringMacro(ExposureTime);
383 vtkGetStringMacro(ExposureTime);
391 vtkSetStringMacro(XRayTubeCurrent);
392 vtkGetStringMacro(XRayTubeCurrent);
401 vtkSetStringMacro(Exposure);
402 vtkGetStringMacro(Exposure);
409 vtkSetVector6Macro(DirectionCosine,
double);
410 vtkGetVector6Macro(DirectionCosine,
double);
518 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)
virtual int HasWindowLevelPreset(double w, double l)
Add/Remove/Query the window/level presets that may have been associated to a medical image.
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 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(...)