This file is indexed.

/usr/include/dcmtk/dcmpstat/dvpscu.h is in libdcmtk2-dev 3.6.0-9.

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
176
177
178
/*
 *
 *  Copyright (C) 1998-2010, 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: DVPSCurve
 *
 *  Last Update:      $Author: joergr $
 *  Update Date:      $Date: 2010-10-14 13:16:36 $
 *  CVS/RCS Revision: $Revision: 1.9 $
 *  Status:           $State: Exp $
 *
 *  CVS/RCS Log at end of file
 *
 */

#ifndef DVPSCU_H
#define DVPSCU_H

#include "dcmtk/config/osconfig.h"    /* make sure OS specific configuration is included first */
#include "dcmtk/dcmpstat/dvpstyp.h"
#include "dcmtk/ofstd/ofstring.h"
#include "dcmtk/dcmdata/dctypes.h"
#include "dcmtk/dcmdata/dcerror.h"

class DcmItem;

/** the representation of one Curve in a DICOM image.
 */

class DVPSCurve
{
public:
  /// default constructor
  DVPSCurve();
  
  /// copy constructor
  DVPSCurve(const DVPSCurve& copy);

  /** clone method.
   *  @return a pointer to a new DVPSCurve object containing
   *  a copy of this object.
   */
  DVPSCurve *clone() { return new DVPSCurve(*this); }

  /// destructor
  virtual ~DVPSCurve();

  /** reads a curve from a DICOM dataset.
   *  The DICOM elements of the Graphic Object item are copied
   *  from the dataset to this object.
   *  The completeness of the curve (presence of all required elements,
   *  value multiplicity) is checked.
   *  If this method returns an error code, the object is in undefined state afterwards.
   *  @param dset the DICOM dataset from which the data is to be read
   *  @param group lower byte of the curve repeating group to be read
   *  @return EC_Normal if successful, an error code otherwise.
   */
  OFCondition read(DcmItem &dset, Uint8 group);

  /** get group number of curve repeating group managed by this object.
   *  @return the lower byte of the curve group
   */
  Uint8 getCurveGroup() { return curveGroup; }

  /** gets the number of points in the curve.
   *  @return number of points
   */
  size_t getNumberOfPoints() { return numberOfPoints; }

  /** gets the type of data in the curve (ROI or POLY).
   *  @return type of data in curve
   */
  DVPSCurveType getTypeOfData() { return typeOfData; }

  /** gets one point from the curve data.
   *  @param idx index of the curve point, must be < getNumberOfPoints();
   *  @param x upon success the x value of the point is returned in this parameter
   *  @param y upon success the y value of the point is returned in this parameter   
   *  @return EC_Normal if successful, an error code otherwise.
   */
  OFCondition getPoint(size_t idx, double& x, double& y);

  /** gets the curve description string if present.
   *  If the description string is absent, this method returns NULL or an empty string.
   *  @return curve description
   */
  const char *getCurveDescription() { return curveDescription.c_str(); }

  /** gets the curve label string if present.
   *  If the label string is absent, this method returns NULL or an empty string.
   *  @return curve label
   */
  const char *getCurveLabel() { return curveLabel.c_str(); }

  /** gets the curve axis units string for the X dimension if present.
   *  If the string is absent, this method returns NULL or an empty string.
   *  @return curve description
   */
  const char *getCurveAxisUnitsX() { return axisUnitsX.c_str(); }

  /** gets the curve axis units string for the Y dimension if present.
   *  If the string is absent, this method returns NULL or an empty string.
   *  @return curve description
   */
  const char *getCurveAxisUnitsY() { return axisUnitsY.c_str(); }

private:
  /// private undefined assignment operator
  DVPSCurve& operator=(const DVPSCurve&);
  
  /// lower byte of the curve repeating group managed by this object
  Uint8 curveGroup;
  /// number of points in curve data
  size_t numberOfPoints;
  /// type of curve data
  DVPSCurveType typeOfData;
  /// curve data, converted to double
  double *curveData;
  /// curve data description if present
  OFString curveDescription;
  /// curve label if present
  OFString curveLabel;
  /// axis units X if present
  OFString axisUnitsX;
  /// axis units Y if present
  OFString axisUnitsY;

};

#endif

/*
 *  $Log: dvpscu.h,v $
 *  Revision 1.9  2010-10-14 13:16:36  joergr
 *  Updated copyright header. Added reference to COPYRIGHT file.
 *
 *  Revision 1.8  2010-10-07 14:31:35  joergr
 *  Removed leading underscore characters from preprocessor symbols (reserved).
 *
 *  Revision 1.7  2009-11-24 14:12:57  uli
 *  Switched to logging mechanism provided by the "new" oflog module.
 *
 *  Revision 1.6  2005-12-08 16:03:37  meichel
 *  Changed include path schema for all DCMTK header files
 *
 *  Revision 1.5  2001/09/26 15:36:09  meichel
 *  Adapted dcmpstat to class OFCondition
 *
 *  Revision 1.4  2001/06/01 15:50:13  meichel
 *  Updated copyright header
 *
 *  Revision 1.3  2000/06/02 16:00:44  meichel
 *  Adapted all dcmpstat classes to use OFConsole for log and error output
 *
 *  Revision 1.2  2000/03/08 16:28:50  meichel
 *  Updated copyright header.
 *
 *  Revision 1.1  1998/12/22 17:57:04  meichel
 *  Implemented Presentation State interface for overlays,
 *    VOI LUTs, VOI windows, curves. Added test program that
 *    allows to add curve data to DICOM images.
 *
 *
 */