diciefn.h

00001 /*
00002  *
00003  *  Copyright (C) 1996-2005, 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:  dcmimgle
00019  *
00020  *  Author:  Joerg Riesmeier
00021  *
00022  *  Purpose: DicomCIELABFunction (Header)
00023  *
00024  *  Last Update:      $Author: meichel $
00025  *  Update Date:      $Date: 2005/12/08 16:47:33 $
00026  *  CVS/RCS Revision: $Revision: 1.12 $
00027  *  Status:           $State: Exp $
00028  *
00029  *  CVS/RCS Log at end of file
00030  *
00031  */
00032 
00033 
00034 #ifndef DICIEFN_H
00035 #define DICIEFN_H
00036 
00037 #include "dcmtk/config/osconfig.h"
00038 
00039 #include "dcmtk/dcmimgle/didispfn.h"
00040 #include "dcmtk/dcmimgle/dicielut.h"
00041 
00042 
00043 /*---------------------*
00044  *  class declaration  *
00045  *---------------------*/
00046 
00049 class DiCIELABFunction
00050   : public DiDisplayFunction
00051 {
00052 
00053  public:
00054 
00066     DiCIELABFunction(const char *filename,
00067                      const E_DeviceType deviceType = EDT_Monitor,
00068                      const signed int ord = -1);
00069 
00081     DiCIELABFunction(const double *val_tab,
00082                      const unsigned long count,
00083                      const Uint16 max = 255,
00084                      const E_DeviceType deviceType = EDT_Monitor,
00085                      const signed int ord = 0);
00086 
00099     DiCIELABFunction(const Uint16 *ddl_tab,
00100                      const double *val_tab,
00101                      const unsigned long count,
00102                      const Uint16 max = 255,
00103                      const E_DeviceType deviceType = EDT_Monitor,
00104                      const signed int ord = 0);
00105 
00115     DiCIELABFunction(const double val_min,
00116                      const double val_max,
00117                      const unsigned long count = 256,
00118                      const E_DeviceType deviceType = EDT_Monitor,
00119                      const signed int ord = 0);
00120 
00123     virtual ~DiCIELABFunction();
00124 
00132     int writeCurveData(const char *filename,
00133                        const OFBool mode = OFTrue);
00134 
00135 
00136  protected:
00137 
00144     DiDisplayLUT *getDisplayLUT(unsigned long count);
00145 
00146 
00147  private:
00148 
00149  // --- declarations to avoid compiler warnings
00150 
00151     DiCIELABFunction(const DiDisplayFunction &);
00152     DiCIELABFunction &operator=(const DiDisplayFunction &);
00153 };
00154 
00155 
00156 #endif
00157 
00158 
00159 /*
00160  *
00161  * CVS/RCS Log:
00162  * $Log: diciefn.h,v $
00163  * Revision 1.12  2005/12/08 16:47:33  meichel
00164  * Changed include path schema for all DCMTK header files
00165  *
00166  * Revision 1.11  2003/12/08 18:15:58  joergr
00167  * Removed leading underscore characters from preprocessor symbols (reserved
00168  * symbols). Updated copyright header.
00169  *
00170  * Revision 1.10  2002/07/19 08:24:21  joergr
00171  * Enhanced/corrected comments.
00172  *
00173  * Revision 1.9  2002/07/18 12:26:30  joergr
00174  * Added support for hardcopy and softcopy input devices (camera and scanner).
00175  * Added polygonal curve fitting algorithm as an alternate interpolation
00176  * method.
00177  *
00178  * Revision 1.8  2002/07/02 16:23:41  joergr
00179  * Added support for hardcopy devices to the calibrated output routines.
00180  *
00181  * Revision 1.7  2001/06/01 15:49:39  meichel
00182  * Updated copyright header
00183  *
00184  * Revision 1.6  2000/03/08 16:24:13  meichel
00185  * Updated copyright header.
00186  *
00187  * Revision 1.5  2000/03/06 18:18:59  joergr
00188  * Moved get-method to base class, renamed method and made method virtual to
00189  * avoid hiding of methods (reported by Sun CC 4.2).
00190  *
00191  * Revision 1.4  1999/10/18 15:05:49  joergr
00192  * Enhanced command line tool dcmdspfn (added new options).
00193  *
00194  * Revision 1.3  1999/10/18 10:15:49  joergr
00195  * Moved min/max value determination to display function base class. Now the
00196  * actual min/max values are also used for GSDFunction (instead of first and
00197  * last luminance value).
00198  *
00199  * Revision 1.2  1999/09/17 12:08:22  joergr
00200  * Added/changed/completed DOC++ style comments in the header files.
00201  *
00202  * Revision 1.1  1999/09/10 08:50:22  joergr
00203  * Added support for CIELAB display function. Restructured class hierarchy
00204  * for display functions.
00205  *
00206  *
00207  */


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5