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 DJENCODE_H
00030 #define DJENCODE_H
00031
00032 #include "dcmtk/config/osconfig.h"
00033 #include "dcmtk/ofstd/oftypes.h"
00034 #include "dcmtk/dcmjpeg/djutils.h"
00035 #include "dcmtk/dcmdata/dctypes.h"
00036
00037 class DJCodecParameter;
00038 class DJEncoderBaseline;
00039 class DJEncoderExtended;
00040 class DJEncoderLossless;
00041 class DJEncoderP14SV1;
00042 class DJEncoderProgressive;
00043 class DJEncoderSpectralSelection;
00044
00047 class DJEncoderRegistration
00048 {
00049 public:
00050
00081 static void registerCodecs(
00082 E_CompressionColorSpaceConversion pCompressionCSConversion = ECC_lossyYCbCr,
00083 E_UIDCreation pCreateSOPInstanceUID = EUC_default,
00084 OFBool pOptimizeHuffman = OFFalse,
00085 int pSmoothingFactor = 0,
00086 int pForcedBitDepth = 0,
00087 Uint32 pFragmentSize = 0,
00088 OFBool pCreateOffsetTable = OFTrue,
00089 E_SubSampling pSampleFactors = ESS_444,
00090 OFBool pWriteYBR422 = OFFalse,
00091 OFBool pConvertToSC = OFFalse,
00092 unsigned long pWindowType = 0,
00093 unsigned long pWindowParameter = 0,
00094 double pVoiCenter = 0.0,
00095 double pVoiWidth = 0.0,
00096 unsigned long pRoiLeft = 0,
00097 unsigned long pRoiTop = 0,
00098 unsigned long pRoiWidth = 0,
00099 unsigned long pRoiHeight = 0,
00100 OFBool pUsePixelValues = OFTrue,
00101 OFBool pUseModalityRescale = OFFalse,
00102 OFBool pAcceptWrongPaletteTags = OFFalse,
00103 OFBool pAcrNemaCompatibility = OFFalse,
00104 OFBool pRealLossless = OFTrue);
00105
00111 static void cleanup();
00112
00113 private:
00114
00116 static OFBool registered;
00117
00119 static DJCodecParameter *cp;
00120
00122 static DJEncoderBaseline *encbas;
00123
00125 static DJEncoderExtended *encext;
00126
00128 static DJEncoderSpectralSelection *encsps;
00129
00131 static DJEncoderProgressive *encpro;
00132
00134 static DJEncoderP14SV1 *encsv1;
00135
00137 static DJEncoderLossless *enclol;
00138
00139 };
00140
00141 #endif
00142
00143
00144
00145
00146
00147
00148
00149
00150
00151
00152
00153
00154
00155
00156
00157
00158
00159
00160
00161
00162
00163
00164
00165
00166
00167
00168
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180