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
00030
00031
00032
00033
00034 #ifndef DJENCODE_H
00035 #define DJENCODE_H
00036
00037 #include "dcmtk/config/osconfig.h"
00038 #include "dcmtk/ofstd/oftypes.h"
00039 #include "dcmtk/dcmjpeg/djutils.h"
00040 #include "dcmtk/dcmdata/dctypes.h"
00041
00042 class DJCodecParameter;
00043 class DJEncoderBaseline;
00044 class DJEncoderExtended;
00045 class DJEncoderLossless;
00046 class DJEncoderP14SV1;
00047 class DJEncoderProgressive;
00048 class DJEncoderSpectralSelection;
00049
00052 class DJEncoderRegistration
00053 {
00054 public:
00055
00087 static void registerCodecs(
00088 E_CompressionColorSpaceConversion pCompressionCSConversion = ECC_lossyYCbCr,
00089 E_UIDCreation pCreateSOPInstanceUID = EUC_default,
00090 OFBool pVerbose = OFFalse,
00091 OFBool pOptimizeHuffman = OFFalse,
00092 int pSmoothingFactor = 0,
00093 int pForcedBitDepth = 0,
00094 Uint32 pFragmentSize = 0,
00095 OFBool pCreateOffsetTable = OFTrue,
00096 E_SubSampling pSampleFactors = ESS_444,
00097 OFBool pWriteYBR422 = OFFalse,
00098 OFBool pConvertToSC = OFFalse,
00099 unsigned long pWindowType = 0,
00100 unsigned long pWindowParameter = 0,
00101 double pVoiCenter = 0.0,
00102 double pVoiWidth = 0.0,
00103 unsigned long pRoiLeft = 0,
00104 unsigned long pRoiTop = 0,
00105 unsigned long pRoiWidth = 0,
00106 unsigned long pRoiHeight = 0,
00107 OFBool pUsePixelValues = OFTrue,
00108 OFBool pUseModalityRescale = OFFalse,
00109 OFBool pAcceptWrongPaletteTags = OFFalse,
00110 OFBool pAcrNemaCompatibility = OFFalse,
00111 OFBool pRealLossless = OFFalse);
00112
00118 static void cleanup();
00119
00120 private:
00121
00123 static OFBool registered;
00124
00126 static DJCodecParameter *cp;
00127
00129 static DJEncoderBaseline *encbas;
00130
00132 static DJEncoderExtended *encext;
00133
00135 static DJEncoderSpectralSelection *encsps;
00136
00138 static DJEncoderProgressive *encpro;
00139
00141 static DJEncoderP14SV1 *encsv1;
00142
00144 static DJEncoderLossless *enclol;
00145
00146 };
00147
00148 #endif
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