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: dcmimgle 00019 * 00020 * Author: Joerg Riesmeier 00021 * 00022 * Purpose: DicomPixel (Header) 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:48:04 $ 00026 * CVS/RCS Revision: $Revision: 1.11 $ 00027 * Status: $State: Exp $ 00028 * 00029 * CVS/RCS Log at end of file 00030 * 00031 */ 00032 00033 00034 #ifndef DIPIXEL_H 00035 #define DIPIXEL_H 00036 00037 #include "dcmtk/config/osconfig.h" 00038 #include "dcmtk/dcmdata/dctypes.h" 00039 00040 #include "dcmtk/dcmimgle/diutils.h" 00041 00042 00043 /*---------------------* 00044 * class declaration * 00045 *---------------------*/ 00046 00049 class DiPixel 00050 { 00051 00052 public: 00053 00059 DiPixel(const unsigned long count, 00060 const unsigned long inputCount = 0) 00061 : Count(count), 00062 InputCount(inputCount) 00063 { 00064 } 00065 00068 virtual ~DiPixel() 00069 { 00070 } 00071 00076 virtual EP_Representation getRepresentation() const = 0; 00077 00082 virtual int getPlanes() const = 0; 00083 00089 virtual const void *getData() const = 0; 00090 00096 virtual void *getDataPtr() = 0; 00097 00103 virtual void *getDataArrayPtr() = 0; 00104 00109 inline unsigned long getCount() const 00110 { 00111 return Count; 00112 } 00113 00118 inline unsigned long getInputCount() const 00119 { 00120 return InputCount; 00121 } 00122 00123 00124 protected: 00125 00127 /*const*/ unsigned long Count; 00128 00130 unsigned long InputCount; 00131 }; 00132 00133 00134 #endif 00135 00136 00137 /* 00138 * 00139 * CVS/RCS Log: 00140 * $Log: dipixel.h,v $ 00141 * Revision 1.11 2005/12/08 16:48:04 meichel 00142 * Changed include path schema for all DCMTK header files 00143 * 00144 * Revision 1.10 2004/10/19 12:58:24 joergr 00145 * Enhanced API documentation. 00146 * 00147 * Revision 1.9 2004/02/06 11:07:50 joergr 00148 * Distinguish more clearly between const and non-const access to pixel data. 00149 * 00150 * Revision 1.8 2003/12/09 10:07:16 joergr 00151 * Removed leading underscore characters from preprocessor symbols (reserved 00152 * symbols). Updated copyright header. 00153 * 00154 * Revision 1.7 2002/06/26 16:06:08 joergr 00155 * Enhanced handling of corrupted pixel data and/or length. 00156 * 00157 * Revision 1.6 2001/06/01 15:49:50 meichel 00158 * Updated copyright header 00159 * 00160 * Revision 1.5 2000/03/08 16:24:23 meichel 00161 * Updated copyright header. 00162 * 00163 * Revision 1.4 1999/09/17 12:47:51 joergr 00164 * Added/changed/completed DOC++ style comments in the header files. 00165 * 00166 * Revision 1.3 1999/03/24 17:20:22 joergr 00167 * Added/Modified comments and formatting. 00168 * 00169 * Revision 1.2 1999/01/20 15:12:10 joergr 00170 * Replaced invocation of getCount() by member variable Count where possible. 00171 * 00172 * Revision 1.1 1998/11/27 15:32:37 joergr 00173 * Added copyright message. 00174 * Introduced new pixel base class. 00175 * 00176 * 00177 */