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: dcmimgle 00015 * 00016 * Author: Joerg Riesmeier 00017 * 00018 * Purpose: DicomPixel (Header) 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:16:27 $ 00022 * CVS/RCS Revision: $Revision: 1.13 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 00030 #ifndef DIPIXEL_H 00031 #define DIPIXEL_H 00032 00033 #include "dcmtk/config/osconfig.h" 00034 00035 #include "dcmtk/dcmimgle/diutils.h" 00036 00037 00038 /*---------------------* 00039 * class declaration * 00040 *---------------------*/ 00041 00044 class DiPixel 00045 { 00046 00047 public: 00048 00054 DiPixel(const unsigned long count, 00055 const unsigned long inputCount = 0) 00056 : Count(count), 00057 InputCount(inputCount) 00058 { 00059 } 00060 00063 virtual ~DiPixel() 00064 { 00065 } 00066 00071 virtual EP_Representation getRepresentation() const = 0; 00072 00077 virtual int getPlanes() const = 0; 00078 00084 virtual const void *getData() const = 0; 00085 00091 virtual void *getDataPtr() = 0; 00092 00098 virtual void *getDataArrayPtr() = 0; 00099 00104 inline unsigned long getCount() const 00105 { 00106 return Count; 00107 } 00108 00113 inline unsigned long getInputCount() const 00114 { 00115 return InputCount; 00116 } 00117 00118 00119 protected: 00120 00122 /*const*/ unsigned long Count; 00123 00125 unsigned long InputCount; 00126 }; 00127 00128 00129 #endif 00130 00131 00132 /* 00133 * 00134 * CVS/RCS Log: 00135 * $Log: dipixel.h,v $ 00136 * Revision 1.13 2010-10-14 13:16:27 joergr 00137 * Updated copyright header. Added reference to COPYRIGHT file. 00138 * 00139 * Revision 1.12 2010-03-01 09:08:47 uli 00140 * Removed some unnecessary include directives in the headers. 00141 * 00142 * Revision 1.11 2005-12-08 16:48:04 meichel 00143 * Changed include path schema for all DCMTK header files 00144 * 00145 * Revision 1.10 2004/10/19 12:58:24 joergr 00146 * Enhanced API documentation. 00147 * 00148 * Revision 1.9 2004/02/06 11:07:50 joergr 00149 * Distinguish more clearly between const and non-const access to pixel data. 00150 * 00151 * Revision 1.8 2003/12/09 10:07:16 joergr 00152 * Removed leading underscore characters from preprocessor symbols (reserved 00153 * symbols). Updated copyright header. 00154 * 00155 * Revision 1.7 2002/06/26 16:06:08 joergr 00156 * Enhanced handling of corrupted pixel data and/or length. 00157 * 00158 * Revision 1.6 2001/06/01 15:49:50 meichel 00159 * Updated copyright header 00160 * 00161 * Revision 1.5 2000/03/08 16:24:23 meichel 00162 * Updated copyright header. 00163 * 00164 * Revision 1.4 1999/09/17 12:47:51 joergr 00165 * Added/changed/completed DOC++ style comments in the header files. 00166 * 00167 * Revision 1.3 1999/03/24 17:20:22 joergr 00168 * Added/Modified comments and formatting. 00169 * 00170 * Revision 1.2 1999/01/20 15:12:10 joergr 00171 * Replaced invocation of getCount() by member variable Count where possible. 00172 * 00173 * Revision 1.1 1998/11/27 15:32:37 joergr 00174 * Added copyright message. 00175 * Introduced new pixel base class. 00176 * 00177 * 00178 */