]> Creatis software - gdcm.git/blobdiff - src/gdcmHeader.h
Clean up with JPR. Frog
[gdcm.git] / src / gdcmHeader.h
index ec1943ba30f741e27974276c3489b9118dbd02d9..b082bd8336f0a3a3a4368e0930a58515cbe8eceb 100644 (file)
@@ -47,12 +47,11 @@ private:
    gdcmDict* RefShaDict;
 
    /// ELement VALueS parsed with the PUBlic dictionary.
-   gdcmElValSet PubElVals;
+   gdcmElValSet PubElValSet;
    /// ELement VALueS parsed with the SHAdow dictionary.
-   gdcmElValSet ShaElVals;
+   gdcmElValSet ShaElValSet;
    /// Refering underlying filename.
    string filename; 
-   FILE * fp;
    
    // FIXME sw should be an enum e.g.
    //enum EndianType {
@@ -79,16 +78,16 @@ private:
    void CheckSwap(void);
    void InitVRDict(void);
    void SwitchSwapToBigEndian(void);
+   // CLEAN ME: NewManualElValToPubDict is NOT called any more.
    gdcmElValue*  NewManualElValToPubDict(string NewTagName, string VR);
-   void AddAndDefaultElements(void);
    void SetMaxSizeLoadElementValue(long);
 
-   gdcmDictEntry * GetDictEntryByKey(guint16, guint16);
+   gdcmDictEntry * GetDictEntryByNumber(guint16, guint16);
    gdcmDictEntry * GetDictEntryByName(string name);
 
    // ElValue related utilities
    gdcmElValue * ReadNextElement(void);
-   gdcmElValue * NewElValueByKey(guint16 group, guint16 element);
+   gdcmElValue * NewElValueByNumber(guint16 group, guint16 element);
    gdcmElValue * NewElValueByName(string name);
    void FindLength(gdcmElValue *);
    void FindVR(gdcmElValue *);
@@ -97,7 +96,18 @@ private:
    void SkipElementValue(gdcmElValue *);
    void FixFoundLength(gdcmElValue*, guint32);
    bool IsAnInteger(gdcmElValue *);
+   void LoadElements(void);
    
+protected:
+   FILE * fp;
+   FileType filetype;
+   bool OpenFile(bool exception_on_error = false)
+     throw(gdcmFileError);
+   bool CloseFile(void);
+   int write(ostream&);   
+   int anonymize(ostream&);  // FIXME : anonymize should be a friend ?
+public:
+   bool IsReadable(void);
    bool IsImplicitVRLittleEndianTransferSyntax(void);
    bool IsExplicitVRLittleEndianTransferSyntax(void);
    bool IsDeflatedExplicitVRLittleEndianTransferSyntax(void);
@@ -106,31 +116,15 @@ private:
    bool IsJPEGExtendedProcess2_4TransferSyntax(void); 
    bool IsJPEGExtendedProcess3_5TransferSyntax(void);
    bool IsJPEGSpectralSelectionProcess6_8TransferSyntax(void); 
-   
    bool IsJPEGLossless(void); 
+   bool IsDicomV3(void); 
       
-protected:
-   // FIXME: is this enum still necessary ??
-   enum FileType {
-      Unknown = 0,
-      TrueDicom,
-      ExplicitVR,
-      ImplicitVR,
-      ACR,
-      ACR_LIBIDO};  // CLEANME
-   FileType filetype;
-   int write(ostream&);   
-   int anonymize(ostream&);  // FIXME : anonymize should be a friend ?
-public:
-   void LoadElements(void);
    virtual void ParseHeader(bool exception_on_error = false)
      throw(gdcmFormatError);
-   gdcmHeader(const char *filename, bool exception_on_error = false)
-     throw(gdcmFileError);
+   gdcmHeader(const char *filename, bool exception_on_error = false);
    virtual ~gdcmHeader();
    
    size_t GetPixelOffset(void);
-   void   GetPixels(size_t, void *);
    int    GetSwapCode(void) { return sw; }
 
    // TODO Swig int SetPubDict(string filename);
@@ -143,9 +137,9 @@ public:
    string GetPubElValRepByName(string TagName);
    string GetPubElValRepByNumber(guint16 group, guint16 element);
 
-   TagElValueHT & GetPubElVal(void) { return PubElVals.GetTagHt(); };
+   TagElValueHT & GetPubElVal(void) { return PubElValSet.GetTagHt(); };
    void   PrintPubElVal(ostream & os = cout);
-   void   PrintPubDict(ostream & os = cout);
+   void   PrintPubDict (ostream & os = cout);
      
    // TODO Swig string* GetShaTagNames(); 
    string GetShaElValByName(string TagName);
@@ -163,9 +157,14 @@ public:
    int SetShaElValByName(string content, string ShadowTagName);
    int SetShaElValByNumber(string content, guint16 group, guint16 element);
    
-   int SetPubElValLengthByNumber(guint32 lgr, guint16 group, guint16 element);
-
-   gdcmElValSet GetPubElVals() { return(PubElVals); }
+   int SetPubElValLengthByNumber(guint32 lgr, guint16 group, guint16 element);                                   
+   int ReplaceOrCreateByNumber(string Value, guint16 Group, guint16 Elem);                                
+   int GetXSize(void);  
+   int GetYSize(void);
+   int GetZSize(void);       
+   string GetPixelType(void);  
+   int Write(FILE *, FileType);
+   
 };
 
 #endif