X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;ds=sidebyside;f=src%2FgdcmFile.h;h=9d2f21855b024c4c1bc6bb7cb2a0cc696bf2174c;hb=48c3e6379fcb2517d56c15d51e45c4c79543c16c;hp=e9bf7081b0321b3c8ff4516253f3469f294095a2;hpb=cbdf7d814e2c43c37dff624581dd77ac178e9ce7;p=gdcm.git diff --git a/src/gdcmFile.h b/src/gdcmFile.h index e9bf7081..9d2f2185 100644 --- a/src/gdcmFile.h +++ b/src/gdcmFile.h @@ -15,14 +15,24 @@ class GDCM_EXPORT gdcmFile: public gdcmHeader { private: void* PixelData; - size_t lgrTotale; + size_t lgrTotaleRaw; // Area length to receive the pixels + size_t lgrTotale; // Area length to receive the RGB pixels + // from Grey Plane + Palette Color + int Parsed; // weather already parsed std::string OrigFileName; // To avoid file overwrite void SwapZone(void* im, int swap, int lgr, int nb); + bool ReadPixelData(void * destination); - int gdcm_read_JPEG_file (void * image_buffer); - + int gdcm_read_JPEG_file (void * image_buffer); // For JPEG 8 Bits + int gdcm_read_JPEG_file12 (void * image_buffer); // For JPEG 12 Bits + int gdcm_read_JPEG2000_file (void * image_buffer); // For JPEG 2000 (TODO) + +// For Run Length Encoding (TOCHECK) + int gdcm_read_RLE_file (void * image_buffer); + + protected: int WriteBase(std::string FileName, FileType type); public: @@ -41,7 +51,9 @@ public: void SetPixelDataSizeFromHeader(void); size_t GetImageDataSize(); void * GetImageData(); - size_t GetImageDataIntoVector(void* destination, size_t MaxSize ); + size_t GetImageDataIntoVector(void* destination, size_t MaxSize); + void * GetImageDataRaw(); + size_t GetImageDataIntoVectorRaw(void* destination, size_t MaxSize); // Allocates ExpectedSize bytes of memory at this->Data and copies the // pointed data to it. Copying the image might look useless but @@ -62,11 +74,13 @@ public: // Aucun test n'est fait sur l'"Endiannerie" du processeur. // Ca sera à l'utilisateur d'appeler son Reader correctement - int WriteRawData (std::string nomFichier); - int WriteDcmImplVR(std::string nomFichier); - int WriteDcmImplVR(const char * nomFichier); - int WriteDcmExplVR(std::string nomFichier); - int WriteAcr (std::string nomFichier); + int WriteRawData (std::string fileName); + int WriteDcmImplVR(std::string fileName); + int WriteDcmImplVR(const char * fileName); + int WriteDcmExplVR(std::string fileName); + int WriteAcr (std::string fileName); + + bool ParsePixelData(void); }; #endif