X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.h;h=2cfd69f70eded4db1f3ea55986771a83126c3649;hb=8b50829e21f22a3353c83e3d902cdf20bc5367f6;hp=485bcf71f5d01d2d6297bc6b9e1cc7b16ab474d5;hpb=ba78e6c6d47d6db1528e8e88e5ebde7296a26692;p=gdcm.git diff --git a/src/gdcmFile.h b/src/gdcmFile.h index 485bcf71..2cfd69f7 100644 --- a/src/gdcmFile.h +++ b/src/gdcmFile.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmFile.h,v $ Language: C++ - Date: $Date: 2004/12/03 20:16:58 $ - Version: $Revision: 1.83 $ + Date: $Date: 2004/12/10 13:49:07 $ + Version: $Revision: 1.86 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -38,13 +38,14 @@ class DocEntryArchive; class GDCM_EXPORT File { public: - enum WriteMode + enum FileMode { - WMODE_DECOMPRESSED, + WMODE_RAW, WMODE_RGB }; public: + File( ); File( Header* header ); File( std::string const& filename ); @@ -60,7 +61,18 @@ public: uint8_t* GetImageDataRaw(); size_t GetImageDataIntoVector(void* destination, size_t maxSize); - bool SetImageData (uint8_t* data, size_t expectedSize); + void SetImageData(uint8_t* data, size_t expectedSize); + + // User datas + void SetUserData(uint8_t* data, size_t expectedSize); + uint8_t* GetUserData(); + size_t GetUserDataSize(); + // RBG datas (from file + uint8_t* GetRGBData(); + size_t GetRGBDataSize(); + // RAW datas (from file + uint8_t* GetRawData(); + size_t GetRawDataSize(); // Write pixels of ONE image on hard drive // No test is made on processor "endianity" @@ -72,14 +84,21 @@ public: bool Write(std::string const& fileName); bool SetEntryByNumber(std::string const& content, + uint16_t group, uint16_t element); + bool SetEntryByNumber(uint8_t* content, int lgth, + uint16_t group, uint16_t element); + bool ReplaceOrCreateByNumber(std::string const& content, uint16_t group, uint16_t element); + bool ReplaceOrCreateByNumber(uint8_t* binArea, int lgth, + uint16_t group, uint16_t elem); + uint8_t* GetLutRGBA(); // Write mode - void SetWriteModeToDecompressed() { SetWriteMode(WMODE_DECOMPRESSED); }; + void SetWriteModeToRaw() { SetWriteMode(WMODE_RAW); }; void SetWriteModeToRGB() { SetWriteMode(WMODE_RGB); }; - void SetWriteMode(WriteMode mode) { WriteMode = mode; }; - WriteMode GetWriteMode() { return WriteMode; }; + void SetWriteMode(FileMode mode) { WriteMode = mode; }; + FileMode GetWriteMode() { return WriteMode; }; // Write format void SetWriteTypeToDcmImplVR() { SetWriteType(ImplicitVR); }; @@ -93,7 +112,7 @@ protected: bool WriteBase(std::string const& fileName); bool CheckWriteIntegrity(); - void SetWriteToDecompressed(); + void SetWriteToRaw(); void SetWriteToRGB(); void RestoreWrite(); @@ -112,8 +131,7 @@ protected: private: void Initialise(); - uint8_t* GetDecompressed(); - int ComputeDecompressedPixelDataSizeFromHeader(); + uint8_t* GetRaw(); private: // members variables: @@ -137,7 +155,7 @@ private: DocEntryArchive *Archive; // Write variables - WriteMode WriteMode; + FileMode WriteMode; FileType WriteType; }; } // end namespace gdcm