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: encoder codec class for RLE 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:28:34 $ 00026 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dcmtk/dcmdata/dcrlecce.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 DCRLECCE_H 00035 #define DCRLECCE_H 00036 00037 #include "dcmtk/config/osconfig.h" 00038 #include "dcmtk/dcmdata/dccodec.h" /* for class DcmCodec */ 00039 00040 class DcmItem; 00041 00046 class DcmRLECodecEncoder: public DcmCodec 00047 { 00048 public: 00049 00051 DcmRLECodecEncoder(); 00052 00054 virtual ~DcmRLECodecEncoder(); 00055 00066 virtual OFCondition decode( 00067 const DcmRepresentationParameter * fromRepParam, 00068 DcmPixelSequence * pixSeq, 00069 DcmPolymorphOBOW& uncompressedPixelData, 00070 const DcmCodecParameter * cp, 00071 const DcmStack& objStack) const; 00072 00087 virtual OFCondition encode( 00088 const Uint16 * pixelData, 00089 const Uint32 length, 00090 const DcmRepresentationParameter * toRepParam, 00091 DcmPixelSequence * & pixSeq, 00092 const DcmCodecParameter *cp, 00093 DcmStack & objStack) const; 00094 00109 virtual OFCondition encode( 00110 const E_TransferSyntax fromRepType, 00111 const DcmRepresentationParameter * fromRepParam, 00112 DcmPixelSequence * fromPixSeq, 00113 const DcmRepresentationParameter * toRepParam, 00114 DcmPixelSequence * & toPixSeq, 00115 const DcmCodecParameter * cp, 00116 DcmStack & objStack) const; 00117 00125 virtual OFBool canChangeCoding( 00126 const E_TransferSyntax oldRepType, 00127 const E_TransferSyntax newRepType) const; 00128 00129 private: 00130 00132 DcmRLECodecEncoder(const DcmRLECodecEncoder&); 00133 00135 DcmRLECodecEncoder& operator=(const DcmRLECodecEncoder&); 00136 00143 static OFCondition updateDerivationDescription( 00144 DcmItem *dataset, 00145 double ratio); 00146 00147 }; 00148 00149 #endif 00150 00151 /* 00152 * CVS/RCS Log 00153 * $Log: dcrlecce.h,v $ 00154 * Revision 1.3 2005/12/08 16:28:34 meichel 00155 * Changed include path schema for all DCMTK header files 00156 * 00157 * Revision 1.2 2003/03/21 13:06:46 meichel 00158 * Minor code purifications for warnings reported by MSVC in Level 4 00159 * 00160 * Revision 1.1 2002/06/06 14:52:35 meichel 00161 * Initial release of the new RLE codec classes 00162 * and the dcmcrle/dcmdrle tools in module dcmdata 00163 * 00164 * 00165 */