15 #ifndef vtkMedicalImageProperties_h
16 #define vtkMedicalImageProperties_h
18 #include "vtkIOImageModule.h"
21 VTK_ABI_NAMESPACE_BEGIN
22 class 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);
79 int GetPatientAgeYear();
80 int GetPatientAgeMonth();
81 int GetPatientAgeWeek();
82 int GetPatientAgeDay();
89 vtkSetStringMacro(PatientSex);
90 vtkGetStringMacro(PatientSex);
99 vtkSetStringMacro(PatientBirthDate);
100 vtkGetStringMacro(PatientBirthDate);
105 int GetPatientBirthDateYear();
106 int GetPatientBirthDateMonth();
107 int GetPatientBirthDateDay();
115 vtkSetStringMacro(StudyDate);
116 vtkGetStringMacro(StudyDate);
125 vtkSetStringMacro(AcquisitionDate);
126 vtkGetStringMacro(AcquisitionDate);
131 int GetAcquisitionDateYear();
132 int GetAcquisitionDateMonth();
133 int GetAcquisitionDateDay();
141 vtkSetStringMacro(StudyTime);
142 vtkGetStringMacro(StudyTime);
151 vtkSetStringMacro(AcquisitionTime);
152 vtkGetStringMacro(AcquisitionTime);
161 vtkSetStringMacro(ImageDate);
162 vtkGetStringMacro(ImageDate);
167 int GetImageDateYear();
168 int GetImageDateMonth();
169 int GetImageDateDay();
176 static int GetDateAsFields(
const char*
date,
int& year,
int& month,
int& day);
183 static int GetTimeAsFields(
184 const char*
time,
int& hour,
int& minute,
int& second );
192 static int GetDateAsLocale(
const char*
date,
char* locale);
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);
311 virtual double GetSliceThicknessAsDouble();
319 vtkSetStringMacro(KVP);
320 vtkGetStringMacro(KVP);
329 vtkSetStringMacro(GantryTilt);
330 vtkGetStringMacro(GantryTilt);
331 virtual double GetGantryTiltAsDouble();
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);
406 virtual void AddUserDefinedValue(
const char*
name,
const char*
value);
407 virtual const char* GetUserDefinedValue(
const char*
name);
408 virtual unsigned int GetNumberOfUserDefinedValues();
409 virtual const char* GetUserDefinedNameByIndex(
unsigned int idx);
410 virtual const char* GetUserDefinedValueByIndex(
unsigned int idx);
411 virtual void RemoveAllUserDefinedValues();
427 virtual int AddWindowLevelPreset(
double w,
double l);
428 virtual void RemoveWindowLevelPreset(
double w,
double l);
429 virtual void RemoveAllWindowLevelPresets();
430 virtual int GetNumberOfWindowLevelPresets();
431 virtual vtkTypeBool HasWindowLevelPreset(
double w,
double l);
432 virtual int GetWindowLevelPresetIndex(
double w,
double l);
433 virtual int GetNthWindowLevelPreset(
int idx,
double* w,
double* l);
434 virtual double* GetNthWindowLevelPreset(
int idx)
VTK_SIZEHINT(2);
435 virtual void SetNthWindowLevelPresetComment(
int idx,
const char* comment);
436 virtual const char* GetNthWindowLevelPresetComment(
int idx);
446 const char* GetInstanceUIDFromSliceID(
int volumeidx,
int sliceid);
447 void SetInstanceUIDFromSliceID(
int volumeidx,
int sliceid,
const char* uid);
454 int GetSliceIDFromInstanceUID(
int& volumeidx,
const char* uid);
463 int GetOrientationType(
int volumeidx);
464 void SetOrientationType(
int volumeidx,
int orientation);
465 static const char* GetStringFromOrientationType(
unsigned int type);
507 double DirectionCosine[6];
519 VTK_ABI_NAMESPACE_END
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.