]> Creatis software - gdcm.git/blobdiff - src/gdcmCommon.h
COMP: Fix comp on dash8 (gcc296)
[gdcm.git] / src / gdcmCommon.h
index 416cc3c4caf2b535de3c0134177a628327f68988..95d8978cda6f69dcd021236521dfd23219e731bc 100644 (file)
@@ -3,8 +3,8 @@
   Program:   gdcm
   Module:    $RCSfile: gdcmCommon.h,v $
   Language:  C++
-  Date:      $Date: 2006/01/10 15:54:03 $
-  Version:   $Revision: 1.102 $
+  Date:      $Date: 2006/04/12 10:55:49 $
+  Version:   $Revision: 1.110 $
                                                                                 
   Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
   l'Image). All rights reserved. See Doc/License.txt or
@@ -22,7 +22,7 @@
 #include "gdcmConfigure.h"
 #include "gdcmSystem.h"
 #include "gdcmMacro.h"
-
+#include "gdcmVRKey.h"
 #include <string>
 
 //-----------------------------------------------------------------------------
@@ -45,7 +45,10 @@ namespace gdcm
 #ifndef PUB_DICT_PATH
 #  define PUB_DICT_PATH   "../Dicts/"
 #endif
-#define PUB_DICT_NAME     "DicomV3Dict"
+#define PUB_DICT_NAME     "dicomV3Dict"
+// dicomV3.dic replaced by the generated gdcm.dic/
+// if gdcm.dic not found, method FillDefaultDataDict() is invoked
+//#define PUB_DICT_FILENAME "dicomV3.dic"
 #define PUB_DICT_FILENAME "gdcm.dic"
 #define DICT_ELEM         "DicomDir.dic"
 #define DICT_TS           "dicomTS.dic"
@@ -86,11 +89,14 @@ typedef std::string TagName;
 
 /// \brief various types of a DICOM file (for internal use only)
 enum FileType {
+// note to developer : don't forget to add as well in vtkGdcmWriter.h !
    Unknown = 0,
    ExplicitVR, // DicomDir is in this case. Except when it's ImplicitVR !...
    ImplicitVR,
    ACR,
    ACR_LIBIDO,
+   /// \todo FIXME : an encapsulated JPEG file may be 
+   ///              either ExplicitVR or ImplicitVR, right?
    JPEG
 };
 
@@ -126,6 +132,25 @@ enum LodModeType
                                 // (*exclusive* from LD_NOSEQ and LD_NOSHADOW)
 };
 
+/// \brief Only user knows what kind of image he is going to write  !
+///
+/// -1) user created ex nihilo his own image and wants to write it as a Dicom image.
+///    USER_OWN_IMAGE
+/// -2) user modified the pixels of an existing image.
+///    FILTERED_IMAGE
+/// -3) user created a new image, using existing images (eg MIP, MPR, cartography image)
+///   CREATED_IMAGE
+/// -4) user modified/added some tags *without processing* the pixels (anonymization...
+///   UNMODIFIED_PIXELS_IMAGE
+enum ImageContentType
+{
+// note to developer : don't forget to add as well in vtkGdcmWriter.h !
+      USER_OWN_IMAGE = 1,
+      FILTERED_IMAGE,
+      CREATED_IMAGE,      
+      UNMODIFIED_PIXELS_IMAGE            
+}; 
+  
 /**
  * \brief structure, for internal use only
  */  
@@ -135,6 +160,8 @@ struct DicomElement
    unsigned short int Group;
    /// Dicom Element number
    unsigned short int Elem;
+   /// Value Representation
+   VRKey VR;
    /// value (coded as a std::string) of the Element
    std::string Value;
 };