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: dcmimage 00019 * 00020 * Author: Joerg Riesmeier 00021 * 00022 * Purpose: DicomColorPixel (Header) 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:01:34 $ 00026 * CVS/RCS Revision: $Revision: 1.16 $ 00027 * Status: $State: Exp $ 00028 * 00029 * CVS/RCS Log at end of file 00030 * 00031 */ 00032 00033 00034 #ifndef DICOPX_H 00035 #define DICOPX_H 00036 00037 #include "dcmtk/config/osconfig.h" 00038 00039 #include "dcmtk/dcmimgle/dipixel.h" 00040 #include "dcmtk/dcmimgle/diutils.h" 00041 00042 00043 /*------------------------* 00044 * forward declarations * 00045 *------------------------*/ 00046 00047 class DiDocument; 00048 class DiInputPixel; 00049 class DiMonoPixel; 00050 class DiColorPixel; 00051 00052 00053 /*---------------------* 00054 * class declaration * 00055 *---------------------*/ 00056 00057 00060 class DiColorPixel 00061 : public DiPixel 00062 { 00063 00064 public: 00065 00074 DiColorPixel(const DiDocument *docu, 00075 const DiInputPixel *pixel, 00076 const Uint16 samples, 00077 EI_Status &status, 00078 const Uint16 sample_rate = 0); 00079 00082 virtual ~DiColorPixel(); 00083 00088 inline int getPlanes() const 00089 { 00090 return 3; 00091 } 00092 00102 virtual OFBool getPixelData(void *data, 00103 const size_t count) const = 0; 00104 00120 virtual unsigned long createDIB(void *&data, 00121 const unsigned long size, 00122 const Uint16 width, 00123 const Uint16 height, 00124 const unsigned long frame, 00125 const int fromBits, 00126 const int toBits, 00127 const int mode, 00128 const int upsideDown, 00129 const int padding) const = 0; 00130 00142 virtual unsigned long createAWTBitmap(void *&data, 00143 const Uint16 width, 00144 const Uint16 height, 00145 const unsigned long frame, 00146 const int fromBits, 00147 const int toBits) const = 0; 00148 00149 00150 protected: 00151 00157 DiColorPixel(const DiColorPixel *pixel, 00158 const unsigned long count); 00159 00161 int PlanarConfiguration; 00162 }; 00163 00164 00165 #endif 00166 00167 00168 /* 00169 * 00170 * CVS/RCS Log: 00171 * $Log: dicopx.h,v $ 00172 * Revision 1.16 2005/12/08 16:01:34 meichel 00173 * Changed include path schema for all DCMTK header files 00174 * 00175 * Revision 1.15 2004/10/19 12:57:47 joergr 00176 * Enhanced API documentation. 00177 * 00178 * Revision 1.14 2003/12/17 18:18:08 joergr 00179 * Removed leading underscore characters from preprocessor symbols (reserved 00180 * symbols). 00181 * 00182 * Revision 1.13 2002/09/12 14:10:37 joergr 00183 * Replaced "createPixelData" by "getPixelData" which uses a new dcmdata 00184 * routine and is therefore more efficient. 00185 * 00186 * Revision 1.12 2002/08/29 12:57:49 joergr 00187 * Added method that creates pixel data in DICOM format. 00188 * 00189 * Revision 1.11 2002/01/29 17:07:08 joergr 00190 * Added optional flag to the "Windows DIB" methods allowing to switch off the 00191 * scanline padding. 00192 * 00193 * Revision 1.10 2001/11/09 16:44:01 joergr 00194 * Enhanced and renamed createTrueColorDIB() method. 00195 * Updated/Enhanced comments. 00196 * 00197 * Revision 1.9 2001/06/01 15:49:29 meichel 00198 * Updated copyright header 00199 * 00200 * Revision 1.8 2000/03/08 16:21:51 meichel 00201 * Updated copyright header. 00202 * 00203 * Revision 1.7 1999/04/29 09:31:13 joergr 00204 * Moved color related image files back to non-public part. 00205 * 00206 * Revision 1.1 1999/04/28 14:57:32 joergr 00207 * Moved files from dcmimage module to dcmimgle to support new pastel color 00208 * output format. 00209 * 00210 * Revision 1.5 1999/01/20 14:44:04 joergr 00211 * Corrected some typos and formatting. 00212 * 00213 * Revision 1.4 1998/11/27 13:47:54 joergr 00214 * Added copyright message. Added method to directly create java AWT bitmaps. 00215 * 00216 * Revision 1.3 1998/05/11 14:53:13 joergr 00217 * Added CVS/RCS header to each file. 00218 * 00219 * 00220 */