00001 /* 00002 * 00003 * Copyright (C) 1994-2005, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmdata 00019 * 00020 * Author: Marco Eichelberg 00021 * 00022 * Purpose: codec parameter for RLE 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:28:35 $ 00026 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dcmtk/dcmdata/dcrlecp.h,v $ 00027 * CVS/RCS Revision: $Revision: 1.3 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef DCRLECP_H 00035 #define DCRLECP_H 00036 00037 #include "dcmtk/config/osconfig.h" 00038 #include "dcmtk/dcmdata/dccodec.h" /* for DcmCodecParameter */ 00039 00042 class DcmRLECodecParameter: public DcmCodecParameter 00043 { 00044 public: 00045 00058 DcmRLECodecParameter( 00059 OFBool pVerbose = OFFalse, 00060 OFBool pCreateSOPInstanceUID = OFFalse, 00061 Uint32 pFragmentSize = 0, 00062 OFBool pCreateOffsetTable = OFTrue, 00063 OFBool pConvertToSC = OFFalse, 00064 OFBool pReverseDecompressionByteOrder = OFFalse); 00065 00067 DcmRLECodecParameter(const DcmRLECodecParameter& arg); 00068 00070 virtual ~DcmRLECodecParameter(); 00071 00076 virtual DcmCodecParameter *clone() const; 00077 00081 virtual const char *className() const; 00082 00086 Uint32 getFragmentSize() const 00087 { 00088 return fragmentSize; 00089 } 00090 00094 OFBool getCreateOffsetTable() const 00095 { 00096 return createOffsetTable; 00097 } 00098 00102 OFBool getConvertToSC() const 00103 { 00104 return convertToSC; 00105 } 00106 00110 OFBool getUIDCreation() const 00111 { 00112 return createInstanceUID; 00113 } 00114 00118 OFBool isVerbose() const 00119 { 00120 return verboseMode; 00121 } 00122 00126 OFBool getReverseDecompressionByteOrder() const 00127 { 00128 return reverseDecompressionByteOrder; 00129 } 00130 00131 00132 private: 00133 00135 DcmRLECodecParameter& operator=(const DcmRLECodecParameter&); 00136 00138 Uint32 fragmentSize; 00139 00141 OFBool createOffsetTable; 00142 00144 OFBool convertToSC; 00145 00147 OFBool createInstanceUID; 00148 00152 OFBool reverseDecompressionByteOrder; 00153 00155 OFBool verboseMode; 00156 }; 00157 00158 00159 #endif 00160 00161 /* 00162 * CVS/RCS Log 00163 * $Log: dcrlecp.h,v $ 00164 * Revision 1.3 2005/12/08 16:28:35 meichel 00165 * Changed include path schema for all DCMTK header files 00166 * 00167 * Revision 1.2 2005/07/26 17:08:33 meichel 00168 * Added option to RLE decoder that allows to correctly decode images with 00169 * incorrect byte order of byte segments (LSB instead of MSB). 00170 * 00171 * Revision 1.1 2002/06/06 14:52:35 meichel 00172 * Initial release of the new RLE codec classes 00173 * and the dcmcrle/dcmdrle tools in module dcmdata 00174 * 00175 * 00176 */