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(
 
  195     const char* 
time, 
int& hour, 
int& minute, 
int& second );
 
  203   static int GetDateAsLocale(
const char* 
date, 
char* locale);
 
  211   vtkSetStringMacro(ImageTime);
 
  212   vtkGetStringMacro(ImageTime);
 
  220   vtkSetStringMacro(ImageNumber);
 
  221   vtkGetStringMacro(ImageNumber);
 
  229   vtkSetStringMacro(SeriesNumber);
 
  230   vtkGetStringMacro(SeriesNumber);
 
  239   vtkSetStringMacro(SeriesDescription);
 
  240   vtkGetStringMacro(SeriesDescription);
 
  248   vtkSetStringMacro(StudyID);
 
  249   vtkGetStringMacro(StudyID);
 
  257   vtkSetStringMacro(StudyDescription);
 
  258   vtkGetStringMacro(StudyDescription);
 
  266   vtkSetStringMacro(Modality);
 
  267   vtkGetStringMacro(Modality);
 
  275   vtkSetStringMacro(Manufacturer);
 
  276   vtkGetStringMacro(Manufacturer);
 
  284   vtkSetStringMacro(ManufacturerModelName);
 
  285   vtkGetStringMacro(ManufacturerModelName);
 
  293   vtkSetStringMacro(StationName);
 
  294   vtkGetStringMacro(StationName);
 
  302   vtkSetStringMacro(InstitutionName);
 
  303   vtkGetStringMacro(InstitutionName);
 
  311   vtkSetStringMacro(ConvolutionKernel);
 
  312   vtkGetStringMacro(ConvolutionKernel);
 
  320   vtkSetStringMacro(SliceThickness);
 
  321   vtkGetStringMacro(SliceThickness);
 
  322   virtual double GetSliceThicknessAsDouble();
 
  330   vtkSetStringMacro(KVP);
 
  331   vtkGetStringMacro(KVP);
 
  340   vtkSetStringMacro(GantryTilt);
 
  341   vtkGetStringMacro(GantryTilt);
 
  342   virtual double GetGantryTiltAsDouble();
 
  352   vtkSetStringMacro(EchoTime);
 
  353   vtkGetStringMacro(EchoTime);
 
  362   vtkSetStringMacro(EchoTrainLength);
 
  363   vtkGetStringMacro(EchoTrainLength);
 
  373   vtkSetStringMacro(RepetitionTime);
 
  374   vtkGetStringMacro(RepetitionTime);
 
  382   vtkSetStringMacro(ExposureTime);
 
  383   vtkGetStringMacro(ExposureTime);
 
  391   vtkSetStringMacro(XRayTubeCurrent);
 
  392   vtkGetStringMacro(XRayTubeCurrent);
 
  401   vtkSetStringMacro(Exposure);
 
  402   vtkGetStringMacro(Exposure);
 
  409   vtkSetVector6Macro(DirectionCosine, 
double);
 
  410   vtkGetVector6Macro(DirectionCosine, 
double);
 
  417   virtual void AddUserDefinedValue(
const char* 
name, 
const char* 
value);
 
  418   virtual const char* GetUserDefinedValue(
const char* 
name);
 
  419   virtual unsigned int GetNumberOfUserDefinedValues();
 
  420   virtual const char* GetUserDefinedNameByIndex(
unsigned int idx);
 
  421   virtual const char* GetUserDefinedValueByIndex(
unsigned int idx);
 
  422   virtual void RemoveAllUserDefinedValues();
 
  438   virtual int AddWindowLevelPreset(
double w, 
double l);
 
  439   virtual void RemoveWindowLevelPreset(
double w, 
double l);
 
  440   virtual void RemoveAllWindowLevelPresets();
 
  441   virtual int GetNumberOfWindowLevelPresets();
 
  442   virtual int HasWindowLevelPreset(
double w, 
double l);
 
  443   virtual int GetWindowLevelPresetIndex(
double w, 
double l);
 
  444   virtual int GetNthWindowLevelPreset(
int idx, 
double* w, 
double* l);
 
  445   virtual double* GetNthWindowLevelPreset(
int idx) 
VTK_SIZEHINT(2);
 
  446   virtual void SetNthWindowLevelPresetComment(
int idx, 
const char* comment);
 
  447   virtual const char* GetNthWindowLevelPresetComment(
int idx);
 
  457   const char* GetInstanceUIDFromSliceID(
int volumeidx, 
int sliceid);
 
  458   void SetInstanceUIDFromSliceID(
int volumeidx, 
int sliceid, 
const char* uid);
 
  465   int GetSliceIDFromInstanceUID(
int& volumeidx, 
const char* uid);
 
  474   int GetOrientationType(
int volumeidx);
 
  475   void SetOrientationType(
int volumeidx, 
int orientation);
 
  476   static const char* GetStringFromOrientationType(
unsigned int type);
 
  518   double DirectionCosine[6];