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: DVPSVOIWindow 00024 * 00025 * Last Update: $Author: meichel $ 00026 * Update Date: $Date: 2005/12/08 16:04:13 $ 00027 * CVS/RCS Revision: $Revision: 1.6 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef __DVPSVW_H__ 00035 #define __DVPSVW_H__ 00036 00037 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */ 00038 #include "dcmtk/ofstd/ofstring.h" 00039 #include "dcmtk/dcmdata/dcerror.h" /* for OFCondition */ 00040 00041 class DcmDecimalString; 00042 class DcmLongString; 00043 class OFConsole; 00044 00048 class DVPSVOIWindow 00049 { 00050 public: 00052 DVPSVOIWindow(); 00053 00055 DVPSVOIWindow(const DVPSVOIWindow& copy); 00056 00061 DVPSVOIWindow *clone() { return new DVPSVOIWindow(*this); } 00062 00064 virtual ~DVPSVOIWindow(); 00065 00075 OFCondition read(size_t idx, DcmDecimalString &wcenter, DcmDecimalString& wwidth, DcmLongString *expl=NULL); 00076 00081 void clear(); 00082 00087 const char *getExplanation(); 00088 00092 double getWindowCenter() { return windowCenter; } 00093 00097 double getWindowWidth() { return windowWidth; } 00098 00104 void setLog(OFConsole *stream, OFBool verbMode, OFBool dbgMode); 00105 00106 private: 00108 DVPSVOIWindow& operator=(const DVPSVOIWindow&); 00109 // window center 00110 double windowCenter; 00111 // window width 00112 double windowWidth; 00113 // optional window explanation 00114 OFString windowCenterWidthExplanation; 00115 00118 OFConsole *logstream; 00119 00122 OFBool verboseMode; 00123 00126 OFBool debugMode; 00127 00128 }; 00129 00130 #endif 00131 00132 /* 00133 * $Log: dvpsvw.h,v $ 00134 * Revision 1.6 2005/12/08 16:04:13 meichel 00135 * Changed include path schema for all DCMTK header files 00136 * 00137 * Revision 1.5 2001/09/26 15:36:19 meichel 00138 * Adapted dcmpstat to class OFCondition 00139 * 00140 * Revision 1.4 2001/06/01 15:50:25 meichel 00141 * Updated copyright header 00142 * 00143 * Revision 1.3 2000/06/02 16:00:55 meichel 00144 * Adapted all dcmpstat classes to use OFConsole for log and error output 00145 * 00146 * Revision 1.2 2000/03/08 16:28:59 meichel 00147 * Updated copyright header. 00148 * 00149 * Revision 1.1 1998/12/22 17:57:10 meichel 00150 * Implemented Presentation State interface for overlays, 00151 * VOI LUTs, VOI windows, curves. Added test program that 00152 * allows to add curve data to DICOM images. 00153 * 00154 * 00155 */ 00156