00001 /* 00002 * 00003 * Copyright (C) 1997-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmjpeg 00015 * 00016 * Author: Marco Eichelberg 00017 * 00018 * Purpose: singleton class that registers decoders for all supported JPEG processes. 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:17:17 $ 00022 * CVS/RCS Revision: $Revision: 1.6 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 #ifndef DJDECODE_H 00030 #define DJDECODE_H 00031 00032 #include "dcmtk/config/osconfig.h" 00033 #include "dcmtk/ofstd/oftypes.h" /* for OFBool */ 00034 #include "dcmtk/dcmjpeg/djutils.h" 00035 00036 class DJCodecParameter; 00037 class DJDecoderBaseline; 00038 class DJDecoderExtended; 00039 class DJDecoderLossless; 00040 class DJDecoderP14SV1; 00041 class DJDecoderProgressive; 00042 class DJDecoderSpectralSelection; 00043 00046 class DJDecoderRegistration 00047 { 00048 public: 00059 static void registerCodecs( 00060 E_DecompressionColorSpaceConversion pDecompressionCSConversion = EDC_photometricInterpretation, 00061 E_UIDCreation pCreateSOPInstanceUID = EUC_default, 00062 E_PlanarConfiguration pPlanarConfiguration = EPC_default, 00063 OFBool predictor6WorkaroundEnable = OFFalse); 00064 00070 static void cleanup(); 00071 00072 private: 00073 00075 static OFBool registered; 00076 00078 static DJCodecParameter *cp; 00079 00081 static DJDecoderBaseline *decbas; 00082 00084 static DJDecoderExtended *decext; 00085 00087 static DJDecoderSpectralSelection *decsps; 00088 00090 static DJDecoderProgressive *decpro; 00091 00093 static DJDecoderP14SV1 *decsv1; 00094 00096 static DJDecoderLossless *declol; 00097 00098 }; 00099 00100 #endif 00101 00102 /* 00103 * CVS/RCS Log 00104 * $Log: djdecode.h,v $ 00105 * Revision 1.6 2010-10-14 13:17:17 joergr 00106 * Updated copyright header. Added reference to COPYRIGHT file. 00107 * 00108 * Revision 1.5 2009-10-07 12:44:33 uli 00109 * Switched to logging mechanism provided by the "new" oflog module. 00110 * 00111 * Revision 1.4 2006-03-29 15:58:52 meichel 00112 * Added support for decompressing images with 16 bits/pixel compressed with 00113 * a faulty lossless JPEG encoder that produces integer overflows in predictor 6. 00114 * 00115 * Revision 1.3 2005/12/08 16:59:18 meichel 00116 * Changed include path schema for all DCMTK header files 00117 * 00118 * Revision 1.2 2001/11/19 15:13:27 meichel 00119 * Introduced verbose mode in module dcmjpeg. If enabled, warning 00120 * messages from the IJG library are printed on ofConsole, otherwise 00121 * the library remains quiet. 00122 * 00123 * Revision 1.1 2001/11/13 15:56:20 meichel 00124 * Initial release of module dcmjpeg 00125 * 00126 * 00127 */