dcmimgle/include/dcmtk/dcmimgle/diciefn.h

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


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