/usr/include/gdcm-2.6/gdcmPhotometricInterpretation.h is in libgdcm2-dev 2.6.3-3ubuntu3.
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 | /*=========================================================================
  Program: GDCM (Grassroots DICOM). A DICOM library
  Copyright (c) 2006-2011 Mathieu Malaterre
  All rights reserved.
  See Copyright.txt or http://gdcm.sourceforge.net/Copyright.html for details.
     This software is distributed WITHOUT ANY WARRANTY; without even
     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
     PURPOSE.  See the above copyright notice for more information.
=========================================================================*/
#ifndef GDCMPHOTOMETRICINTERPRETATION_H
#define GDCMPHOTOMETRICINTERPRETATION_H
#include "gdcmTypes.h"
#include <iostream>
namespace gdcm
{
class TransferSyntax;
/**
 * \brief Class to represent an PhotometricInterpretation
 */
class GDCM_EXPORT PhotometricInterpretation
{
public:
  typedef enum {
    UNKNOWN = 0,
    MONOCHROME1,
    MONOCHROME2,
    PALETTE_COLOR,
    RGB,
    HSV,
    ARGB, // retired
    CMYK,
    YBR_FULL,
    YBR_FULL_422,
    YBR_PARTIAL_422,
    YBR_PARTIAL_420,
    YBR_ICT,
    YBR_RCT,
    // PALETTE_COLOR ?
    //MONOCHROME = MONOCHROME1 | MONOCHROME2,
    //COLOR      = RGB | HSV | ARGB | CMYK | YBR_FULL | YBR_FULL_422 | YBR_PARTIAL_422 | YBR_PARTIAL_420 | YBR_ICT | YBR_RCT,
    PI_END  // Helpfull for internal implementation
  } PIType; // PhotometricInterpretationType
  PhotometricInterpretation(PIType pi = UNKNOWN):PIField(pi) {}
  static const char *GetPIString(PIType pi);
  const char *GetString() const;
  // You need to make sure end of string is \0
  static PIType GetPIType(const char *pi);
  static bool IsRetired(PIType pi);
  bool IsLossy() const;
  bool IsLossless() const;
  /// return the value for Sample Per Pixel associated with a particular Photometric Interpretation
  unsigned short GetSamplesPerPixel() const;
  // TODO
  // not all PhotometricInterpretation are allowed for compressed Transfer
  // syntax
  // static bool IsAllowedForCompressedTS(PIType pi);
  friend std::ostream& operator<<(std::ostream& os, const PhotometricInterpretation& pi);
  operator PIType () const { return PIField; }
  PIType GetType () const { return PIField; }
  // Will return whether current PhotometricInterpretation is the same Color Space as input:
  // eg. RGB and YBR_RCT are
  bool IsSameColorSpace( PhotometricInterpretation const &pi ) const;
  //static PIType GetEquivalent(TransferSyntax const &ts);
private:
  PIType PIField;
};
//-----------------------------------------------------------------------------
inline std::ostream& operator<<(std::ostream& os, const PhotometricInterpretation &val)
{
  const char *s = PhotometricInterpretation::GetPIString(val.PIField);
  os << (s ? s : "");
  return os;
}
} // end namespace gdcm
#endif //GDCMPHOTOMETRICINTERPRETATION_H
 |