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: DicomCIELABLUT (Header) 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:47:34 $ 00026 * CVS/RCS Revision: $Revision: 1.10 $ 00027 * Status: $State: Exp $ 00028 * 00029 * CVS/RCS Log at end of file 00030 * 00031 */ 00032 00033 00034 #ifndef DICIELUT_H 00035 #define DICIELUT_H 00036 00037 #include "dcmtk/config/osconfig.h" 00038 00039 #include "dcmtk/dcmimgle/didislut.h" 00040 00041 00042 /*---------------------* 00043 * class declaration * 00044 *---------------------*/ 00045 00048 class DiCIELABLUT 00049 : public DiDisplayLUT 00050 { 00051 00052 public: 00053 00070 DiCIELABLUT(const unsigned long count, 00071 const Uint16 max, 00072 const Uint16 *ddl_tab, 00073 const double *val_tab, 00074 const unsigned long ddl_cnt, 00075 const double val_min, 00076 const double val_max, 00077 const double lum_min, 00078 const double lum_max, 00079 const double amb, 00080 const OFBool inverse = OFFalse, 00081 ostream *stream = NULL, 00082 const OFBool printMode = OFTrue); 00083 00086 virtual ~DiCIELABLUT(); 00087 00088 00089 protected: 00090 00106 int createLUT(const Uint16 *ddl_tab, 00107 const double *val_tab, 00108 const unsigned long ddl_cnt, 00109 const double val_min, 00110 const double val_max, 00111 const double lum_min, 00112 const double lum_max, 00113 const OFBool inverse = OFFalse, 00114 ostream *stream = NULL, 00115 const OFBool printMode = OFTrue); 00116 }; 00117 00118 00119 #endif 00120 00121 00122 /* 00123 * 00124 * CVS/RCS Log: 00125 * $Log: dicielut.h,v $ 00126 * Revision 1.10 2005/12/08 16:47:34 meichel 00127 * Changed include path schema for all DCMTK header files 00128 * 00129 * Revision 1.9 2003/12/08 18:16:55 joergr 00130 * Removed leading underscore characters from preprocessor symbols (reserved 00131 * symbols). Updated CVS header. 00132 * 00133 * Revision 1.8 2003/02/12 11:35:16 joergr 00134 * Added Dmin/max support to CIELAB calibration routines. 00135 * 00136 * Revision 1.7 2002/07/18 12:27:01 joergr 00137 * Added polygonal curve fitting algorithm as an alternate interpolation 00138 * method. 00139 * 00140 * Revision 1.6 2002/07/02 16:23:41 joergr 00141 * Added support for hardcopy devices to the calibrated output routines. 00142 * 00143 * Revision 1.5 2001/06/01 15:49:39 meichel 00144 * Updated copyright header 00145 * 00146 * Revision 1.4 2000/03/08 16:24:14 meichel 00147 * Updated copyright header. 00148 * 00149 * Revision 1.3 1999/10/18 15:05:50 joergr 00150 * Enhanced command line tool dcmdspfn (added new options). 00151 * 00152 * Revision 1.2 1999/09/17 12:08:23 joergr 00153 * Added/changed/completed DOC++ style comments in the header files. 00154 * 00155 * Revision 1.1 1999/09/10 08:50:23 joergr 00156 * Added support for CIELAB display function. Restructured class hierarchy 00157 * for display functions. 00158 * 00159 */