27 #ifndef vtkMedicalImageProperties_h
28 #define vtkMedicalImageProperties_h
30 #include "vtkIOImageModule.h"
33 class vtkMedicalImagePropertiesInternals;
52 vtkSetStringMacro(PatientName);
61 vtkSetStringMacro(PatientID);
72 vtkSetStringMacro(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);
110 vtkSetStringMacro(PatientBirthDate);
116 int GetPatientBirthDateYear();
117 int GetPatientBirthDateMonth();
118 int GetPatientBirthDateDay();
126 vtkSetStringMacro(StudyDate);
136 vtkSetStringMacro(AcquisitionDate);
142 int GetAcquisitionDateYear();
143 int GetAcquisitionDateMonth();
144 int GetAcquisitionDateDay();
152 vtkSetStringMacro(StudyTime);
162 vtkSetStringMacro(AcquisitionTime);
172 vtkSetStringMacro(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);
219 vtkSetStringMacro(ImageNumber);
228 vtkSetStringMacro(SeriesNumber);
238 vtkSetStringMacro(SeriesDescription);
247 vtkSetStringMacro(StudyID);
256 vtkSetStringMacro(StudyDescription);
265 vtkSetStringMacro(Modality);
274 vtkSetStringMacro(Manufacturer);
283 vtkSetStringMacro(ManufacturerModelName);
292 vtkSetStringMacro(StationName);
301 vtkSetStringMacro(InstitutionName);
310 vtkSetStringMacro(ConvolutionKernel);
319 vtkSetStringMacro(SliceThickness);
321 virtual double GetSliceThicknessAsDouble();
329 vtkSetStringMacro(KVP);
339 vtkSetStringMacro(GantryTilt);
341 virtual double GetGantryTiltAsDouble();
351 vtkSetStringMacro(EchoTime);
361 vtkSetStringMacro(EchoTrainLength);
372 vtkSetStringMacro(RepetitionTime);
381 vtkSetStringMacro(ExposureTime);
390 vtkSetStringMacro(XRayTubeCurrent);
400 vtkSetStringMacro(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);
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.
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
char * ManufacturerModelName
a simple class to control print indentation
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
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.