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 DCRLECCD_H
00030 #define DCRLECCD_H
00031
00032 #include "dcmtk/config/osconfig.h"
00033 #include "dcmtk/dcmdata/dccodec.h"
00034
00039 class DcmRLECodecDecoder: public DcmCodec
00040 {
00041 public:
00042
00044 DcmRLECodecDecoder();
00045
00047 virtual ~DcmRLECodecDecoder();
00048
00059 virtual OFCondition decode(
00060 const DcmRepresentationParameter * fromRepParam,
00061 DcmPixelSequence * pixSeq,
00062 DcmPolymorphOBOW& uncompressedPixelData,
00063 const DcmCodecParameter * cp,
00064 const DcmStack& objStack) const;
00065
00091 virtual OFCondition decodeFrame(
00092 const DcmRepresentationParameter * fromParam,
00093 DcmPixelSequence * fromPixSeq,
00094 const DcmCodecParameter * cp,
00095 DcmItem *dataset,
00096 Uint32 frameNo,
00097 Uint32& startFragment,
00098 void *buffer,
00099 Uint32 bufSize,
00100 OFString& decompressedColorModel) const;
00101
00116 virtual OFCondition encode(
00117 const Uint16 * pixelData,
00118 const Uint32 length,
00119 const DcmRepresentationParameter * toRepParam,
00120 DcmPixelSequence * & pixSeq,
00121 const DcmCodecParameter *cp,
00122 DcmStack & objStack) const;
00123
00138 virtual OFCondition encode(
00139 const E_TransferSyntax fromRepType,
00140 const DcmRepresentationParameter * fromRepParam,
00141 DcmPixelSequence * fromPixSeq,
00142 const DcmRepresentationParameter * toRepParam,
00143 DcmPixelSequence * & toPixSeq,
00144 const DcmCodecParameter * cp,
00145 DcmStack & objStack) const;
00146
00154 virtual OFBool canChangeCoding(
00155 const E_TransferSyntax oldRepType,
00156 const E_TransferSyntax newRepType) const;
00157
00171 virtual OFCondition determineDecompressedColorModel(
00172 const DcmRepresentationParameter *fromParam,
00173 DcmPixelSequence *fromPixSeq,
00174 const DcmCodecParameter *cp,
00175 DcmItem *dataset,
00176 OFString &decompressedColorModel) const;
00177
00178 private:
00179
00181 DcmRLECodecDecoder(const DcmRLECodecDecoder&);
00182
00184 DcmRLECodecDecoder& operator=(const DcmRLECodecDecoder&);
00185 };
00186
00187 #endif
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
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