]> Creatis software - gdcm.git/blobdiff - src/gdcmHeader.h
Clean up with JPR. Frog
[gdcm.git] / src / gdcmHeader.h
index 91b92549255f7137735515769cb708e3ccb133a5..b082bd8336f0a3a3a4368e0930a58515cbe8eceb 100644 (file)
@@ -52,7 +52,6 @@ private:
    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 *);
@@ -99,6 +98,16 @@ private:
    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);
@@ -107,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:
-   bool IsReadable(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);
@@ -165,9 +158,13 @@ public:
    int SetShaElValByNumber(string content, guint16 group, guint16 element);
    
    int SetPubElValLengthByNumber(guint32 lgr, guint16 group, guint16 element);                                   
-   int ReplaceOrCreateByNumber(guint16 Group, guint16 Elem, string Value);                                
-
-   gdcmElValSet GetPubElValSet() { return(PubElValSet); }
+   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