- size_t GetImageDataSizeRaw();
-
- void * GetImageData();
- 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
- // the caller might destroy it's image (without knowing it: think
- // of a complicated interface where display is done with a library
- // e.g. VTK) before calling the Write
-
- // see also gdcmHeader::SetImageDataSize ?!?
- bool SetImageData (void * data, size_t expectedSize);
-
- /// \todo When the caller is aware we simply point to the data:
- /// int SetImageDataNoCopy (void * Data, size_t ExpectedSize);
-
- // Write pixels of ONE image on hard drive
- // No test is made on processor "endianity"
- // The user must call his reader correctly
- bool WriteRawData (std::string const & fileName);
- bool WriteDcmImplVR(std::string const & fileName);
- bool WriteDcmExplVR(std::string const & fileName);
- bool WriteAcr (std::string const & fileName);
-
- // Don't look any longer for the code :
- // It's in file gdcmParsePixels.cxx
- bool ParsePixelData();
-
- virtual bool SetEntryByNumber(std::string const & content,
- uint16_t group, uint16_t element)
- {
- Header->SetEntryByNumber(content,group,element);
- return true;
- }
-
-protected:
- bool WriteBase(std::string const & fileName, FileType type);
-
-private:
- void SwapZone(void* im, int swap, int lgr, int nb);
-
- bool ReadPixelData(void * destination);
-
- // For JPEG 8 Bits, body in file gdcmJpeg.cxx
- bool gdcm_read_JPEG_file (FILE *fp, void * image_buffer);
- static int gdcm_read_RLE_fragment(char **areaToRead, long lengthToDecode,
- long uncompressedSegmentSize, FILE *fp);