GDCM 2.0.17
|
00001 /*========================================================================= 00002 00003 Program: GDCM (Grassroots DICOM). A DICOM library 00004 Module: $URL$ 00005 00006 Copyright (c) 2006-2010 Mathieu Malaterre 00007 All rights reserved. 00008 See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00015 #ifndef GDCMRAWCODEC_H 00016 #define GDCMRAWCODEC_H 00017 00018 #include "gdcmImageCodec.h" 00019 00020 namespace gdcm 00021 { 00022 00023 class RAWInternals; 00027 class GDCM_EXPORT RAWCodec : public ImageCodec 00028 { 00029 public: 00030 RAWCodec(); 00031 ~RAWCodec(); 00032 bool CanCode(TransferSyntax const &ts) const; 00033 bool CanDecode(TransferSyntax const &ts) const; 00034 bool Decode(DataElement const &is, DataElement &os); 00035 bool Code(DataElement const &in, DataElement &out); 00036 00037 bool GetHeaderInfo(std::istream &is, TransferSyntax &ts); 00038 00041 bool DecodeBytes(const char* inBytes, size_t inBufferLength, 00042 char* outBytes, size_t inOutBufferLength); 00043 00044 protected: 00045 bool Decode(std::istream &is, std::ostream &os); 00046 00047 private: 00048 RAWInternals *Internals; 00049 }; 00050 00051 } // end namespace gdcm 00052 00053 #endif //__gdcmRAWcodec_h