dcmimage/include/dcmtk/dcmimage/dicopx.h

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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1