dcmpstat/include/dcmtk/dcmpstat/dvpsov.h

00001 /*
00002  *
00003  *  Copyright (C) 1998-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: dcmpstat
00015  *
00016  *  Author: Marco Eichelberg
00017  *
00018  *  Purpose:
00019  *    classes: DVPSOverlay
00020  *
00021  *  Last Update:      $Author: joergr $
00022  *  Update Date:      $Date: 2010-10-14 13:16:36 $
00023  *  CVS/RCS Revision: $Revision: 1.13 $
00024  *  Status:           $State: Exp $
00025  *
00026  *  CVS/RCS Log at end of file
00027  *
00028  */
00029 
00030 #ifndef DVPSOV_H
00031 #define DVPSOV_H
00032 
00033 #include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */
00034 #include "dcmtk/dcmdata/dctk.h"
00035 
00036 class DicomImage;
00037 
00044 class DVPSOverlay
00045 {
00046 public:
00048   DVPSOverlay();
00049 
00051   DVPSOverlay(const DVPSOverlay& copy);
00052 
00057   DVPSOverlay *clone() const { return new DVPSOverlay(*this); }
00058 
00060   virtual ~DVPSOverlay();
00061 
00076   OFCondition read(DcmItem &dset, Uint8 ovGroup, Uint8 asGroup=0xFF);
00077 
00084   OFCondition write(DcmItem &dset);
00085 
00089   Uint8 getOverlayGroup() const { return overlayGroup; }
00090 
00095   void setOverlayGroup(Uint8 newGroup) { overlayGroup = newGroup; }
00096 
00104   OFBool isSuitableAsShutter(unsigned long x, unsigned long y);
00105 
00110   const char *getOverlayLabel();
00111 
00116   const char *getOverlayDescription();
00117 
00121   OFBool isROI();
00122 
00130   OFCondition getValues(
00131     Sint16& originX,
00132     Sint16& originY,
00133     Uint16& sizeX,
00134     Uint16& sizeY);
00135 
00137   DcmOverlayData& getData() { return overlayData; }
00138 
00140   DcmLongString& getLabel() { return overlayLabel; }
00141 
00143   DcmLongString& getDescription() { return overlayDescription; }
00144 
00145 private:
00146 
00148   DVPSOverlay& operator=(const DVPSOverlay&);
00149 
00151   Uint8                    overlayGroup;
00153   DcmUnsignedShort         overlayRows;
00155   DcmUnsignedShort         overlayColumns;
00157   DcmCodeString            overlayType;
00159   DcmSignedShort           overlayOrigin;
00161   DcmUnsignedShort         overlayBitsAllocated;
00163   DcmUnsignedShort         overlayBitPosition;
00165   DcmOverlayData           overlayData;
00167   DcmLongString            overlayDescription;
00169   DcmLongString            overlayLabel;
00170 
00171 };
00172 
00173 #endif
00174 
00175 /*
00176  *  $Log: dvpsov.h,v $
00177  *  Revision 1.13  2010-10-14 13:16:36  joergr
00178  *  Updated copyright header. Added reference to COPYRIGHT file.
00179  *
00180  *  Revision 1.12  2010-10-07 14:31:36  joergr
00181  *  Removed leading underscore characters from preprocessor symbols (reserved).
00182  *
00183  *  Revision 1.11  2009-11-24 14:12:57  uli
00184  *  Switched to logging mechanism provided by the "new" oflog module.
00185  *
00186  *  Revision 1.10  2005-12-08 16:03:53  meichel
00187  *  Changed include path schema for all DCMTK header files
00188  *
00189  *  Revision 1.9  2003/08/27 14:59:41  meichel
00190  *  Changed API of class DVPSOverlay to avoid dependency on module dcmimgle
00191  *
00192  *  Revision 1.8  2001/09/26 15:36:13  meichel
00193  *  Adapted dcmpstat to class OFCondition
00194  *
00195  *  Revision 1.7  2001/06/01 15:50:18  meichel
00196  *  Updated copyright header
00197  *
00198  *  Revision 1.6  2000/06/02 16:00:48  meichel
00199  *  Adapted all dcmpstat classes to use OFConsole for log and error output
00200  *
00201  *  Revision 1.5  2000/03/08 16:28:53  meichel
00202  *  Updated copyright header.
00203  *
00204  *  Revision 1.4  1999/02/09 15:58:56  meichel
00205  *  Implemented bitmap shutter activation amd method for
00206  *    exchanging graphic layers.
00207  *
00208  *  Revision 1.3  1998/12/22 17:57:06  meichel
00209  *  Implemented Presentation State interface for overlays,
00210  *    VOI LUTs, VOI windows, curves. Added test program that
00211  *    allows to add curve data to DICOM images.
00212  *
00213  *  Revision 1.2  1998/12/14 16:10:31  meichel
00214  *  Implemented Presentation State interface for graphic layers,
00215  *    text and graphic annotations, presentation LUTs.
00216  *
00217  *  Revision 1.1  1998/11/27 14:50:30  meichel
00218  *  Initial Release.
00219  *
00220  *
00221  */


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