GDCM  2.2.0
gdcmRLECodec.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program: GDCM (Grassroots DICOM). A DICOM library
00004 
00005   Copyright (c) 2006-2011 Mathieu Malaterre
00006   All rights reserved.
00007   See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
00008 
00009      This software is distributed WITHOUT ANY WARRANTY; without even
00010      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
00011      PURPOSE.  See the above copyright notice for more information.
00012 
00013 =========================================================================*/
00014 #ifndef GDCMRLECODEC_H
00015 #define GDCMRLECODEC_H
00016 
00017 #include "gdcmImageCodec.h"
00018 
00019 namespace gdcm
00020 {
00021 
00022 class RLEInternals;
00033 class GDCM_EXPORT RLECodec : public ImageCodec
00034 {
00035 public:
00036   RLECodec();
00037   ~RLECodec();
00038   bool CanCode(TransferSyntax const &ts) const;
00039   bool CanDecode(TransferSyntax const &ts) const;
00040   bool Decode(DataElement const &is, DataElement &os);
00041   unsigned long GetBufferLength() const { return BufferLength; }
00042   void SetBufferLength(unsigned long l) { BufferLength = l; }
00043 
00044   bool Code(DataElement const &in, DataElement &out);
00045   bool GetHeaderInfo(std::istream &is, TransferSyntax &ts);
00046 
00047 protected:
00048   bool Decode(std::istream &is, std::ostream &os);
00049 public:
00050 
00051   void SetLength(unsigned long l)
00052     {
00053     Length = l;
00054     }
00055 private:
00056   RLEInternals *Internals;
00057   unsigned long Length;
00058   unsigned long BufferLength;
00059 };
00060 
00061 } // end namespace gdcm
00062 
00063 #endif //GDCMRLECODEC_H

Generated on Fri Mar 30 2012 12:44:06 for GDCM by doxygen 1.8.0
SourceForge.net Logo