26 #ifndef vtkMedicalImageProperties_h
27 #define vtkMedicalImageProperties_h
32 class vtkMedicalImagePropertiesInternals;
46 vtkSetStringMacro(PatientName);
47 vtkGetStringMacro(PatientName);
52 vtkSetStringMacro(PatientID);
53 vtkGetStringMacro(PatientID);
60 vtkSetStringMacro(PatientAge);
61 vtkGetStringMacro(PatientAge);
68 static int GetAgeAsFields(
const char *age,
int &year,
int &month,
int &week,
int &day);
76 int GetPatientAgeYear();
77 int GetPatientAgeMonth();
78 int GetPatientAgeWeek();
79 int GetPatientAgeDay();
83 vtkSetStringMacro(PatientSex);
84 vtkGetStringMacro(PatientSex);
90 vtkSetStringMacro(PatientBirthDate);
91 vtkGetStringMacro(PatientBirthDate);
96 int GetPatientBirthDateYear();
97 int GetPatientBirthDateMonth();
98 int GetPatientBirthDateDay();
102 vtkSetStringMacro(StudyDate);
103 vtkGetStringMacro(StudyDate);
109 vtkSetStringMacro(AcquisitionDate);
110 vtkGetStringMacro(AcquisitionDate);
115 int GetAcquisitionDateYear();
116 int GetAcquisitionDateMonth();
117 int GetAcquisitionDateDay();
122 vtkSetStringMacro(StudyTime);
123 vtkGetStringMacro(StudyTime);
130 vtkSetStringMacro(AcquisitionTime);
131 vtkGetStringMacro(AcquisitionTime);
137 vtkSetStringMacro(ImageDate);
138 vtkGetStringMacro(ImageDate);
143 int GetImageDateYear();
144 int GetImageDateMonth();
145 int GetImageDateDay();
150 static int GetDateAsFields(
const char *
date,
int &year,
int &month,
int &day);
155 static int GetTimeAsFields(
const char *
time,
int &hour,
int &minute,
int &second );
160 static int GetDateAsLocale(
const char *
date,
char *locale);
165 vtkSetStringMacro(ImageTime);
166 vtkGetStringMacro(ImageTime);
171 vtkSetStringMacro(ImageNumber);
172 vtkGetStringMacro(ImageNumber);
177 vtkSetStringMacro(SeriesNumber);
178 vtkGetStringMacro(SeriesNumber);
184 vtkSetStringMacro(SeriesDescription);
185 vtkGetStringMacro(SeriesDescription);
190 vtkSetStringMacro(StudyID);
191 vtkGetStringMacro(StudyID);
196 vtkSetStringMacro(StudyDescription);
197 vtkGetStringMacro(StudyDescription);
202 vtkSetStringMacro(Modality);
203 vtkGetStringMacro(Modality);
208 vtkSetStringMacro(Manufacturer);
209 vtkGetStringMacro(Manufacturer);
214 vtkSetStringMacro(ManufacturerModelName);
215 vtkGetStringMacro(ManufacturerModelName);
220 vtkSetStringMacro(StationName);
221 vtkGetStringMacro(StationName);
226 vtkSetStringMacro(InstitutionName);
227 vtkGetStringMacro(InstitutionName);
233 vtkSetStringMacro(ConvolutionKernel);
234 vtkGetStringMacro(ConvolutionKernel);
240 vtkSetStringMacro(SliceThickness);
241 vtkGetStringMacro(SliceThickness);
242 virtual double GetSliceThicknessAsDouble();
248 vtkSetStringMacro(KVP);
249 vtkGetStringMacro(KVP);
255 vtkSetStringMacro(GantryTilt);
256 vtkGetStringMacro(GantryTilt);
257 virtual double GetGantryTiltAsDouble();
263 vtkSetStringMacro(EchoTime);
264 vtkGetStringMacro(EchoTime);
270 vtkSetStringMacro(EchoTrainLength);
271 vtkGetStringMacro(EchoTrainLength);
278 vtkSetStringMacro(RepetitionTime);
279 vtkGetStringMacro(RepetitionTime);
285 vtkSetStringMacro(ExposureTime);
286 vtkGetStringMacro(ExposureTime);
291 vtkSetStringMacro(XRayTubeCurrent);
292 vtkGetStringMacro(XRayTubeCurrent);
298 vtkSetStringMacro(Exposure);
299 vtkGetStringMacro(Exposure);
304 vtkSetVector6Macro(DirectionCosine,
double);
305 vtkGetVector6Macro(DirectionCosine,
double);
312 virtual void AddUserDefinedValue(
const char *
name,
const char *
value);
313 virtual const char *GetUserDefinedValue(
const char *
name);
314 virtual unsigned int GetNumberOfUserDefinedValues();
315 virtual const char *GetUserDefinedNameByIndex(
unsigned int idx);
316 virtual const char *GetUserDefinedValueByIndex(
unsigned int idx);
317 virtual void RemoveAllUserDefinedValues();
328 virtual int AddWindowLevelPreset(
double w,
double l);
329 virtual void RemoveWindowLevelPreset(
double w,
double l);
330 virtual void RemoveAllWindowLevelPresets();
331 virtual int GetNumberOfWindowLevelPresets();
332 virtual int HasWindowLevelPreset(
double w,
double l);
333 virtual int GetWindowLevelPresetIndex(
double w,
double l);
334 virtual int GetNthWindowLevelPreset(
int idx,
double *w,
double *l);
335 virtual double* GetNthWindowLevelPreset(
int idx);
336 virtual void SetNthWindowLevelPresetComment(
int idx,
const char *comment);
337 virtual const char* GetNthWindowLevelPresetComment(
int idx);
345 const char *GetInstanceUIDFromSliceID(
int volumeidx,
int sliceid);
346 void SetInstanceUIDFromSliceID(
int volumeidx,
int sliceid,
const char *uid);
351 int GetSliceIDFromInstanceUID(
int &volumeidx,
const char *uid);
360 int GetOrientationType(
int volumeidx);
361 void SetOrientationType(
int volumeidx,
int orientation);
362 static const char *GetStringFromOrientationType(
unsigned int type);
402 double DirectionCosine[6];
abstract base class for most VTK objects
void DeepCopy(vtkPistonReference *self, vtkPistonReference *other)
char * ManufacturerModelName
virtual void PrintSelf(ostream &os, vtkIndent indent)
a simple class to control print indentation
#define VTKIOIMAGE_EXPORT
some medical image properties.
vtkMedicalImagePropertiesInternals * Internals