/usr/include/dcmtk/dcmpstat/dvpsall.h is in libdcmtk-dev 3.6.2-3build3.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 | /*
*
* Copyright (C) 1998-2012, OFFIS e.V.
* All rights reserved. See COPYRIGHT file for details.
*
* This software and supporting documentation were developed by
*
* OFFIS e.V.
* R&D Division Health
* Escherweg 2
* D-26121 Oldenburg, Germany
*
*
* Module: dcmpstat
*
* Author: Marco Eichelberg
*
* Purpose:
* classes: DVPSOverlayCurveActivationLayer
*
*/
#ifndef DVPSALL_H
#define DVPSALL_H
#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
#include "dcmtk/dcmdata/dcitem.h"
#include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */
#include "dcmtk/dcmpstat/dpdefine.h"
class DVPSGraphicLayer_PList;
class DVPSOverlay_PList;
class DVPSOverlayCurveActivationLayer;
/** the list of curve and overlay activation layers contained in a presentation state (internal use only).
* This class manages the data structures comprising the list of curve
* activation layers and overlay activation layers
* (all instances of the Curve Activation Layer Module and
* Overlay Activation Layer Module repeating elements)
* contained in a Presentation State object.
*/
class DCMTK_DCMPSTAT_EXPORT DVPSOverlayCurveActivationLayer_PList
{
public:
/// default constructor
DVPSOverlayCurveActivationLayer_PList();
/// copy constructor
DVPSOverlayCurveActivationLayer_PList(const DVPSOverlayCurveActivationLayer_PList& copy);
/** clone method.
* @return a pointer to a new DVPSOverlayCurveActivationLayer_PList object containing
* a deep copy of this object.
*/
DVPSOverlayCurveActivationLayer_PList *clone() { return new DVPSOverlayCurveActivationLayer_PList(*this); }
/// destructor
virtual ~DVPSOverlayCurveActivationLayer_PList();
/** reads the curve and overlay activations from a DICOM dataset.
* The DICOM elements of the activations are copied from the dataset to this object.
* If this method returns an error code, the object is in undefined state afterwards.
* @param dset the DICOM dataset from which the activations are to be read
* @return EC_Normal if successful, an error code otherwise.
*/
OFCondition read(DcmItem &dset);
/** writes the curve and overlay activations managed by this object to a DICOM dataset.
* Copies of the DICOM elements managed by this object are inserted into
* the DICOM dataset.
* @param dset the DICOM dataset to which the activations are written
* @return EC_Normal if successful, an error code otherwise.
*/
OFCondition write(DcmItem &dset);
/** reset the object to initial state.
* After this call, the object is in the same state as after
* creation with the default constructor.
*/
void clear();
/** create graphic layers and activations for DICOM image.
* This method is used when a default presentation state
* for a DICOM image is created. Depending on the given flags,
* graphic layer and curve/overlay activations for the curves
* and overlays present in the DICOM dataset are created.
* If this method returns an error code, the object is in undefined state afterwards.
* @param dset the DICOM dataset containing the image IOD
* @param gLayerList the list of graphic layers to be created
* @param overlayList the list of overlays internal to the presentation state
* @param overlayActivation flag defining how overlays should be handled
* @param curveActivation flag defining how curves should be handled
* @param layering flag defining how graphic layers should be created
* @return EC_Normal upon success, an error code otherwise.
*/
OFCondition createFromImage(DcmItem &dset,
DVPSGraphicLayer_PList &gLayerList,
DVPSOverlay_PList &overlayList,
DVPSoverlayActivation overlayActivation,
OFBool curveActivation,
DVPSGraphicLayering layering);
/** set activation layer for given repeating group.
* The activation is created if necessary and the layer name
* is assigned. This method check if a valid repeating group
* number is passed and returns an error code otherwise.
* @return EC_Normal if successful, an error code otherwise.
*/
OFCondition setActivation(Uint16 group, const char *layer);
/** remove activation for given repeating group.
*/
void removeActivation(Uint16 group);
/** get activation layer name of the given repeating group.
* @return a pointer to the activation layer name if found, NULL otherwise.
*/
const char *getActivationLayer(Uint16 group);
/** renames the activation layer name in all activations
* with a matching old activation layer name.
* Required to keep the presentation consistent when a
* graphic layer is renamed.
* @param oldName the old activation layer name
* @param newName the new activation layer name
*/
void renameLayer(const char *oldName, const char *newName);
/** deletes all activation belonging to the given activation
* layer name.
* @param name name of the deleted activation layer
*/
void removeLayer(const char *name);
/** checks if the given layer name is used for any of the
* activation layers managed by this object.
* @param name name of the layer
* @return OFTrue if name is used
*/
OFBool usesLayerName(const char *name);
/** returns the number of activations for the given
* graphic layer and object type (curve or overlay).
* This method does not check whether an image object is attached to the
* presentation state and if all activations really have a matching
* curve structure in the attached image.
* @param layer name of the graphic layer
* @param isCurve if OFTrue, curves are counted, otherwise overlays are counted.
* @return number of curves or overlays on the given layer.
*/
size_t getNumberOfActivations(const char *layer, OFBool isCurve);
/** gets the repeating group of the overlay/curve activation with the given index
* on the given layer. If the activation or the graphic layer does
* not exist, 0 is returned.
* @param layer name of the graphic layer
* @param idx index of the object, must be < getNumberOfActivations(layer, isCurve)
* @param isCurve if OFTrue, curves are searched, otherwise overlays are searched.
* @return the repeating group number of the activation
*/
Uint16 getActivationGroup(const char *layer, size_t idx, OFBool isCurve);
private:
/// private undefined assignment operator
DVPSOverlayCurveActivationLayer_PList& operator=(const DVPSOverlayCurveActivationLayer_PList&);
/** the list maintained by this object
*/
OFList<DVPSOverlayCurveActivationLayer *> list_;
};
#endif
|