This file is indexed.

/usr/include/dcmtk/dcmsr/cmr/cid7181.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
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
/*
 *
 *  Copyright (C) 2015-2016, J. Riesmeier, Oldenburg, Germany
 *  All rights reserved.  See COPYRIGHT file for details.
 *
 *  Header file for class CID7181_AbstractMultiDimensionalImageModelComponentUnits
 *
 *  Generated automatically from DICOM PS 3.16-2016e
 *  File created on 2016-11-23 13:58:54 by J. Riesmeier
 *
 */


#ifndef CMR_CID7181_H
#define CMR_CID7181_H

#include "dcmtk/config/osconfig.h"   /* make sure OS specific configuration is included first */

#include "dcmtk/dcmsr/dsrctxgr.h"
#include "dcmtk/dcmsr/cmr/define.h"

#include "dcmtk/ofstd/ofmap.h"


/*---------------------*
 *  class declaration  *
 *---------------------*/

/** Implementation of DCMR Context Group:
 *  CID 7181 - Abstract Multi-dimensional Image Model Component Units.
 *  (type: extensible, version: 20161106)
 */
class DCMTK_CMR_EXPORT CID7181_AbstractMultiDimensionalImageModelComponentUnits
  : public DSRContextGroup
{

  public:

    /** types of abstract multi-dimensional image model component units
     */
    enum EnumType
    {
        /// (mm[Hg],UCUM,"mmHg"), included from CID 3500
        MmHg,
        /// (kPa,UCUM,"kPa"), included from CID 3500
        KPa,
        /// ([PRU],UCUM,"P.R.U."), included from CID 3502
        PRU,
        /// ([wood'U],UCUM,"Wood U"), included from CID 3502
        WoodU,
        /// (dyn.s.cm-5,UCUM,"dyn.s.cm-5"), included from CID 3502
        Dynscm5,
        /// ([PRU]/m2,UCUM,"P.R.U./m2"), included from CID 3503
        PRUPerM2,
        /// ([wood'U]/m2,UCUM,"Wood U/m2"), included from CID 3503
        WoodUPerM2,
        /// (dyn.s.cm-5/m2,UCUM,"dyn.s.cm-5/m2"), included from CID 3503
        Dynscm5PerM2,
        /// (cm,UCUM,"centimeter"), included from CID 7460
        Centimeter,
        /// (mm,UCUM,"millimeter"), included from CID 7460
        Millimeter,
        /// (um,UCUM,"micrometer"), included from CID 7460
        Micrometer,
        /// (cm2,UCUM,"square centimeter"), included from CID 7461
        SquareCentimeter,
        /// (mm2,UCUM,"square millimeter"), included from CID 7461
        SquareMillimeter,
        /// (um2,UCUM,"square micrometer"), included from CID 7461
        SquareMicrometer,
        /// (dm3,UCUM,"cubic decimeter"), included from CID 7462
        CubicDecimeter,
        /// (cm3,UCUM,"cubic centimeter"), included from CID 7462
        CubicCentimeter,
        /// (mm3,UCUM,"cubic millimeter"), included from CID 7462
        CubicMillimeter,
        /// (um3,UCUM,"cubic micrometer"), included from CID 7462
        CubicMicrometer,
        /// (g/ml{SUVbw},UCUM,"Standardized Uptake Value body weight"), included from CID 85
        StandardizedUptakeValueBodyWeight,
        /// (g/ml{SUVlbm},UCUM,"Standardized Uptake Value lean body mass (James)"), included from CID 85
        StandardizedUptakeValueLeanBodyMassJames,
        /// (g/ml{SUVlbm(James128)},UCUM,"Standardized Uptake Value lean body mass (James 128 multiplier)"), included from CID 85
        StandardizedUptakeValueLeanBodyMassJames128Multiplier,
        /// (g/ml{SUVlbm(Janma)},UCUM,"Standardized Uptake Value lean body mass (Janma)"), included from CID 85
        StandardizedUptakeValueLeanBodyMassJanma,
        /// (cm2/ml{SUVbsa},UCUM,"Standardized Uptake Value body surface area"), included from CID 85
        StandardizedUptakeValueBodySurfaceArea,
        /// (g/ml{SUVibw},UCUM,"Standardized Uptake Value ideal body weight"), included from CID 85
        StandardizedUptakeValueIdealBodyWeight,
        /// ({counts},UCUM,"Counts"), included from CID 84
        Counts,
        /// ({counts}/s,UCUM,"Counts per second"), included from CID 84
        CountsPerSecond,
        /// ({propcounts},UCUM,"Proportional to counts"), included from CID 84
        ProportionalToCounts,
        /// ({propcounts}/s,UCUM,"Proportional to counts per second"), included from CID 84
        ProportionalToCountsPerSecond,
        /// (%,UCUM,"Percent"), included from CID 84
        Percent,
        /// (Bq/ml,UCUM,"Becquerels/milliliter"), included from CID 84
        BecquerelsPerMilliliter,
        /// (mg/min/ml,UCUM,"Milligrams/minute/milliliter"), included from CID 84
        MilligramsPerMinutePerMilliliter,
        /// (umol/min/ml,UCUM,"Micromole/minute/milliliter"), included from CID 84
        MicromolePerMinutePerMilliliter,
        /// (ml/min/g,UCUM,"Milliliter/minute/gram"), included from CID 84
        MilliliterPerMinutePerGram,
        /// (ml/g,UCUM,"Milliliter/gram"), included from CID 84
        MilliliterPerGram,
        /// (/cm,UCUM,"/Centimeter"), included from CID 84
        PerCentimeter,
        /// (umol/ml,UCUM,"Micromole/milliliter"), included from CID 84
        MicromolePerMilliliter,
        /// (1,UCUM,"no units")
        NoUnits,
        /// ({ratio},UCUM,"ratio")
        Ratio,
        /// ([hnsf'U],UCUM,"Hounsfield Unit")
        HounsfieldUnit,
        /// ([arb'U],UCUM,"arbitrary unit")
        ArbitraryUnit,
        /// (ppm,UCUM,"ppm")
        Ppm,
        /// (cm/s,UCUM,"centimeter/second")
        CentimeterPerSecond,
        /// (mm/s,UCUM,"millimeter/second")
        MillimeterPerSecond,
        /// (dB,UCUM,"decibel")
        Decibel,
        /// (Cel,UCUM,"degrees Celsius")
        DegreesCelsius,
        /// (ml/min,UCUM,"milliliter per minute")
        MilliliterPerMinute,
        /// (ml/s,UCUM,"milliliter per second")
        MilliliterPerSecond,
        /// (ms,UCUM,"millisecond")
        Millisecond,
        /// (s,UCUM,"second")
        Second,
        /// (Hz,UCUM,"Hertz")
        Hertz,
        /// (mT,UCUM,"milliTesla")
        MilliTesla,
        /// ({Particles}/[100]g{Tissue},UCUM,"number particles per 100 gram of tissue")
        NumberParticlesPer100GramOfTissue,
        /// (mm2/s,UCUM,"square millimeter per second")
        SquareMillimeterPerSecond,
        /// (s/mm2,UCUM,"second per square millimeter")
        SecondPerSquareMillimeter,
        /// (ml/[100]g/min,UCUM,"milliliter per 100 gram per minute")
        MilliliterPer100GramPerMinute,
        /// (ml/[100]ml,UCUM,"milliliter per 100 milliliter")
        MilliliterPer100Milliliter,
        /// (mmol/kg{WetWeight},UCUM,"millimoles per kg wet weight")
        MillimolesPerKgWetWeight,
        /// (/min,UCUM,"/min")
        PerMin,
        /// (/s,UCUM,"/s")
        PerS
    };

    /** (default) constructor
     ** @param  selectedValue  coded entry to be selected as the current value (optional).
     *                         Should be a valid code according to the DICOM definitions
     *                         for this context group, i.e. no checks are performed.
     *                         Call DSRContextGroup::checkSelectedValue() if needed.
     */
    CID7181_AbstractMultiDimensionalImageModelComponentUnits(const DSRCodedEntryValue &selectedValue = DSRCodedEntryValue());

    /** constructor
     ** @param  selectedValue         type mapped to a coded entry that is selected as the
     *                                current value
     ** @param  enhancedEncodingMode  set enhanced encoding mode for coded entry (if enabled)
     */
    CID7181_AbstractMultiDimensionalImageModelComponentUnits(const EnumType selectedValue,
                                                             const OFBool enhancedEncodingMode = OFFalse);

    /** select a coded entry given by its type as the current value
     ** @param  selectedValue         type mapped to a coded entry that is selected as the
     *                                current value
     *  @param  enhancedEncodingMode  set enhanced encoding mode for coded entry (if enabled)
     ** @return status, EC_Normal if successful, an error code otherwise
     */
    virtual OFCondition selectValue(const EnumType selectedValue,
                                    const OFBool enhancedEncodingMode = OFFalse);

  // --- static helper functions ---

    /** initialize this context group explicitly.  Internally, the list of standard coded
     *  entries is created and initialized by calling getCodes().
     ** @note This function can be called multiple times but in case of multi-threaded
     *        applications should be called at least once before any instance of this class
     *        is actually used.  For single-threaded applications, there is no need to call
     *        it since the initialization is done implicitly.
     */
    static void initialize();

    /** cleanup this context group, i.e.\ delete the internal list of standard coded entries.
     *  Usually, there is no need to call this method, but it might be useful in order to
     *  explicitly free the associated memory, e.g. when checking for memory leaks.  The list
     *  will be recreated automatically when needed (or when initialize() is called).
     */
    static void cleanup();

    /** map a given type to the associated coded entry
     ** @param  value                 type that should be mapped to a coded entry
     *  @param  enhancedEncodingMode  set enhanced encoding mode for coded entry (if enabled)
     ** @return coded entry that is associated with the given type
     */
    static DSRCodedEntryValue getCodedEntry(const EnumType value,
                                            const OFBool enhancedEncodingMode = OFFalse);

  // --- reintroduce methods from base class

     using DSRContextGroup::selectValue;
     using DSRContextGroup::findCodedEntry;


  protected:

    /// type used for storing and managing the coded entries
    typedef OFMap<EnumType, DSRBasicCodedEntry> CodeList;

    /** print details on coded entries that are contained in this context group.
     *  See DSRCodedEntryValue::print() for details of the coded entry output.
     ** @param  stream  stream to which the output should be printed
     */
    virtual void printCodes(STD_NAMESPACE ostream &stream) const;

    /** search for a given coded entry in this context group
     ** @param  searchForCodedEntry   coded entry to be searched for
     *  @param  foundCodedEntry       pointer to variable that will store the coded entry
     *                                (if found and pointer is not NULL)
     *  @param  enhancedEncodingMode  set enhanced encoding mode for coded entry (if enabled)
     ** @return result of the search process, also defines the type of the entry
     */
    virtual OFCondition findCodedEntry(const DSRCodedEntryValue &searchForCodedEntry,
                                       DSRCodedEntryValue *foundCodedEntry,
                                       const OFBool enhancedEncodingMode = OFFalse) const;

  // --- static helper function ---

    /** get list of standard coded entries that are managed by this context group.
     *  Internally, the singleton pattern is used, so the list is initialized only once.
     *  Please note that this function is not thread-safe.  Therefore, the initialize()
     *  function can be called before any instance of this class is actually used.
     ** @return reference to list of coded entries managed by this context group
     */
    static CodeList &getCodes();

    /** set the "Enhanced Encoding Mode" for a given coded entry
     ** @param  codedEntryValue  coded entry for which the enhanced encoding mode is set
     ** @return status, EC_Normal if successful, an error code otherwise
     */
    static OFCondition setEnhancedEncodingMode(DSRCodedEntryValue &codedEntryValue);


  private:

    /// pointer to internal code list (use a static variable for singleton pattern)
    static CodeList *Codes;
};


/*-------------------*
 *  type definition  *
 *-------------------*/

// define short name for the context group class
typedef CID7181_AbstractMultiDimensionalImageModelComponentUnits CMR_CID7181;


#endif