OFFIS DCMTK  Version 3.6.0
djencode.h
1 /*
2  *
3  * Copyright (C) 1997-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmjpeg
15  *
16  * Author: Marco Eichelberg
17  *
18  * Purpose: singleton class that registers encoders for all supported JPEG processes.
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:17:17 $
22  * CVS/RCS Revision: $Revision: 1.9 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 #ifndef DJENCODE_H
30 #define DJENCODE_H
31 
32 #include "dcmtk/config/osconfig.h"
33 #include "dcmtk/ofstd/oftypes.h" /* for OFBool */
34 #include "dcmtk/dcmjpeg/djutils.h"
35 #include "dcmtk/dcmdata/dctypes.h" /* for Uint32 */
36 
37 class DJCodecParameter;
38 class DJEncoderBaseline;
39 class DJEncoderExtended;
40 class DJEncoderLossless;
41 class DJEncoderP14SV1;
44 
48 {
49 public:
50 
81  static void registerCodecs(
82  E_CompressionColorSpaceConversion pCompressionCSConversion = ECC_lossyYCbCr,
83  E_UIDCreation pCreateSOPInstanceUID = EUC_default,
84  OFBool pOptimizeHuffman = OFFalse,
85  int pSmoothingFactor = 0,
86  int pForcedBitDepth = 0,
87  Uint32 pFragmentSize = 0,
88  OFBool pCreateOffsetTable = OFTrue,
89  E_SubSampling pSampleFactors = ESS_444,
90  OFBool pWriteYBR422 = OFFalse,
91  OFBool pConvertToSC = OFFalse,
92  unsigned long pWindowType = 0,
93  unsigned long pWindowParameter = 0,
94  double pVoiCenter = 0.0,
95  double pVoiWidth = 0.0,
96  unsigned long pRoiLeft = 0,
97  unsigned long pRoiTop = 0,
98  unsigned long pRoiWidth = 0,
99  unsigned long pRoiHeight = 0,
100  OFBool pUsePixelValues = OFTrue,
101  OFBool pUseModalityRescale = OFFalse,
102  OFBool pAcceptWrongPaletteTags = OFFalse,
103  OFBool pAcrNemaCompatibility = OFFalse,
104  OFBool pRealLossless = OFTrue);
105 
111  static void cleanup();
112 
113 private:
114 
116  static OFBool registered;
117 
120 
123 
126 
129 
132 
135 
138 
139 };
140 
141 #endif
142 
143 /*
144  * CVS/RCS Log
145  * $Log: djencode.h,v $
146  * Revision 1.9 2010-10-14 13:17:17 joergr
147  * Updated copyright header. Added reference to COPYRIGHT file.
148  *
149  * Revision 1.8 2009-10-07 12:44:33 uli
150  * Switched to logging mechanism provided by the "new" oflog module.
151  *
152  * Revision 1.7 2008-04-30 12:45:52 meichel
153  * DJEncoderRegistration::registerCodecs now by default enables the
154  * true lossless codec instead of pseudo-lossless.
155  *
156  * Revision 1.6 2005/12/08 16:59:32 meichel
157  * Changed include path schema for all DCMTK header files
158  *
159  * Revision 1.5 2005/11/29 15:57:05 onken
160  * Added commandline options --accept-acr-nema and --accept-palettes
161  * (same as in dcm2pnm) to dcmcjpeg and extended dcmjpeg to support
162  * these options. Thanks to Gilles Mevel for suggestion.
163  *
164  * Revision 1.3 2005/11/29 08:50:34 onken
165  * Added support for "true" lossless compression in dcmjpeg, that doesn't
166  * use dcmimage classes, but compresses raw pixel data (8 and 16 bit) to
167  * avoid losses in quality caused by color space conversions or modality
168  * transformations etc.
169  * Corresponding commandline option in dcmcjpeg (new default)
170  *
171  * Revision 1.2 2001/11/19 15:13:29 meichel
172  * Introduced verbose mode in module dcmjpeg. If enabled, warning
173  * messages from the IJG library are printed on ofConsole, otherwise
174  * the library remains quiet.
175  *
176  * Revision 1.1 2001/11/13 15:56:27 meichel
177  * Initial release of module dcmjpeg
178  *
179  *
180  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2