dicopx.h

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  */


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5