Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | Related Pages

djencode.h

00001 /*
00002  *
00003  *  Copyright (C) 1997-2001, OFFIS
00004  *
00005  *  This software and supporting documentation were developed by
00006  *
00007  *    Kuratorium OFFIS e.V.
00008  *    Healthcare Information and Communication Systems
00009  *    Escherweg 2
00010  *    D-26121 Oldenburg, Germany
00011  *
00012  *  THIS SOFTWARE IS MADE AVAILABLE,  AS IS,  AND OFFIS MAKES NO  WARRANTY
00013  *  REGARDING  THE  SOFTWARE,  ITS  PERFORMANCE,  ITS  MERCHANTABILITY  OR
00014  *  FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES  OR
00015  *  ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND
00016  *  PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
00017  *
00018  *  Module:  dcmjpeg
00019  *
00020  *  Author:  Marco Eichelberg
00021  *
00022  *  Purpose: singleton class that registers encoders for all supported JPEG processes.
00023  *
00024  *  Last Update:      $Author: meichel $
00025  *  Update Date:      $Date: 2001/11/19 15:13:29 $
00026  *  Source File:      $Source: /share/dicom/cvs-depot/dcmtk/dcmjpeg/include/djencode.h,v $
00027  *  CVS/RCS Revision: $Revision: 1.2 $
00028  *  Status:           $State: Exp $
00029  *
00030  *  CVS/RCS Log at end of file
00031  *
00032  */
00033 
00034 #ifndef DJENCODE_H
00035 #define DJENCODE_H
00036 
00037 #include "osconfig.h"
00038 #include "oftypes.h"  /* for OFBool */
00039 #include "djutils.h"
00040 #include "dctypes.h"  /* for Uint32 */
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 
00084   static void registerCodecs(
00085     E_CompressionColorSpaceConversion pCompressionCSConversion = ECC_lossyYCbCr,
00086     E_UIDCreation pCreateSOPInstanceUID = EUC_default,
00087     OFBool pVerbose = OFFalse,
00088     OFBool pOptimizeHuffman = OFFalse,
00089     int pSmoothingFactor = 0,
00090     int pForcedBitDepth = 0,
00091     Uint32 pFragmentSize = 0,
00092     OFBool pCreateOffsetTable = OFTrue,
00093     E_SubSampling pSampleFactors = ESS_444,
00094     OFBool pWriteYBR422 = OFFalse,
00095     OFBool pConvertToSC = OFFalse,
00096     unsigned long pWindowType = 0,
00097     unsigned long pWindowParameter = 0,
00098     double pVoiCenter = 0.0,
00099     double pVoiWidth = 0.0,
00100     unsigned long pRoiLeft = 0,
00101     unsigned long pRoiTop = 0,
00102     unsigned long pRoiWidth = 0,
00103     unsigned long pRoiHeight = 0,
00104     OFBool pUsePixelValues = OFTrue,
00105     OFBool pUseModalityRescale = OFFalse);
00106 
00112   static void cleanup();
00113 
00114 private:
00115 
00117   static OFBool registered;
00118 
00120   static DJCodecParameter *cp;
00121   
00123   static DJEncoderBaseline *encbas;
00124 
00126   static DJEncoderExtended *encext;
00127 
00129   static DJEncoderSpectralSelection *encsps;
00130 
00132   static DJEncoderProgressive *encpro;
00133 
00135   static DJEncoderP14SV1 *encsv1;
00136 
00138   static DJEncoderLossless *enclol;
00139   
00140 };
00141 
00142 #endif
00143 
00144 /*
00145  * CVS/RCS Log
00146  * $Log: djencode.h,v $
00147  * Revision 1.2  2001/11/19 15:13:29  meichel
00148  * Introduced verbose mode in module dcmjpeg. If enabled, warning
00149  *   messages from the IJG library are printed on ofConsole, otherwise
00150  *   the library remains quiet.
00151  *
00152  * Revision 1.1  2001/11/13 15:56:27  meichel
00153  * Initial release of module dcmjpeg
00154  *
00155  *
00156  */


Generated on 29 Apr 2005 for OFFIS DCMTK Version 3.5.3 by Doxygen 1.4.2