X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmFile.h;h=caed93e645a8e4c5e70c86ab4f77802769718fb1;hb=f3985ba6c7bb644767b1f190d6c679b71a281582;hp=bf7142b3edaa55bf46406fb633ec43daf745dfe9;hpb=10aa56aa534bae643e3833474a49309330235196;p=gdcm.git diff --git a/src/gdcmFile.h b/src/gdcmFile.h index bf7142b3..caed93e6 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; - int Parsed; // weather allready parsed + 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: @@ -40,8 +50,11 @@ public: void SetPixelDataSizeFromHeader(void); size_t GetImageDataSize(); + size_t GetImageDataSizeRaw(); 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 +75,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