00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029 #ifndef DCRLECCE_H
00030 #define DCRLECCE_H
00031
00032 #include "dcmtk/config/osconfig.h"
00033 #include "dcmtk/dcmdata/dccodec.h"
00034
00035 class DcmItem;
00036
00041 class DcmRLECodecEncoder: public DcmCodec
00042 {
00043 public:
00044
00046 DcmRLECodecEncoder();
00047
00049 virtual ~DcmRLECodecEncoder();
00050
00061 virtual OFCondition decode(
00062 const DcmRepresentationParameter * fromRepParam,
00063 DcmPixelSequence * pixSeq,
00064 DcmPolymorphOBOW& uncompressedPixelData,
00065 const DcmCodecParameter * cp,
00066 const DcmStack& objStack) const;
00067
00093 virtual OFCondition decodeFrame(
00094 const DcmRepresentationParameter * fromParam,
00095 DcmPixelSequence * fromPixSeq,
00096 const DcmCodecParameter * cp,
00097 DcmItem *dataset,
00098 Uint32 frameNo,
00099 Uint32& startFragment,
00100 void *buffer,
00101 Uint32 bufSize,
00102 OFString& decompressedColorModel) const;
00103
00118 virtual OFCondition encode(
00119 const Uint16 * pixelData,
00120 const Uint32 length,
00121 const DcmRepresentationParameter * toRepParam,
00122 DcmPixelSequence * & pixSeq,
00123 const DcmCodecParameter *cp,
00124 DcmStack & objStack) const;
00125
00140 virtual OFCondition encode(
00141 const E_TransferSyntax fromRepType,
00142 const DcmRepresentationParameter * fromRepParam,
00143 DcmPixelSequence * fromPixSeq,
00144 const DcmRepresentationParameter * toRepParam,
00145 DcmPixelSequence * & toPixSeq,
00146 const DcmCodecParameter * cp,
00147 DcmStack & objStack) const;
00148
00156 virtual OFBool canChangeCoding(
00157 const E_TransferSyntax oldRepType,
00158 const E_TransferSyntax newRepType) const;
00159
00173 virtual OFCondition determineDecompressedColorModel(
00174 const DcmRepresentationParameter *fromParam,
00175 DcmPixelSequence *fromPixSeq,
00176 const DcmCodecParameter *cp,
00177 DcmItem *dataset,
00178 OFString &decompressedColorModel) const;
00179
00180 private:
00181
00183 DcmRLECodecEncoder(const DcmRLECodecEncoder&);
00184
00186 DcmRLECodecEncoder& operator=(const DcmRLECodecEncoder&);
00187
00194 static OFCondition updateDerivationDescription(
00195 DcmItem *dataset,
00196 double ratio);
00197 };
00198
00199 #endif
00200
00201
00202
00203
00204
00205
00206
00207
00208
00209
00210
00211
00212
00213
00214
00215
00216
00217
00218
00219
00220
00221
00222
00223
00224
00225
00226
00227
00228
00229
00230
00231
00232
00233