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 DCMJPLS_DJCPARAM_H
00030 #define DCMJPLS_DJCPARAM_H
00031
00032 #include "dcmtk/config/osconfig.h"
00033 #include "dcmtk/dcmdata/dccodec.h"
00034 #include "dcmtk/dcmjpls/djlsutil.h"
00035
00038 class DJLSCodecParameter: public DcmCodecParameter
00039 {
00040 public:
00041
00044 enum interleaveMode
00045 {
00048 interleaveDefault,
00050 interleaveSample,
00052 interleaveLine,
00054 interleaveNone
00055 };
00056
00073 DJLSCodecParameter(
00074 OFBool jpls_optionsEnabled,
00075 Uint16 jpls_t1 = 3,
00076 Uint16 jpls_t2 = 7,
00077 Uint16 jpls_t3 = 21,
00078 Uint16 jpls_reset = 64,
00079 Uint16 jpls_limit = 0,
00080 OFBool preferCookedEncoding = OFTrue,
00081 Uint32 fragmentSize = 0,
00082 OFBool createOffsetTable = OFTrue,
00083 JLS_UIDCreation uidCreation = EJLSUC_default,
00084 OFBool convertToSC = OFFalse,
00085 JLS_PlanarConfiguration planarConfiguration = EJLSPC_restore,
00086 OFBool ignoreOffsetTable = OFFalse,
00087 interleaveMode jplsInterleaveMode = interleaveLine);
00088
00094 DJLSCodecParameter(
00095 JLS_UIDCreation uidCreation = EJLSUC_default,
00096 JLS_PlanarConfiguration planarConfiguration = EJLSPC_restore,
00097 OFBool ignoreOffsetTable = OFFalse);
00098
00100 DJLSCodecParameter(const DJLSCodecParameter& arg);
00101
00103 virtual ~DJLSCodecParameter();
00104
00109 virtual DcmCodecParameter *clone() const;
00110
00114 virtual const char *className() const;
00115
00119 OFBool getConvertToSC() const
00120 {
00121 return convertToSC_;
00122 }
00123
00127 OFBool getCreateOffsetTable() const
00128 {
00129 return createOffsetTable_;
00130 }
00131
00135 JLS_UIDCreation getUIDCreation() const
00136 {
00137 return uidCreation_;
00138 }
00139
00143 JLS_PlanarConfiguration getPlanarConfiguration() const
00144 {
00145 return planarConfiguration_;
00146 }
00147
00152 OFBool cookedEncodingPreferred() const
00153 {
00154 return preferCookedEncoding_;
00155 }
00156
00160 Uint32 getFragmentSize() const
00161 {
00162 return fragmentSize_;
00163 }
00164
00168 Uint16 getT1() const
00169 {
00170 return jpls_t1_;
00171 }
00172
00176 Uint16 getT2() const
00177 {
00178 return jpls_t2_;
00179 }
00180
00184 Uint16 getT3() const
00185 {
00186 return jpls_t3_;
00187 }
00188
00192 Uint16 getReset() const
00193 {
00194 return jpls_reset_;
00195 }
00196
00200 Uint16 getLimit() const
00201 {
00202 return jpls_t1_;
00203 }
00204
00208 OFBool getUseCustomOptions() const
00209 {
00210 return jpls_optionsEnabled_;
00211 }
00212
00216 OFBool ignoreOffsetTable() const
00217 {
00218 return ignoreOffsetTable_;
00219 }
00220
00224 interleaveMode getJplsInterleaveMode() const
00225 {
00226 return jplsInterleaveMode_;
00227 }
00228
00229 private:
00230
00232 DJLSCodecParameter& operator=(const DJLSCodecParameter&);
00233
00234
00235
00236
00238 OFBool jpls_optionsEnabled_;
00239
00241 Uint16 jpls_t1_;
00242
00244 Uint16 jpls_t2_;
00245
00247 Uint16 jpls_t3_;
00248
00250 Uint16 jpls_reset_;
00251
00253 Uint16 jpls_limit_;
00254
00256 Uint32 fragmentSize_;
00257
00259 OFBool createOffsetTable_;
00260
00262 OFBool preferCookedEncoding_;
00263
00265 JLS_UIDCreation uidCreation_;
00266
00268 OFBool convertToSC_;
00269
00271 interleaveMode jplsInterleaveMode_;
00272
00273
00274
00275
00277 JLS_PlanarConfiguration planarConfiguration_;
00278
00280 OFBool ignoreOffsetTable_;
00281
00282 };
00283
00284
00285 #endif
00286
00287
00288
00289
00290
00291
00292
00293
00294
00295
00296
00297
00298
00299
00300
00301
00302
00303
00304
00305
00306
00307
00308
00309
00310
00311
00312
00313
00314
00315
00316
00317
00318
00319
00320
00321
00322
00323
00324
00325
00326
00327
00328