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