X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmHeader.h;h=b082bd8336f0a3a3a4368e0930a58515cbe8eceb;hb=4a0c2407ec81e041c2e43781acec4c78c83fc487;hp=91b92549255f7137735515769cb708e3ccb133a5;hpb=45c3270f0afbdb22a10da1fa2c993125ca960304;p=gdcm.git diff --git a/src/gdcmHeader.h b/src/gdcmHeader.h index 91b92549..b082bd83 100644 --- a/src/gdcmHeader.h +++ b/src/gdcmHeader.h @@ -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