Program: gdcm
Module: $RCSfile: gdcmRLEFrame.h,v $
Language: C++
- Date: $Date: 2004/12/03 10:21:54 $
- Version: $Revision: 1.9 $
+ Date: $Date: 2005/09/02 07:10:03 $
+ Version: $Revision: 1.16 $
Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
l'Image). All rights reserved. See Doc/License.txt or
#define GDCMRLEFRAME_H
#include "gdcmCommon.h"
+
#include <iostream>
+#include <fstream>
namespace gdcm
{
*/
class GDCM_EXPORT RLEFrame
{
-friend class Document;
-friend class PixelReadConvert;
- unsigned int NumberFragments;
- long Offset[15];
- long Length[15];
public:
- RLEFrame() { NumberFragments = 0; }
- void Print( std::string indent = "", std::ostream &os = std::cout );
-
+ RLEFrame() { NumberOfFragments = 0; }
+ void Print( std::ostream &os = std::cout, std::string indent = "" );
+
+ void SetNumberOfFragments(unsigned int number)
+ { NumberOfFragments = number; }
+ unsigned int GetNumberOfFragments() { return NumberOfFragments; }
+ void SetOffset(unsigned int id, long offset);
+ long GetOffset(unsigned int id);
+ void SetLength(unsigned int id, long length);
+ long GetLength(unsigned int id);
+
+ uint8_t *ReadAndDecompressRLEFrame( uint8_t *subRaw,long rawSegmentSize,
+ std::ifstream *fp );
+ bool ReadAndDecompressRLEFragment( uint8_t *subRaw, long fragmentSize,
+ long rawSegmentSize, std::ifstream *fp );
+
+private:
+ unsigned int NumberOfFragments;
+ long Offset[15];
+ long Length[15];
};
} // end namespace gdcm
//-----------------------------------------------------------------------------