Program: gdcm
Module: $RCSfile: gdcmFile.h,v $
Language: C++
- Date: $Date: 2004/10/01 12:40:57 $
- Version: $Revision: 1.55 $
+ Date: $Date: 2004/10/12 04:35:46 $
+ Version: $Revision: 1.60 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#include "gdcmCommon.h"
#include "gdcmHeader.h"
+namespace gdcm
+{
+
//-----------------------------------------------------------------------------
/*
* In addition to Dicom header exploration, this class is designed
* for accessing the image/volume content. One can also use it to
* write Dicom/ACR-NEMA/RAW files.
*/
-class GDCM_EXPORT gdcmFile
+class GDCM_EXPORT File
{
public:
- gdcmFile( gdcmHeader *header );
- gdcmFile( std::string const& filename );
+ File( Header *header );
+ File( std::string const& filename );
- virtual ~gdcmFile();
+ virtual ~File();
/// Accessor to \ref Header
- gdcmHeader* GetHeader() { return Header; }
+ Header* GetHeader() { return HeaderInternal; }
int ComputeDecompressedPixelDataSizeFromHeader();
void ConvertRGBPlanesToRGBPixels( uint8_t* source, uint8_t* destination );
void ConvertYcBcRPlanesToRGBPixels( uint8_t* source, uint8_t* destination );
- void ConvertReArrangeBits(
- uint8_t* pixelZone,
- size_t imageDataSize,
- int numberBitsStored,
- int numberBitsAllocated,
- int highBitPosition ) throw ( gdcmFormatError );
- void ConvertReorderEndianity(
- uint8_t* pixelZone,
- size_t imageDataSize,
- int numberBitsStored,
- int numberBitsAllocated,
- bool signedPixel );
- void ConvertDecompress12BitsTo16Bits(
- uint8_t* pixelZone,
- int sizeX,
- int sizeY,
- FILE* filePtr) throw ( gdcmFormatError);
/// Accessor to \ref ImageDataSize
size_t GetImageDataSize(){ return ImageDataSize; };
uint8_t* GetImageDataRaw();
size_t GetImageDataIntoVectorRaw(void* destination, size_t maxSize);
- // see also gdcmHeader::SetImageDataSize ?!?
+ // see also Header::SetImageDataSize ?!?
bool SetImageData (uint8_t* data, size_t expectedSize);
/// \todo When the caller is aware we simply point to the data:
virtual bool SetEntryByNumber(std::string const& content,
uint16_t group, uint16_t element)
{
- Header->SetEntryByNumber(content,group,element);
+ HeaderInternal->SetEntryByNumber(content,group,element);
return true;
}
private:
void Initialise();
- 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);
bool gdcm_write_JPEG_file (FILE* fp, void* image_buffer,
int image_width, int image_heigh,
int quality);
// For JPEG 12 Bits, body in file gdcmJpeg12.cxx
- bool gdcm_read_JPEG_file12 (FILE* fp, void* image_buffer);
bool gdcm_write_JPEG_file12 (FILE* fp, void* image_buffer,
int image_width, int image_height,
int quality);
- // For JPEG 2000, body in file gdcmJpeg2000.cxx
- bool gdcm_read_JPEG2000_file (FILE* fp, void* image_buffer);
-
- // For Run Length Encoding
- bool gdcm_read_RLE_file (FILE* fp, void* image_buffer);
-// FIXME : *sure* it's NOT static (C++)
-// (would be static in C, or embedded in ADA)
-// It's NOT a method, but a not user intended fonction.
-// How do we write that in C++ ?)
- static int gdcm_read_RLE_fragment(char **areaToRead, long lengthToDecode,
- long uncompressedSegmentSize, FILE* fp);
-
- void SaveInitialValues(); // will belong to the future gdcmPixelData class
- void RestoreInitialValues(); // will belong to the future gdcmPixelData class
- void DeleteInitialValues(); // will belong to the future gdcmPixelData class
+ void SaveInitialValues(); // will belong to the future PixelData class
+ void RestoreInitialValues(); // will belong to the future PixelData class
+ void DeleteInitialValues(); // will belong to the future PixelData class
// members variables:
/// \brief Header to use to load the file
- gdcmHeader *Header;
+ Header *HeaderInternal;
- /// \brief Whether the underlying \ref gdcmHeader was loaded by
+ /// \brief Whether the underlying \ref Header was loaded by
/// the constructor or passed to the constructor. When false
/// the destructor is in charge of deletion.
bool SelfHeader;
bool Parsed;
//
-// --------------- Will be moved to a gdcmPixelData class
+// --------------- Will be moved to a PixelData class
//
/// \brief to hold the Pixels (when read)
// We keep a pointer on them for a future use.
/// \brief Red Palette Color Lookup Table Descriptor 0028 1101 as read
- gdcmDocEntry* InitialRedLUTDescr;
+ DocEntry* InitialRedLUTDescr;
/// \brief Green Palette Color Lookup Table Descriptor 0028 1102 as read
- gdcmDocEntry* InitialGreenLUTDescr;
+ DocEntry* InitialGreenLUTDescr;
/// \brief Blue Palette Color Lookup Table Descriptor 0028 1103 as read
- gdcmDocEntry* InitialBlueLUTDescr;
+ DocEntry* InitialBlueLUTDescr;
/// \brief Red Palette Color Lookup Table Data 0028 1201 as read
- gdcmDocEntry* InitialRedLUTData;
+ DocEntry* InitialRedLUTData;
/// \brief Green Palette Color Lookup Table Data 0028 1202 as read
- gdcmDocEntry* InitialGreenLUTData;
+ DocEntry* InitialGreenLUTData;
/// \brief Blue Palette Color Lookup Table Data 0028 1203 as read
- gdcmDocEntry* InitialBlueLUTData;
+ DocEntry* InitialBlueLUTData;
//
-// --------------- end of future gdcmPixelData class
+// --------------- end of future PixelData class
//
};
+} // end namespace gdcm
//-----------------------------------------------------------------------------
#endif