X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFileHelper.h;h=4848a946b4faa6393daa61250dad16a457e3e503;hb=4491b768d9529a24608e44d6ef77dc235d37dbb7;hp=334cab682714022be2488ff3b6bc30416874bfde;hpb=bac48fb3780a4b9d14b4b38036d72bbeb28579c8;p=gdcm.git diff --git a/src/gdcmFileHelper.h b/src/gdcmFileHelper.h index 334cab68..4848a946 100644 --- a/src/gdcmFileHelper.h +++ b/src/gdcmFileHelper.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmFileHelper.h,v $ Language: C++ - Date: $Date: 2005/01/20 16:22:52 $ - Version: $Revision: 1.1 $ + Date: $Date: 2005/01/25 15:44:24 $ + Version: $Revision: 1.7 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -16,23 +16,24 @@ =========================================================================*/ -#ifndef GDCMFILE_H -#define GDCMFILE_H +#ifndef GDCMFILEHELPER_H +#define GDCMFILEHELPER_H #include #include "gdcmBase.h" namespace gdcm { -class Header; +class File; class ValEntry; class BinEntry; +class SeqEntry; class PixelReadConvert; class PixelWriteConvert; class DocEntryArchive; //----------------------------------------------------------------------------- /** - * \brief In addition to Dicom Header exploration, this class is designed + * \brief In addition to Dicom header exploration, this class is designed * for accessing the image/volume content. One can also use it to * write Dicom/ACR-NEMA/RAW files. */ @@ -47,15 +48,27 @@ public: public: FileHelper( ); - FileHelper( Header *header ); + FileHelper( File *header ); FileHelper( std::string const &filename ); virtual ~FileHelper(); void Print(std::ostream &os = std::cout, std::string const & indent = ""); - /// Accessor to \ref Header - Header *GetHeader() { return HeaderInternal; } + // File methods + bool SetValEntry(std::string const &content, + uint16_t group, uint16_t elem); + bool SetBinEntry(uint8_t *content, int lgth, + uint16_t group, uint16_t elem); + + ValEntry *InsertValEntry(std::string const &content, + uint16_t group, uint16_t elem); + BinEntry *InsertBinEntry(uint8_t *binArea, int lgth, + uint16_t group, uint16_t elem); + SeqEntry *InsertSeqEntry(uint16_t group, uint16_t elem); + + /// Accessor to \ref File + File *GetFile() { return FileInternal; } size_t GetImageDataSize(); size_t GetImageDataRawSize(); @@ -66,14 +79,14 @@ public: void SetImageData(uint8_t *data, size_t expectedSize); - // User datas + // User data void SetUserData(uint8_t *data, size_t expectedSize); uint8_t* GetUserData(); size_t GetUserDataSize(); - // RBG datas (from file + // RBG data (from file uint8_t* GetRGBData(); size_t GetRGBDataSize(); - // RAW datas (from file + // RAW data (from file uint8_t* GetRawData(); size_t GetRawDataSize(); @@ -86,19 +99,10 @@ public: bool WriteAcr (std::string const &fileName); bool Write (std::string const &fileName); - bool SetEntry(std::string const &content, - uint16_t group, uint16_t elem); - bool SetEntry(uint8_t *content, int lgth, - uint16_t group, uint16_t elem); - bool ReplaceOrCreate(std::string const &content, - uint16_t group, uint16_t elem); - bool ReplaceOrCreate(uint8_t *binArea, int lgth, - uint16_t group, uint16_t elem); - uint8_t* GetLutRGBA(); // Write mode - void SetWriteModeToRaw() { SetWriteMode(WMODE_RAW); }; + void SetWriteModeToRaw() { SetWriteMode(WMODE_RAW); }; void SetWriteModeToRGB() { SetWriteMode(WMODE_RGB); }; void SetWriteMode(FileMode mode) { WriteMode = mode; }; FileMode GetWriteMode() { return WriteMode; }; @@ -131,15 +135,15 @@ protected: BinEntry *CopyBinEntry(uint16_t group,uint16_t elem); private: - void Initialise(); + void Initialize(); uint8_t *GetRaw(); // members variables: - /// Header to use to load the file - Header *HeaderInternal; + /// gdcm::File to use to load the file + File *FileInternal; - /// \brief Whether the underlying \ref Header was loaded by + /// \brief Whether the underlying \ref gdcm::File was loaded by /// the constructor or passed to the constructor. When false /// the destructor is in charge of deletion. bool SelfHeader;