26 #ifndef __vtkMedicalImageProperties_h
27 #define __vtkMedicalImageProperties_h
31 class vtkMedicalImagePropertiesInternals;
45 vtkSetStringMacro(PatientName);
46 vtkGetStringMacro(PatientName);
51 vtkSetStringMacro(PatientID);
52 vtkGetStringMacro(PatientID);
59 vtkSetStringMacro(PatientAge);
60 vtkGetStringMacro(PatientAge);
67 static int GetAgeAsFields(
const char *age,
int &year,
int &month,
int &week,
int &day);
75 int GetPatientAgeYear();
76 int GetPatientAgeMonth();
77 int GetPatientAgeWeek();
78 int GetPatientAgeDay();
82 vtkSetStringMacro(PatientSex);
83 vtkGetStringMacro(PatientSex);
89 vtkSetStringMacro(PatientBirthDate);
90 vtkGetStringMacro(PatientBirthDate);
95 int GetPatientBirthDateYear();
96 int GetPatientBirthDateMonth();
97 int GetPatientBirthDateDay();
101 vtkSetStringMacro(StudyDate);
102 vtkGetStringMacro(StudyDate);
108 vtkSetStringMacro(AcquisitionDate);
109 vtkGetStringMacro(AcquisitionDate);
114 int GetAcquisitionDateYear();
115 int GetAcquisitionDateMonth();
116 int GetAcquisitionDateDay();
121 vtkSetStringMacro(StudyTime);
122 vtkGetStringMacro(StudyTime);
129 vtkSetStringMacro(AcquisitionTime);
130 vtkGetStringMacro(AcquisitionTime);
136 vtkSetStringMacro(ImageDate);
137 vtkGetStringMacro(ImageDate);
142 int GetImageDateYear();
143 int GetImageDateMonth();
144 int GetImageDateDay();
149 static int GetDateAsFields(
const char *
date,
int &year,
int &month,
int &day);
154 static int GetTimeAsFields(
const char *
time,
int &hour,
int &minute,
int &second );
159 static int GetDateAsLocale(
const char *
date,
char *locale);
164 vtkSetStringMacro(ImageTime);
165 vtkGetStringMacro(ImageTime);
170 vtkSetStringMacro(ImageNumber);
171 vtkGetStringMacro(ImageNumber);
176 vtkSetStringMacro(SeriesNumber);
177 vtkGetStringMacro(SeriesNumber);
183 vtkSetStringMacro(SeriesDescription);
184 vtkGetStringMacro(SeriesDescription);
189 vtkSetStringMacro(StudyID);
190 vtkGetStringMacro(StudyID);
195 vtkSetStringMacro(StudyDescription);
196 vtkGetStringMacro(StudyDescription);
201 vtkSetStringMacro(Modality);
202 vtkGetStringMacro(Modality);
207 vtkSetStringMacro(Manufacturer);
208 vtkGetStringMacro(Manufacturer);
213 vtkSetStringMacro(ManufacturerModelName);
214 vtkGetStringMacro(ManufacturerModelName);
219 vtkSetStringMacro(StationName);
220 vtkGetStringMacro(StationName);
225 vtkSetStringMacro(InstitutionName);
226 vtkGetStringMacro(InstitutionName);
232 vtkSetStringMacro(ConvolutionKernel);
233 vtkGetStringMacro(ConvolutionKernel);
239 vtkSetStringMacro(SliceThickness);
240 vtkGetStringMacro(SliceThickness);
241 virtual double GetSliceThicknessAsDouble();
247 vtkSetStringMacro(KVP);
248 vtkGetStringMacro(KVP);
254 vtkSetStringMacro(GantryTilt);
255 vtkGetStringMacro(GantryTilt);
256 virtual double GetGantryTiltAsDouble();
262 vtkSetStringMacro(EchoTime);
263 vtkGetStringMacro(EchoTime);
269 vtkSetStringMacro(EchoTrainLength);
270 vtkGetStringMacro(EchoTrainLength);
277 vtkSetStringMacro(RepetitionTime);
278 vtkGetStringMacro(RepetitionTime);
284 vtkSetStringMacro(ExposureTime);
285 vtkGetStringMacro(ExposureTime);
290 vtkSetStringMacro(XRayTubeCurrent);
291 vtkGetStringMacro(XRayTubeCurrent);
297 vtkSetStringMacro(Exposure);
298 vtkGetStringMacro(Exposure);
303 vtkSetVector6Macro(DirectionCosine,
double);
304 vtkGetVector6Macro(DirectionCosine,
double);
311 virtual void AddUserDefinedValue(
const char *
name,
const char *
value);
312 virtual const char *GetUserDefinedValue(
const char *
name);
313 virtual unsigned int GetNumberOfUserDefinedValues();
314 virtual const char *GetUserDefinedNameByIndex(
unsigned int idx);
315 virtual const char *GetUserDefinedValueByIndex(
unsigned int idx);
316 virtual void RemoveAllUserDefinedValues();
327 virtual int AddWindowLevelPreset(
double w,
double l);
328 virtual void RemoveWindowLevelPreset(
double w,
double l);
329 virtual void RemoveAllWindowLevelPresets();
330 virtual int GetNumberOfWindowLevelPresets();
331 virtual int HasWindowLevelPreset(
double w,
double l);
332 virtual int GetWindowLevelPresetIndex(
double w,
double l);
333 virtual int GetNthWindowLevelPreset(
int idx,
double *w,
double *l);
334 virtual double* GetNthWindowLevelPreset(
int idx);
335 virtual void SetNthWindowLevelPresetComment(
int idx,
const char *comment);
336 virtual const char* GetNthWindowLevelPresetComment(
int idx);
344 const char *GetInstanceUIDFromSliceID(
int volumeidx,
int sliceid);
345 void SetInstanceUIDFromSliceID(
int volumeidx,
int sliceid,
const char *uid);
350 int GetSliceIDFromInstanceUID(
int &volumeidx,
const char *uid);
359 int GetOrientationType(
int volumeidx);
360 void SetOrientationType(
int volumeidx,
int orientation);
361 static const char *GetStringFromOrientationType(
unsigned int type);
401 double DirectionCosine[6];