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: dcmimage 00015 * 00016 * Author: Joerg Riesmeier 00017 * 00018 * Purpose: DicomColorPixel (Header) 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:16:29 $ 00022 * CVS/RCS Revision: $Revision: 1.20 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 00030 #ifndef DICOPX_H 00031 #define DICOPX_H 00032 00033 #include "dcmtk/config/osconfig.h" 00034 00035 #include "dcmtk/dcmimage/dilogger.h" 00036 #include "dcmtk/dcmimgle/dipixel.h" 00037 00038 00039 /*------------------------* 00040 * forward declarations * 00041 *------------------------*/ 00042 00043 class DiDocument; 00044 class DiInputPixel; 00045 class DiMonoPixel; 00046 class DiColorPixel; 00047 00048 00049 /*---------------------* 00050 * class declaration * 00051 *---------------------*/ 00052 00053 00056 class DiColorPixel 00057 : public DiPixel 00058 { 00059 00060 public: 00061 00070 DiColorPixel(const DiDocument *docu, 00071 const DiInputPixel *pixel, 00072 const Uint16 samples, 00073 EI_Status &status, 00074 const Uint16 sample_rate = 0); 00075 00078 virtual ~DiColorPixel(); 00079 00084 inline int getPlanes() const 00085 { 00086 return 3; 00087 } 00088 00093 inline int getPlanarConfiguration() const 00094 { 00095 return PlanarConfiguration; 00096 } 00097 00108 virtual OFBool getPixelData(void *data, 00109 const unsigned long count, 00110 const unsigned long fcount, 00111 const unsigned long frames, 00112 const int planar) const = 0; 00113 00129 virtual unsigned long createDIB(void *&data, 00130 const unsigned long size, 00131 const Uint16 width, 00132 const Uint16 height, 00133 const unsigned long frame, 00134 const int fromBits, 00135 const int toBits, 00136 const int mode, 00137 const int upsideDown, 00138 const int padding) const = 0; 00139 00151 virtual unsigned long createAWTBitmap(void *&data, 00152 const Uint16 width, 00153 const Uint16 height, 00154 const unsigned long frame, 00155 const int fromBits, 00156 const int toBits) const = 0; 00157 00158 00159 protected: 00160 00166 DiColorPixel(const DiColorPixel *pixel, 00167 const unsigned long count); 00168 00170 int PlanarConfiguration; 00171 }; 00172 00173 00174 #endif 00175 00176 00177 /* 00178 * 00179 * CVS/RCS Log: 00180 * $Log: dicopx.h,v $ 00181 * Revision 1.20 2010-10-14 13:16:29 joergr 00182 * Updated copyright header. Added reference to COPYRIGHT file. 00183 * 00184 * Revision 1.19 2010-03-01 09:08:46 uli 00185 * Removed some unnecessary include directives in the headers. 00186 * 00187 * Revision 1.18 2009-11-25 14:36:20 joergr 00188 * Added new source and header file for the module logger. 00189 * 00190 * Revision 1.17 2008-05-13 10:03:34 joergr 00191 * Fixed issue with multi-frame color images: writeImageToDataset() used wrong 00192 * format for color-by-plane output. 00193 * 00194 * Revision 1.16 2005/12/08 16:01:34 meichel 00195 * Changed include path schema for all DCMTK header files 00196 * 00197 * Revision 1.15 2004/10/19 12:57:47 joergr 00198 * Enhanced API documentation. 00199 * 00200 * Revision 1.14 2003/12/17 18:18:08 joergr 00201 * Removed leading underscore characters from preprocessor symbols (reserved 00202 * symbols). 00203 * 00204 * Revision 1.13 2002/09/12 14:10:37 joergr 00205 * Replaced "createPixelData" by "getPixelData" which uses a new dcmdata 00206 * routine and is therefore more efficient. 00207 * 00208 * Revision 1.12 2002/08/29 12:57:49 joergr 00209 * Added method that creates pixel data in DICOM format. 00210 * 00211 * Revision 1.11 2002/01/29 17:07:08 joergr 00212 * Added optional flag to the "Windows DIB" methods allowing to switch off the 00213 * scanline padding. 00214 * 00215 * Revision 1.10 2001/11/09 16:44:01 joergr 00216 * Enhanced and renamed createTrueColorDIB() method. 00217 * Updated/Enhanced comments. 00218 * 00219 * Revision 1.9 2001/06/01 15:49:29 meichel 00220 * Updated copyright header 00221 * 00222 * Revision 1.8 2000/03/08 16:21:51 meichel 00223 * Updated copyright header. 00224 * 00225 * Revision 1.7 1999/04/29 09:31:13 joergr 00226 * Moved color related image files back to non-public part. 00227 * 00228 * Revision 1.1 1999/04/28 14:57:32 joergr 00229 * Moved files from dcmimage module to dcmimgle to support new pastel color 00230 * output format. 00231 * 00232 * Revision 1.5 1999/01/20 14:44:04 joergr 00233 * Corrected some typos and formatting. 00234 * 00235 * Revision 1.4 1998/11/27 13:47:54 joergr 00236 * Added copyright message. Added method to directly create java AWT bitmaps. 00237 * 00238 * Revision 1.3 1998/05/11 14:53:13 joergr 00239 * Added CVS/RCS header to each file. 00240 * 00241 * 00242 */