00001 /* 00002 * 00003 * Copyright (C) 1998-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: dcmpstat 00019 * 00020 * Author: Marco Eichelberg 00021 * 00022 * Purpose: 00023 * classes: DVPSOverlay 00024 * 00025 * Last Update: $Author: meichel $ 00026 * Update Date: $Date: 2005/12/08 16:03:53 $ 00027 * CVS/RCS Revision: $Revision: 1.10 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef __DVPSOV_H__ 00035 #define __DVPSOV_H__ 00036 00037 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00038 #include "dcmtk/dcmdata/dctk.h" 00039 00040 class DicomImage; 00041 00048 class DVPSOverlay 00049 { 00050 public: 00052 DVPSOverlay(); 00053 00055 DVPSOverlay(const DVPSOverlay& copy); 00056 00061 DVPSOverlay *clone() const { return new DVPSOverlay(*this); } 00062 00064 virtual ~DVPSOverlay(); 00065 00080 OFCondition read(DcmItem &dset, Uint8 ovGroup, Uint8 asGroup=0xFF); 00081 00088 OFCondition write(DcmItem &dset); 00089 00093 Uint8 getOverlayGroup() const { return overlayGroup; } 00094 00099 void setOverlayGroup(Uint8 newGroup) { overlayGroup = newGroup; } 00100 00108 OFBool isSuitableAsShutter(unsigned long x, unsigned long y); 00109 00114 const char *getOverlayLabel(); 00115 00120 const char *getOverlayDescription(); 00121 00125 OFBool isROI(); 00126 00134 OFCondition getValues( 00135 Sint16& originX, 00136 Sint16& originY, 00137 Uint16& sizeX, 00138 Uint16& sizeY); 00139 00141 DcmOverlayData& getData() { return overlayData; } 00142 00144 DcmLongString& getLabel() { return overlayLabel; } 00145 00147 DcmLongString& getDescription() { return overlayDescription; } 00148 00154 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode); 00155 00156 private: 00157 00159 DVPSOverlay& operator=(const DVPSOverlay&); 00160 00162 Uint8 overlayGroup; 00164 DcmUnsignedShort overlayRows; 00166 DcmUnsignedShort overlayColumns; 00168 DcmCodeString overlayType; 00170 DcmSignedShort overlayOrigin; 00172 DcmUnsignedShort overlayBitsAllocated; 00174 DcmUnsignedShort overlayBitPosition; 00176 DcmOverlayData overlayData; 00178 DcmLongString overlayDescription; 00180 DcmLongString overlayLabel; 00181 00184 OFConsole *logstream; 00185 00188 OFBool verboseMode; 00189 00192 OFBool debugMode; 00193 00194 }; 00195 00196 #endif 00197 00198 /* 00199 * $Log: dvpsov.h,v $ 00200 * Revision 1.10 2005/12/08 16:03:53 meichel 00201 * Changed include path schema for all DCMTK header files 00202 * 00203 * Revision 1.9 2003/08/27 14:59:41 meichel 00204 * Changed API of class DVPSOverlay to avoid dependency on module dcmimgle 00205 * 00206 * Revision 1.8 2001/09/26 15:36:13 meichel 00207 * Adapted dcmpstat to class OFCondition 00208 * 00209 * Revision 1.7 2001/06/01 15:50:18 meichel 00210 * Updated copyright header 00211 * 00212 * Revision 1.6 2000/06/02 16:00:48 meichel 00213 * Adapted all dcmpstat classes to use OFConsole for log and error output 00214 * 00215 * Revision 1.5 2000/03/08 16:28:53 meichel 00216 * Updated copyright header. 00217 * 00218 * Revision 1.4 1999/02/09 15:58:56 meichel 00219 * Implemented bitmap shutter activation amd method for 00220 * exchanging graphic layers. 00221 * 00222 * Revision 1.3 1998/12/22 17:57:06 meichel 00223 * Implemented Presentation State interface for overlays, 00224 * VOI LUTs, VOI windows, curves. Added test program that 00225 * allows to add curve data to DICOM images. 00226 * 00227 * Revision 1.2 1998/12/14 16:10:31 meichel 00228 * Implemented Presentation State interface for graphic layers, 00229 * text and graphic annotations, presentation LUTs. 00230 * 00231 * Revision 1.1 1998/11/27 14:50:30 meichel 00232 * Initial Release. 00233 * 00234 * 00235 */ 00236