Program: gdcm
Module: $RCSfile: gdcmPixelReadConvert.h,v $
Language: C++
- Date: $Date: 2005/01/31 05:24:21 $
- Version: $Revision: 1.16 $
+ Date: $Date: 2005/06/17 12:35:00 $
+ Version: $Revision: 1.23 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#ifndef GDCMPIXELREADCONVERT_H
#define GDCMPIXELREADCONVERT_H
-#include "gdcmCommon.h"
#include "gdcmBase.h"
#include "gdcmException.h"
+#include <fstream>
namespace gdcm
{
PixelReadConvert();
virtual ~PixelReadConvert();
- //// Getter accessors:
- uint8_t* GetRGB() { return RGB; }
- size_t GetRGBSize() { return RGBSize; }
- uint8_t* GetRaw() { return Raw; }
- size_t GetRawSize() { return RawSize; }
- uint8_t* GetLutRGBA() { return LutRGBA; }
-
- //// Predicates:
+ void Print( std::ostream &os = std::cout, std::string const &indent = "" );
+
+ // Getter accessors:
+ uint8_t *GetRGB() { return RGB; }
+ size_t GetRGBSize() { return RGBSize; }
+ uint8_t *GetRaw() { return Raw; }
+ size_t GetRawSize() { return RawSize; }
+ uint8_t *GetLutRGBA() { return LutRGBA; }
+ int GetLutItemNumber() { return LutItemNumber; }
+ int GetLutItemSize() { return LutItemSize; }
+ // Predicates:
bool IsRawRGB();
- void Print( std::ostream &os = std::cout, std::string const & indent = "" );
-
// In progress
void GrabInformationsFromFile( File *file );
bool ReadAndDecompressPixelData( std::ifstream *fp );
void Squeeze();
bool BuildRGBImage();
+ void BuildLUTRGBA();
private:
// Use the fp:
- void ReadAndDecompress12BitsTo16Bits( std::ifstream *fp ) throw ( FormatError );
+ void ReadAndDecompress12BitsTo16Bits( std::ifstream *fp )
+ throw ( FormatError );
bool ReadAndDecompressJPEGFile( std::ifstream *fp );
- void BuildLUTRGBA( std::ifstream *fp );
-
// In place (within Decompressed and with no fp access) decompression
// or convertion:
- void BuildLUTRGBA();
void ConvertSwapZone();
void ConvertReorderEndianity();
bool ConvertReArrangeBits() throw ( FormatError );
+ void ConvertFixGreyLevels();
void ConvertRGBPlanesToRGBPixels();
void ConvertYcBcRPlanesToRGBPixels();
void ConvertHandleColor();
void AllocateRaw();
// Variables
- /// Pixel data represented as RGB after LUT color interpretation.
+/**
+ * \brief Pixel data represented as RGB after LUT color interpretation.
+ * 'uint8_t' is just to avoid warnings at compile time.
+ * feel free to cast it as uint16_t if you need
+ */
uint8_t *RGB;
/// Size of RGB image.
size_t RGBSize;
/// \brief Red/Green/Blue/Alpha LookUpTable build out of the
/// Red/Green/Blue LUT descriptors (see \ref BuildLUTRGBA ).
uint8_t *LutRGBA;
+ int LutItemNumber;
+ int LutItemSize;
+
+ // *ALL* the following info belong to the FileHelper
+ // One should think there is an analyze error in the model !
size_t PixelOffset;
size_t PixelDataLength;
bool IsJPEGLossy;
bool IsJPEG;
bool IsRLELossless;
+ bool IsMPEG;
RLEFramesInfo *RLEInfo;
JPEGFragmentsInfo *JPEGInfo;
// For handling color stage
int PlanarConfiguration;
bool IsMonochrome;
+ bool IsMonochrome1;
bool IsPaletteColor;
bool IsYBRFull;
bool HasLUT;
uint8_t *LutRedData;
uint8_t *LutGreenData;
uint8_t *LutBlueData;
-
};
} // end namespace gdcm