dcmjpls/include/dcmtk/dcmjpls/djencode.h

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:  dcmjpls
00015  *
00016  *  Author:  Martin Willkomm, Uli Schlachter
00017  *
00018  *  Purpose: singleton class that registers encoders for all supported JPEG-LS processes.
00019  *
00020  *  Last Update:      $Author: joergr $
00021  *  Update Date:      $Date: 2010-10-14 13:17:19 $
00022  *  CVS/RCS Revision: $Revision: 1.5 $
00023  *  Status:           $State: Exp $
00024  *
00025  *  CVS/RCS Log at end of file
00026  *
00027  */
00028 
00029 #ifndef DCMJPLS_DJENCODE_H
00030 #define DCMJPLS_DJENCODE_H
00031 
00032 #include "dcmtk/config/osconfig.h"
00033 #include "dcmtk/ofstd/oftypes.h"  /* for OFBool */
00034 #include "dcmtk/dcmjpls/djlsutil.h"
00035 #include "dcmtk/dcmdata/dctypes.h"  /* for Uint32 */
00036 #include "dcmtk/dcmjpls/djcparam.h" /* for class DJLSCodecParameter */
00037 
00038 class DJLSCodecParameter;
00039 class DJLSLosslessEncoder;
00040 class DJLSNearLosslessEncoder;
00041 
00044 class DJLSEncoderRegistration
00045 {
00046 public:
00047 
00064   static void registerCodecs(
00065     OFBool jpls_optionsEnabled = OFFalse,
00066     Uint16 jpls_t1 = 3,
00067     Uint16 jpls_t2 = 7,
00068     Uint16 jpls_t3 = 21,
00069     Uint16 jpls_reset = 64,
00070     Uint16 jpls_limit = 0,
00071     OFBool preferCookedEncoding = OFTrue,
00072     Uint32 fragmentSize = 0,
00073     OFBool createOffsetTable = OFTrue,
00074     JLS_UIDCreation uidCreation = EJLSUC_default,
00075     OFBool convertToSC = OFFalse,
00076     DJLSCodecParameter::interleaveMode jplsInterleaveMode = DJLSCodecParameter::interleaveDefault);
00077 
00083   static void cleanup();
00084 
00085 private:
00086 
00088   static OFBool registered_;
00089 
00091   static DJLSCodecParameter *cp_;
00092 
00094   static DJLSLosslessEncoder  *losslessencoder_;
00095 
00097   static DJLSNearLosslessEncoder *nearlosslessencoder_;
00098 
00099 };
00100 
00101 #endif
00102 
00103 /*
00104  * CVS/RCS Log:
00105  * $Log: djencode.h,v $
00106  * Revision 1.5  2010-10-14 13:17:19  joergr
00107  * Updated copyright header. Added reference to COPYRIGHT file.
00108  *
00109  * Revision 1.4  2010-03-01 10:35:28  uli
00110  * Renamed include guards to avoid name clash with e.g. dcmjpeg.
00111  *
00112  * Revision 1.3  2009-10-07 13:16:47  uli
00113  * Switched to logging mechanism provided by the "new" oflog module.
00114  *
00115  * Revision 1.2  2009-07-31 09:14:53  meichel
00116  * Added codec parameter and command line options that allow to control
00117  *   the interleave mode used in the JPEG-LS bitstream when compressing
00118  *   color images.
00119  *
00120  * Revision 1.1  2009-07-29 14:46:46  meichel
00121  * Initial release of module dcmjpls, a JPEG-LS codec for DCMTK based on CharLS
00122  *
00123  * Revision 1.1  2007-06-15 14:35:45  meichel
00124  * Renamed CMake project and include directory from dcmjpgls to dcmjpls
00125  *
00126  * Revision 1.3  2007/06/14 12:36:14  meichel
00127  * Further code clean-up. Updated doxygen comments.
00128  *
00129  * Revision 1.2  2007/06/13 16:41:07  meichel
00130  * Code clean-up and removal of dead code
00131  *
00132  *
00133  */


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1