Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vtkMedicalImageProperties.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkMedicalImageProperties.h,v $
00005 
00006   Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
00007   All rights reserved.
00008   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00009 
00010      This software is distributed WITHOUT ANY WARRANTY; without even
00011      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00012      PURPOSE.  See the above copyright notice for more information.
00013 
00014 =========================================================================*/
00026 #ifndef __vtkMedicalImageProperties_h
00027 #define __vtkMedicalImageProperties_h
00028 
00029 #include "vtkObject.h"
00030 
00031 class vtkMedicalImagePropertiesInternals;
00032 
00033 class VTK_IO_EXPORT vtkMedicalImageProperties : public vtkObject
00034 {
00035 public:
00036   static vtkMedicalImageProperties *New();
00037   vtkTypeRevisionMacro(vtkMedicalImageProperties,vtkObject);
00038   void PrintSelf(ostream& os, vtkIndent indent);
00039 
00041   virtual void Clear();
00042 
00044 
00045   vtkSetStringMacro(PatientName);
00046   vtkGetStringMacro(PatientName);
00048 
00050 
00051   vtkSetStringMacro(PatientID);
00052   vtkGetStringMacro(PatientID);
00054 
00056 
00059   vtkSetStringMacro(PatientAge);
00060   vtkGetStringMacro(PatientAge);
00062 
00067   static int GetAgeAsFields(const char *age, int &year, int &month, int &week, int &day);
00068 
00069   // For Tcl:
00070   // From C++ use GetPatientAge + GetAgeAsField
00071   // Those function parse a DICOM string, and return the value of the number expressed
00072   // this is either expressed in year, month or days. Thus if a string is expressed in years
00073   // GetPatientAgeDay/GetPatientAgeWeek/GetPatientAgeMonth will return 0 
00074   int GetPatientAgeYear();
00075   int GetPatientAgeMonth();
00076   int GetPatientAgeWeek();
00077   int GetPatientAgeDay();
00078 
00080 
00081   vtkSetStringMacro(PatientSex);
00082   vtkGetStringMacro(PatientSex);
00084 
00086 
00088   vtkSetStringMacro(PatientBirthDate);
00089   vtkGetStringMacro(PatientBirthDate);
00091 
00092   // For Tcl:
00093   // From C++ use GetPatientBirthDate + GetDateAsFields
00094   int GetPatientBirthDateYear();
00095   int GetPatientBirthDateMonth();
00096   int GetPatientBirthDateDay();
00097 
00099 
00101   vtkSetStringMacro(AcquisitionDate);
00102   vtkGetStringMacro(AcquisitionDate);
00104 
00105   // For Tcl:
00106   // From C++ use GetAcquisitionDate + GetDateAsFields
00107   int GetAcquisitionDateYear();
00108   int GetAcquisitionDateMonth();
00109   int GetAcquisitionDateDay();
00110 
00112 
00115   vtkSetStringMacro(AcquisitionTime);
00116   vtkGetStringMacro(AcquisitionTime);
00118 
00120 
00121   vtkSetStringMacro(ImageDate);
00122   vtkGetStringMacro(ImageDate);
00124 
00125   // For Tcl:
00126   // From C++ use GetImageDate + GetDateAsFields
00127   int GetImageDateYear();
00128   int GetImageDateMonth();
00129   int GetImageDateDay();
00130 
00134   static int GetDateAsFields(const char *date, int &year, int &month, int &day);
00135 
00139   static int GetDateAsLocale(const char *date, char *locale);
00140 
00142 
00144   vtkSetStringMacro(ImageTime);
00145   vtkGetStringMacro(ImageTime);
00147 
00149 
00150   vtkSetStringMacro(ImageNumber);
00151   vtkGetStringMacro(ImageNumber);
00153 
00155 
00156   vtkSetStringMacro(SeriesNumber);
00157   vtkGetStringMacro(SeriesNumber);
00159 
00161 
00163   vtkSetStringMacro(SeriesDescription);
00164   vtkGetStringMacro(SeriesDescription);
00166 
00168 
00169   vtkSetStringMacro(StudyID);
00170   vtkGetStringMacro(StudyID);
00172 
00174 
00175   vtkSetStringMacro(StudyDescription);
00176   vtkGetStringMacro(StudyDescription);
00178 
00180 
00181   vtkSetStringMacro(Modality);
00182   vtkGetStringMacro(Modality);
00184 
00186 
00187   vtkSetStringMacro(Manufacturer);
00188   vtkGetStringMacro(Manufacturer);
00190 
00192 
00193   vtkSetStringMacro(ManufacturerModelName);
00194   vtkGetStringMacro(ManufacturerModelName);
00196 
00198 
00199   vtkSetStringMacro(StationName);
00200   vtkGetStringMacro(StationName);
00202 
00204 
00205   vtkSetStringMacro(InstitutionName);
00206   vtkGetStringMacro(InstitutionName);
00208 
00210 
00212   vtkSetStringMacro(ConvolutionKernel);
00213   vtkGetStringMacro(ConvolutionKernel);
00215 
00217 
00219   vtkSetStringMacro(SliceThickness);
00220   vtkGetStringMacro(SliceThickness);
00221   virtual double GetSliceThicknessAsDouble();
00223 
00225 
00227   vtkSetStringMacro(KVP);
00228   vtkGetStringMacro(KVP);
00230 
00232 
00234   vtkSetStringMacro(GantryTilt);
00235   vtkGetStringMacro(GantryTilt);
00236   virtual double GetGantryTiltAsDouble();
00238 
00240 
00242   vtkSetStringMacro(EchoTime);
00243   vtkGetStringMacro(EchoTime);
00245 
00247 
00249   vtkSetStringMacro(EchoTrainLength);
00250   vtkGetStringMacro(EchoTrainLength);
00252 
00254 
00257   vtkSetStringMacro(RepetitionTime);
00258   vtkGetStringMacro(RepetitionTime);
00260 
00262 
00264   vtkSetStringMacro(ExposureTime);
00265   vtkGetStringMacro(ExposureTime);
00267 
00269 
00270   vtkSetStringMacro(XRayTubeCurrent);
00271   vtkGetStringMacro(XRayTubeCurrent);
00273 
00275 
00277   vtkSetStringMacro(Exposure);
00278   vtkGetStringMacro(Exposure);
00280 
00282   virtual void DeepCopy(vtkMedicalImageProperties *p);
00283 
00285 
00291   virtual void AddWindowLevelPreset(double w, double l);
00292   virtual void RemoveWindowLevelPreset(double w, double l);
00293   virtual void RemoveAllWindowLevelPresets();
00294   virtual int GetNumberOfWindowLevelPresets();
00295   virtual int HasWindowLevelPreset(double w, double l);
00296   virtual int GetNthWindowLevelPreset(int idx, double *w, double *l);
00297   virtual double* GetNthWindowLevelPreset(int idx);
00298   virtual void SetNthWindowLevelPresetComment(int idx, const char *comment);
00299   virtual const char* GetNthWindowLevelPresetComment(int idx);
00301 
00302 protected:
00303   vtkMedicalImageProperties();
00304   ~vtkMedicalImageProperties();
00305 
00306   char *AcquisitionDate;
00307   char *AcquisitionTime;
00308   char *ConvolutionKernel;
00309   char *EchoTime;
00310   char *EchoTrainLength;
00311   char *Exposure;
00312   char *ExposureTime;
00313   char *GantryTilt;
00314   char *ImageDate;
00315   char *ImageNumber;
00316   char *ImageTime;
00317   char *InstitutionName;
00318   char *KVP;
00319   char *ManufacturerModelName;
00320   char *Manufacturer;
00321   char *Modality;
00322   char *PatientAge;
00323   char *PatientBirthDate;
00324   char *PatientID;
00325   char *PatientName;
00326   char *PatientSex;
00327   char *RepetitionTime;
00328   char *SeriesDescription;
00329   char *SeriesNumber;
00330   char *SliceThickness;
00331   char *StationName;
00332   char *StudyDescription;
00333   char *StudyID;
00334   char *XRayTubeCurrent;
00335 
00337 
00338   vtkMedicalImagePropertiesInternals *Internals;
00339   //ETX
00341 
00342 private:
00343   vtkMedicalImageProperties(const vtkMedicalImageProperties&); // Not implemented.
00344   void operator=(const vtkMedicalImageProperties&); // Not implemented.
00345 };
00346 
00347 #endif

Generated on Mon Jan 21 23:07:31 2008 for VTK by  doxygen 1.4.3-20050530