Program: gdcm
Module: $RCSfile: gdcmPixelReadConvert.h,v $
Language: C++
- Date: $Date: 2004/12/03 10:21:55 $
- Version: $Revision: 1.1 $
+ Date: $Date: 2004/12/16 13:46:37 $
+ Version: $Revision: 1.7 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#define GDCMPIXELREADCONVERT_H
#include "gdcmCommon.h"
-#include "gdcmRLEFramesInfo.h"
-#include "gdcmJPEGFragmentsInfo.h"
+#include "gdcmBase.h"
#include "gdcmException.h"
-#include "gdcmHeader.h"
namespace gdcm
{
+class Header;
+class RLEFramesInfo;
+class JPEGFragmentsInfo;
/*
* \brief Utility container for gathering the various forms the pixel data
* migth take during the user demanded processes.
*/
-class GDCM_EXPORT PixelReadConvert
+class GDCM_EXPORT PixelReadConvert : public Base
{
public:
PixelReadConvert();
- ~PixelReadConvert();
+ virtual ~PixelReadConvert();
//// Getter accessors:
uint8_t* GetRGB() { return RGB; }
size_t GetRGBSize() { return RGBSize; }
- uint8_t* GetDecompressed() { return Decompressed; }
- size_t GetDecompressedSize() { return DecompressedSize; }
+ uint8_t* GetRaw() { return Raw; }
+ size_t GetRawSize() { return RawSize; }
uint8_t* GetLutRGBA() { return LutRGBA; }
//// Predicates:
- bool IsDecompressedRGB();
+ bool IsRawRGB();
+ void Print( std::ostream &os = std::cout );
void Print( std::string indent = "", std::ostream &os = std::cout );
// In progress
void ReadAndDecompress12BitsTo16Bits( std::ifstream* fp ) throw ( FormatError );
bool ReadAndDecompressRLEFile( std::ifstream* fp );
bool ReadAndDecompressJPEGFile( std::ifstream* fp );
+ bool ReadAndDecompressJPEGFramesFromFile( std::ifstream* fp );
+ bool ReadAndDecompressJPEGSingleFrameFragmentsFromFile( std::ifstream* fp );
+ bool ReadAndDecompressJPEGFragmentedFramesFromFile( std::ifstream* fp );
+
+
void BuildLUTRGBA( std::ifstream* fp );
// In place (within Decompressed and with no fp access) decompression
void ConvertYcBcRPlanesToRGBPixels();
void ConvertHandleColor();
- void ComputeDecompressedAndRGBSizes();
+ void ComputeRawAndRGBSizes();
void AllocateRGB();
- void AllocateDecompressed();
+ void AllocateRaw();
// Variables
/// Pixel data represented as RGB after LUT color interpretation.
/// Size of \ref RGB image.
size_t RGBSize;
/// Pixel data after decompression and bit/byte rearrangement.
- uint8_t* Decompressed;
+ uint8_t* Raw;
/// Size of \ref Decompressed image.
- size_t DecompressedSize;
+ size_t RawSize;
/// \brief Red/Green/Blue/Alpha LookUpTable build out of the
/// Red/Green/Blue LUT descriptors (see \ref BuildLUTRGBA ).
uint8_t* LutRGBA;
bool PixelSign;
int SwapCode;
- bool IsDecompressed;
+ bool IsRaw;
bool IsJPEG2000;
bool IsJPEGLossless;
bool IsRLELossless;