]> Creatis software - gdcm.git/blobdiff - src/gdcmHeaderHelper.h
update the doxygen scripts to -try to (Mmmm?)- allow 'user doc' generation
[gdcm.git] / src / gdcmHeaderHelper.h
index 0fdb046209a9685eed7d098225f4d32b5532d3e7..9fdcffbde4ea5e682b0910a58c9bd7f4aff52527 100644 (file)
@@ -1,59 +1,64 @@
-// $Header: /cvs/public/gdcm/src/Attic/gdcmHeaderHelper.h,v 1.10 2004/01/13 11:32:30 jpr Exp $
-
+// gdcmHeaderHelper.h
+//-----------------------------------------------------------------------------
 #ifndef GDCMHEADERHELPER_H
 #define GDCMHEADERHELPER_H
 
 #include "gdcmHeader.h"
 
-   // Dicom Part 3.3 Compliant
-   enum ModalityType {
-      Unknow,
-      AU,       // Voice Audio
-      AS,       // Angioscopy
-      BI,       // Biomagnetic Imaging
-      CF,       // Cinefluorography
-      CP,       // Culposcopy
-      CR,       // Computed Radiography
-      CS,       // Cystoscopy
-      CT,       // Computed Tomography
-      DD,       // Duplex Dopler
-      DF,       // Digital Fluoroscopy
-      DG,       // Diaphanography
-      DM,       // Digital Microscopy
-      DS,       // Digital Substraction Angiography
-      DX,       // Digital Radiography
-      ECG,      // Echocardiography
-      EPS,      // Basic Cardiac EP
-      ES,       // Endoscopy
-      FA,       // Fluorescein Angiography
-      FS,       // Fundoscopy
-      HC,       // Hard Copy
-      HD,       // Hemodynamic
-      LP,       // Laparoscopy
-      LS,       // Laser Surface Scan
-      MA,       // Magnetic Resonance Angiography
-      MR,       // Magnetic Resonance
-      NM,       // Nuclear Medicine
-      OT,       // Other
-      PT,       // Positron Emission Tomography
-      RF,       // Radio Fluoroscopy
-      RG,       // Radiographic Imaging
-      RTDOSE,   // Radiotherapy Dose
-      RTIMAGE,  // Radiotherapy Image
-      RTPLAN,   // Radiotherapy Plan
-      RTSTRUCT, // Radiotherapy Structure Set
-      SM,       // Microscopic Imaging
-      ST,       // Single-photon Emission Computed Tomography
-      TG,       // Thermography
-      US,       // Ultrasound
-      VF,       // Videofluorography
-      XA,       // X-Ray Angiography
-      XC        // Photographic Imaging
-    };
+//-----------------------------------------------------------------------------
+// Dicom Part 3.3 Compliant
+enum ModalityType {
+   Unknow,
+   AU,       // Voice Audio
+   AS,       // Angioscopy
+   BI,       // Biomagnetic Imaging
+   CF,       // Cinefluorography
+   CP,       // Culposcopy
+   CR,       // Computed Radiography
+   CS,       // Cystoscopy
+   CT,       // Computed Tomography
+   DD,       // Duplex Dopler
+   DF,       // Digital Fluoroscopy
+   DG,       // Diaphanography
+   DM,       // Digital Microscopy
+   DS,       // Digital Substraction Angiography
+   DX,       // Digital Radiography
+   ECG,      // Echocardiography
+   EPS,      // Basic Cardiac EP
+   ES,       // Endoscopy
+   FA,       // Fluorescein Angiography
+   FS,       // Fundoscopy
+   HC,       // Hard Copy
+   HD,       // Hemodynamic
+   LP,       // Laparoscopy
+   LS,       // Laser Surface Scan
+   MA,       // Magnetic Resonance Angiography
+   MR,       // Magnetic Resonance
+   NM,       // Nuclear Medicine
+   OT,       // Other
+   PT,       // Positron Emission Tomography
+   RF,       // Radio Fluoroscopy
+   RG,       // Radiographic Imaging
+   RTDOSE,   // Radiotherapy Dose
+   RTIMAGE,  // Radiotherapy Image
+   RTPLAN,   // Radiotherapy Plan
+   RTSTRUCT, // Radiotherapy Structure Set
+   SM,       // Microscopic Imaging
+   ST,       // Single-photon Emission Computed Tomography
+   TG,       // Thermography
+   US,       // Ultrasound
+   VF,       // Videofluorography
+   XA,       // X-Ray Angiography
+   XC        // Photographic Imaging
+};
       
+//-----------------------------------------------------------------------------
 /*
- * This class is meant to *interpret* data given from gdcmHeader
- * That is to say :
+ * \defgroup gdcmHeaderHelper
+ * \brief  
+ *
+ * - This class is meant to *interpret* data given from gdcmHeader
+ * - That is to say :
  *  - it will help other dev to link against there lib
  *  - return value instead of string
  *  - will be able to search for data at some other place
  *  - ...
  */
 class GDCM_EXPORT gdcmHeaderHelper : public gdcmHeader {
-
 public:
-   gdcmHeaderHelper::gdcmHeaderHelper();
-   gdcmHeaderHelper::gdcmHeaderHelper(const char *filename, 
-                                      bool exception_on_error = false);
+   gdcmHeaderHelper();
+   gdcmHeaderHelper(const char *filename, 
+              bool  exception_on_error = false, 
+              bool  enable_sequences   = false,
+             bool  ignore_shadow      = false);
 
    int GetPixelSize();
    std::string GetPixelType();
@@ -74,7 +80,7 @@ public:
    float GetYSpacing();
    float GetZSpacing();
    
-   //Usefull for rescaling graylevel:
+   // Usefull for rescaling graylevel:
    float GetRescaleIntercept();
    float GetRescaleSlope();
 
@@ -86,12 +92,12 @@ public:
    std::string GetClassUID();
    std::string GetInstanceUID();
    
-    /**
-    change GetXImagePosition -> GetXOrigin in order not to confused reader
-      -# GetXOrigin can return default value (=0) if it was not ImagePosition
-      -# Image Position is different in dicomV3 <> ACR NEMA -> better use generic
-      name
-    */
+   /**
+    * change GetXImagePosition -> GetXOrigin in order not to confuse reader
+    * -# GetXOrigin can return default value (=0) if it was not ImagePosition
+    * -# Image Position is different in dicomV3 <> ACR NEMA -> better use generic
+    * name
+   */
    float GetXOrigin();
    float GetYOrigin();
    float GetZOrigin();
@@ -100,26 +106,27 @@ public:
    ModalityType GetModality();
    
    void GetImageOrientationPatient( float* iop );
-  
-
 };
 
-/**
-This class should be used for a stack of 2D dicom images.
-For a multiframe dicom image better use directly gdcmHeaderHelper
+//-----------------------------------------------------------------------------
+/*
+ * \defgroup gdcmSerieHeaderHelper
+ * \brief  
+ *
+ * - This class should be used for a stack of 2D dicom images.
+ * - For a multiframe dicom image better use directly gdcmHeaderHelper
 */
 class GDCM_EXPORT gdcmSerieHeaderHelper {
-
 public:
-    gdcmSerieHeaderHelper::gdcmSerieHeaderHelper() {};
-    gdcmSerieHeaderHelper::~gdcmSerieHeaderHelper();
+    gdcmSerieHeaderHelper() {};
+    ~gdcmSerieHeaderHelper();
 
    void AddFileName(std::string filename); //should return bool or throw error ?
    void AddGdcmFile(gdcmHeaderHelper *file);
    void SetDirectory(std::string dir);
    void OrderGdcmFileList();
    
-   gdcmHeaderHelper *GetGdcmHeader()
+   inline gdcmHeaderHelper *GetGdcmHeader()
    {
       //Assume all element in the list have the same global infos
       return CoherentGdcmFileList.front();
@@ -133,7 +140,7 @@ private:
    bool FileNameOrdering();
    
    std::list<gdcmHeaderHelper*> CoherentGdcmFileList;
-
 };
 
+//-----------------------------------------------------------------------------
 #endif