]> Creatis software - gdcm.git/blobdiff - src/gdcmHeader.h
Update for writting DCM files
[gdcm.git] / src / gdcmHeader.h
index 02c58ef6a9a3fafcb3b42cef66a7020a712eb909..91b92549255f7137735515769cb708e3ccb133a5 100644 (file)
@@ -47,9 +47,9 @@ private:
    gdcmDict* RefShaDict;
 
    /// ELement VALueS parsed with the PUBlic dictionary.
-   ElValSet PubElVals;
+   gdcmElValSet PubElValSet;
    /// ELement VALueS parsed with the SHAdow dictionary.
-   ElValSet ShaElVals;
+   gdcmElValSet ShaElValSet;
    /// Refering underlying filename.
    string filename; 
    FILE * fp;
@@ -79,6 +79,7 @@ private:
    void CheckSwap(void);
    void InitVRDict(void);
    void SwitchSwapToBigEndian(void);
+   gdcmElValue*  NewManualElValToPubDict(string NewTagName, string VR);
    void AddAndDefaultElements(void);
    void SetMaxSizeLoadElementValue(long);
 
@@ -86,16 +87,17 @@ private:
    gdcmDictEntry * GetDictEntryByName(string name);
 
    // ElValue related utilities
-   ElValue * ReadNextElement(void);
-   ElValue * NewElValueByKey(guint16 group, guint16 element);
-   ElValue * NewElValueByName(string name);
-   void FindLength(ElValue *);
-   void FindVR(ElValue *);
-   void LoadElementValue(ElValue *);
-   void LoadElementValueSafe(ElValue *);
-   void SkipElementValue(ElValue *);
-   void FixFoundLength(ElValue*, guint32);
-   bool IsAnInteger(ElValue *);
+   gdcmElValue * ReadNextElement(void);
+   gdcmElValue * NewElValueByKey(guint16 group, guint16 element);
+   gdcmElValue * NewElValueByName(string name);
+   void FindLength(gdcmElValue *);
+   void FindVR(gdcmElValue *);
+   void LoadElementValue(gdcmElValue *);
+   void LoadElementValueSafe(gdcmElValue *);
+   void SkipElementValue(gdcmElValue *);
+   void FixFoundLength(gdcmElValue*, guint32);
+   bool IsAnInteger(gdcmElValue *);
+   void LoadElements(void);
    
    bool IsImplicitVRLittleEndianTransferSyntax(void);
    bool IsExplicitVRLittleEndianTransferSyntax(void);
@@ -105,6 +107,8 @@ private:
    bool IsJPEGExtendedProcess2_4TransferSyntax(void); 
    bool IsJPEGExtendedProcess3_5TransferSyntax(void);
    bool IsJPEGSpectralSelectionProcess6_8TransferSyntax(void); 
+   
+   bool IsJPEGLossless(void); 
       
 protected:
    // FIXME: is this enum still necessary ??
@@ -119,7 +123,7 @@ protected:
    int write(ostream&);   
    int anonymize(ostream&);  // FIXME : anonymize should be a friend ?
 public:
-   void LoadElements(void);
+   bool IsReadable(void);
    virtual void ParseHeader(bool exception_on_error = false)
      throw(gdcmFormatError);
    gdcmHeader(const char *filename, bool exception_on_error = false)
@@ -140,9 +144,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);
@@ -160,10 +164,10 @@ public:
    int SetShaElValByName(string content, string ShadowTagName);
    int SetShaElValByNumber(string content, guint16 group, guint16 element);
    
-   int gdcmHeader::SetPubElValLengthByNumber(guint32 lgr, guint16 group,
-                                    guint16 element);
+   int SetPubElValLengthByNumber(guint32 lgr, guint16 group, guint16 element);                                   
+   int ReplaceOrCreateByNumber(guint16 Group, guint16 Elem, string Value);                                
 
-   ElValSet GetPubElVals() { return(PubElVals); }
+   gdcmElValSet GetPubElValSet() { return(PubElValSet); }
 };
 
 #endif