X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=src%2FgdcmPixelConvert.h;h=8121f0b6f6931f33612f2d3c2193a9f6b19179b8;hb=da6bc02a3bb5627685bd70f5503305a7f9b3d7cd;hp=b9090889a30fa5fb1d2bb0eb6753430c9912a042;hpb=6bbf9cb61993d024630bf9b05b82e4346559c5b2;p=gdcm.git diff --git a/src/gdcmPixelConvert.h b/src/gdcmPixelConvert.h index b9090889..8121f0b6 100644 --- a/src/gdcmPixelConvert.h +++ b/src/gdcmPixelConvert.h @@ -3,8 +3,8 @@ Program: gdcm Module: $RCSfile: gdcmPixelConvert.h,v $ Language: C++ - Date: $Date: 2004/10/08 08:56:48 $ - Version: $Revision: 1.2 $ + Date: $Date: 2004/10/10 16:44:00 $ + Version: $Revision: 1.5 $ Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de l'Image). All rights reserved. See Doc/License.txt or @@ -21,6 +21,9 @@ #define GDCMPIXELCONVERTL_H #include "gdcmCommon.h" +#include "gdcmRLEFramesInfo.h" +#include "gdcmJPEGFragmentsInfo.h" +#include "gdcmException.h" /* * \brief Utility container for gathering the various forms the pixel data @@ -51,20 +54,56 @@ public: void Squeeze(); ////////////////////////////////////////////////////////// // In progress -bool ReadAndUncompress12Bits( FILE* filePointer, - size_t uncompressedSize, - size_t PixelNumber ); -bool ReadUncompressed( FILE* filePointer, - size_t uncompressedSize, - size_t expectedSize ); -bool ConvertGrayAndLutToRGB( uint8_t *lutRGBA ); -bool ReadAndUncompressRLE8Bits(FILE* fp, size_t uncompressedSize ); -static uint8_t* UncompressRLE16BitsFromRLE8Bits( - int XSize, - int YSize, - int NumberOfFrames, - uint8_t* fixMemUncompressed ); - + static bool UncompressRLE16BitsFromRLE8Bits( + int XSize, + int YSize, + int NumberOfFrames, + uint8_t* fixMemUncompressed ); + static bool ReadAndUncompressRLEFragment( + uint8_t* decodedZone, + long fragmentSize, + long uncompressedSegmentSize, + FILE* fp ); + static bool ReadAndDecompressRLEFile( + void* image_buffer, + int XSize, + int YSize, + int ZSize, + int BitsAllocated, + gdcmRLEFramesInfo* RLEInfo, + FILE* fp ); + static void ConvertDecompress12BitsTo16Bits( + uint8_t* pixelZone, + int sizeX, + int sizeY, + FILE* filePtr) throw ( gdcmFormatError ); + static void SwapZone(void* im, int swap, int lgr, int nb); + static void ConvertReorderEndianity( + uint8_t* pixelZone, + size_t imageDataSize, + int numberBitsStored, + int numberBitsAllocated, + int swapCode, + bool signedPixel ); + static bool ReadAndDecompressJPEGFile( + uint8_t* destination, + int XSize, + int YSize, + int BitsAllocated, + int BitsStored, + int SamplesPerPixel, + int PixelSize, + bool isJPEG2000, + bool isJPEGLossless, + gdcmJPEGFragmentsInfo* JPEGInfo, + FILE* fp ); + static bool gdcmPixelConvert::ConvertReArrangeBits( + uint8_t* pixelZone, + size_t imageDataSize, + int numberBitsStored, + int numberBitsAllocated, + int highBitPosition ) throw ( gdcmFormatError ); + };