-class GDCM_EXPORT gdcmHeader {
-public:
- gdcmHeader(bool exception_on_error = false);
- gdcmHeader(const char *filename,
- bool exception_on_error = false,
- bool enable_sequences = false);
-
- virtual ~gdcmHeader();
-
-// Standard values and informations contained in the header
- inline std::string GetFileName(void) {return filename;}
-
- bool IsReadable(void);
- bool IsImplicitVRLittleEndianTransferSyntax(void);
- bool IsExplicitVRLittleEndianTransferSyntax(void);
- bool IsDeflatedExplicitVRLittleEndianTransferSyntax(void);
- bool IsExplicitVRBigEndianTransferSyntax(void);
- bool IsJPEGBaseLineProcess1TransferSyntax(void);
- bool IsJPEGExtendedProcess2_4TransferSyntax(void);
- bool IsJPEGExtendedProcess3_5TransferSyntax(void);
- bool IsJPEGSpectralSelectionProcess6_8TransferSyntax(void);
- bool IsRLELossLessTransferSyntax(void);
- bool IsJPEGLossless(void);
- bool IsJPEG2000(void);
- bool IsDicomV3(void);
- FileType GetFileType(void);
-
- // Some heuristic based accessors, end user intended
- // (to be move to gdcmHeaderHelper?)
- int GetXSize(void);
- int GetYSize(void);
- int GetZSize(void);
- int GetBitsStored(void);
- int GetBitsAllocated(void);
- int GetSamplesPerPixel(void);
- int GetPlanarConfiguration(void);
-
- int GetPixelSize(void);
- std::string GetPixelType(void);
- size_t GetPixelOffset(void);
- size_t GetPixelAreaLength(void);
-
- bool HasLUT(void);
- int GetLUTNbits(void);
- unsigned char * GetLUTRGBA(void);
-
- std::string GetTransfertSyntaxName(void);
-
- // When some proprietary shadow groups are disclosed, we can set up
- // an additional specific dictionary to access extra information.
-
- // OK : we still have *ONE* HeaderEntrySet,
- // with both Public and Shadow Elements
- // parsed against THE Public Dictionary and A (single) Shadow Dictionary
-
- // TODO Swig int SetShaDict(std::string filename);
- // TODO Swig int SetPubDict(std::string filename);
-
-// Public element value
- std::string GetPubEntryByName (std::string tagName);
- std::string GetPubEntryVRByName (std::string tagName);
- std::string GetPubEntryByNumber (guint16 group, guint16 element);
- std::string GetPubEntryVRByNumber(guint16 group, guint16 element);
-
- bool SetPubEntryByName (std::string content, std::string tagName);
- bool SetPubEntryByNumber(std::string content, guint16 group, guint16 element);
- bool SetPubEntryLengthByNumber(guint32 lgr, guint16 group, guint16 element);
-
- inline ListTag & GetPubListEntry(void) { return PubEntrySet.GetListEntry();};
- inline TagHeaderEntryHT & GetPubEntry(void) { return PubEntrySet.GetTagHT(); };
-
- void PrintPubEntry(std::ostream & os = std::cout);
- void PrintPubDict (std::ostream & os = std::cout);
-
-// Element value
- std::string GetEntryByName (std::string tagName);
- std::string GetEntryVRByName (std::string tagName);
- std::string GetEntryByNumber (guint16 group, guint16 element);
- std::string GetEntryVRByNumber(guint16 group, guint16 element);
-
- bool SetEntryByName(std::string content,std::string tagName);
-// bool SetEntryByNumber(std::string content,guint16 group, guint16 element);