27 #ifndef vtkMedicalImageProperties_h
28 #define vtkMedicalImageProperties_h
30 #include "vtkIOImageModule.h"
33 class 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);
90 int GetPatientAgeYear();
91 int GetPatientAgeMonth();
92 int GetPatientAgeWeek();
93 int GetPatientAgeDay();
100 vtkSetStringMacro(PatientSex);
101 vtkGetStringMacro(PatientSex);
110 vtkSetStringMacro(PatientBirthDate);
111 vtkGetStringMacro(PatientBirthDate);
116 int GetPatientBirthDateYear();
117 int GetPatientBirthDateMonth();
118 int GetPatientBirthDateDay();
126 vtkSetStringMacro(StudyDate);
127 vtkGetStringMacro(StudyDate);
136 vtkSetStringMacro(AcquisitionDate);
137 vtkGetStringMacro(AcquisitionDate);
142 int GetAcquisitionDateYear();
143 int GetAcquisitionDateMonth();
144 int GetAcquisitionDateDay();
152 vtkSetStringMacro(StudyTime);
153 vtkGetStringMacro(StudyTime);
162 vtkSetStringMacro(AcquisitionTime);
163 vtkGetStringMacro(AcquisitionTime);
172 vtkSetStringMacro(ImageDate);
173 vtkGetStringMacro(ImageDate);
178 int GetImageDateYear();
179 int GetImageDateMonth();
180 int GetImageDateDay();
187 static int GetDateAsFields(
const char*
date,
int& year,
int& month,
int& day);
194 static int GetTimeAsFields(
195 const char*
time,
int& hour,
int& minute,
int& second );
203 static int GetDateAsLocale(
const char*
date,
char* locale);
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);
322 virtual double GetSliceThicknessAsDouble();
330 vtkSetStringMacro(KVP);
331 vtkGetStringMacro(KVP);
340 vtkSetStringMacro(GantryTilt);
341 vtkGetStringMacro(GantryTilt);
342 virtual double GetGantryTiltAsDouble();
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);
417 virtual void AddUserDefinedValue(
const char*
name,
const char*
value);
418 virtual const char* GetUserDefinedValue(
const char*
name);
419 virtual unsigned int GetNumberOfUserDefinedValues();
420 virtual const char* GetUserDefinedNameByIndex(
unsigned int idx);
421 virtual const char* GetUserDefinedValueByIndex(
unsigned int idx);
422 virtual void RemoveAllUserDefinedValues();
438 virtual int AddWindowLevelPreset(
double w,
double l);
439 virtual void RemoveWindowLevelPreset(
double w,
double l);
440 virtual void RemoveAllWindowLevelPresets();
441 virtual int GetNumberOfWindowLevelPresets();
442 virtual int HasWindowLevelPreset(
double w,
double l);
443 virtual int GetWindowLevelPresetIndex(
double w,
double l);
444 virtual int GetNthWindowLevelPreset(
int idx,
double* w,
double* l);
445 virtual double* GetNthWindowLevelPreset(
int idx)
VTK_SIZEHINT(2);
446 virtual void SetNthWindowLevelPresetComment(
int idx,
const char* comment);
447 virtual const char* GetNthWindowLevelPresetComment(
int idx);
457 const char* GetInstanceUIDFromSliceID(
int volumeidx,
int sliceid);
458 void SetInstanceUIDFromSliceID(
int volumeidx,
int sliceid,
const char* uid);
465 int GetSliceIDFromInstanceUID(
int& volumeidx,
const char* uid);
474 int GetOrientationType(
int volumeidx);
475 void SetOrientationType(
int volumeidx,
int orientation);
476 static const char* GetStringFromOrientationType(
unsigned int type);
518 double DirectionCosine[6];
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
char * ManufacturerModelName
a simple class to control print indentation
#define VTK_SIZEHINT(...)
some medical image properties.
static vtkObject * New()
Create an object with Debug turned off, modified time initialized to zero, and reference counting on...
vtkMedicalImagePropertiesInternals * Internals
PIMPL Encapsulation for STL containers.