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(
const char *
time,
int &hour,
int &minute,
int &second );
202 static int GetDateAsLocale(
const char *
date,
char *locale);
210 vtkSetStringMacro(ImageTime);
211 vtkGetStringMacro(ImageTime);
219 vtkSetStringMacro(ImageNumber);
220 vtkGetStringMacro(ImageNumber);
228 vtkSetStringMacro(SeriesNumber);
229 vtkGetStringMacro(SeriesNumber);
238 vtkSetStringMacro(SeriesDescription);
239 vtkGetStringMacro(SeriesDescription);
247 vtkSetStringMacro(StudyID);
248 vtkGetStringMacro(StudyID);
256 vtkSetStringMacro(StudyDescription);
257 vtkGetStringMacro(StudyDescription);
265 vtkSetStringMacro(Modality);
266 vtkGetStringMacro(Modality);
274 vtkSetStringMacro(Manufacturer);
275 vtkGetStringMacro(Manufacturer);
283 vtkSetStringMacro(ManufacturerModelName);
284 vtkGetStringMacro(ManufacturerModelName);
292 vtkSetStringMacro(StationName);
293 vtkGetStringMacro(StationName);
301 vtkSetStringMacro(InstitutionName);
302 vtkGetStringMacro(InstitutionName);
310 vtkSetStringMacro(ConvolutionKernel);
311 vtkGetStringMacro(ConvolutionKernel);
319 vtkSetStringMacro(SliceThickness);
320 vtkGetStringMacro(SliceThickness);
321 virtual double GetSliceThicknessAsDouble();
329 vtkSetStringMacro(KVP);
330 vtkGetStringMacro(KVP);
339 vtkSetStringMacro(GantryTilt);
340 vtkGetStringMacro(GantryTilt);
341 virtual double GetGantryTiltAsDouble();
351 vtkSetStringMacro(EchoTime);
352 vtkGetStringMacro(EchoTime);
361 vtkSetStringMacro(EchoTrainLength);
362 vtkGetStringMacro(EchoTrainLength);
372 vtkSetStringMacro(RepetitionTime);
373 vtkGetStringMacro(RepetitionTime);
381 vtkSetStringMacro(ExposureTime);
382 vtkGetStringMacro(ExposureTime);
390 vtkSetStringMacro(XRayTubeCurrent);
391 vtkGetStringMacro(XRayTubeCurrent);
400 vtkSetStringMacro(Exposure);
401 vtkGetStringMacro(Exposure);
408 vtkSetVector6Macro(DirectionCosine,
double);
409 vtkGetVector6Macro(DirectionCosine,
double);
416 virtual void AddUserDefinedValue(
const char *
name,
const char *
value);
417 virtual const char *GetUserDefinedValue(
const char *
name);
418 virtual unsigned int GetNumberOfUserDefinedValues();
419 virtual const char *GetUserDefinedNameByIndex(
unsigned int idx);
420 virtual const char *GetUserDefinedValueByIndex(
unsigned int idx);
421 virtual void RemoveAllUserDefinedValues();
437 virtual int AddWindowLevelPreset(
double w,
double l);
438 virtual void RemoveWindowLevelPreset(
double w,
double l);
439 virtual void RemoveAllWindowLevelPresets();
440 virtual int GetNumberOfWindowLevelPresets();
441 virtual int HasWindowLevelPreset(
double w,
double l);
442 virtual int GetWindowLevelPresetIndex(
double w,
double l);
443 virtual int GetNthWindowLevelPreset(
int idx,
double *w,
double *l);
444 virtual double* GetNthWindowLevelPreset(
int idx)
VTK_SIZEHINT(2);
445 virtual void SetNthWindowLevelPresetComment(
int idx,
const char *comment);
446 virtual const char* GetNthWindowLevelPresetComment(
int idx);
456 const char *GetInstanceUIDFromSliceID(
int volumeidx,
int sliceid);
457 void SetInstanceUIDFromSliceID(
int volumeidx,
int sliceid,
const char *uid);
464 int GetSliceIDFromInstanceUID(
int &volumeidx,
const char *uid);
472 int GetOrientationType(
int volumeidx);
473 void SetOrientationType(
int volumeidx,
int orientation);
474 static const char *GetStringFromOrientationType(
unsigned int type);
516 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.