GDCM
2.2.0
|
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 GDCMRAWCODEC_H 00015 #define GDCMRAWCODEC_H 00016 00017 #include "gdcmImageCodec.h" 00018 00019 namespace gdcm 00020 { 00021 00022 class RAWInternals; 00026 class GDCM_EXPORT RAWCodec : public ImageCodec 00027 { 00028 public: 00029 RAWCodec(); 00030 ~RAWCodec(); 00031 bool CanCode(TransferSyntax const &ts) const; 00032 bool CanDecode(TransferSyntax const &ts) const; 00033 bool Decode(DataElement const &is, DataElement &os); 00034 bool Code(DataElement const &in, DataElement &out); 00035 00036 bool GetHeaderInfo(std::istream &is, TransferSyntax &ts); 00037 00040 bool DecodeBytes(const char* inBytes, size_t inBufferLength, 00041 char* outBytes, size_t inOutBufferLength); 00042 00043 protected: 00044 bool Decode(std::istream &is, std::ostream &os); 00045 00046 private: 00047 RAWInternals *Internals; 00048 }; 00049 00050 } // end namespace gdcm 00051 00052 #endif // GDCMRAWCODEC_H