This file is indexed.

/usr/include/ITK-4.9/itkLevelSetNode.h is in libinsighttoolkit4-dev 4.9.0-4ubuntu1.

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
/*=========================================================================
 *
 *  Copyright Insight Software Consortium
 *
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *
 *         http://www.apache.org/licenses/LICENSE-2.0.txt
 *
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 *
 *=========================================================================*/
#ifndef itkLevelSetNode_h
#define itkLevelSetNode_h

#include "itkIndex.h"
#include "itkImage.h"
#include "itkVectorContainer.h"
#include "itkVector.h"

namespace itk
{
/**
 * \class LevelSetNode
 * \brief Represent a node in a level set.
 *
 * LevelSetNode is a simple templated class that represents a node
 * or grid position of a level set. A group or collection of
 * LevelSetNode can then be used to represents a narrowband or
 * region of interest.
 *
 * LevelSetNode is templated over the data type and dimension of the
 * level set.
 *
 * \ingroup LevelSetSegmentation
 *
 * \ingroup ITKFastMarching
 */
template< typename TPixel, unsigned int VSetDimension = 2 >
class LevelSetNode
{
public:
  /** Standard class typedefs. */
  typedef LevelSetNode Self;

  /** Pixel typedef. */
  typedef TPixel PixelType;

  /** Level set dimension. */
  itkStaticConstMacro(SetDimension, unsigned int, VSetDimension);

  /** Index typedef. */
  typedef Index< VSetDimension > IndexType;

  /** Operator >. A LevelSetNode is sorted by its value field. */
  bool operator>(const Self & node) const
  { return m_Value > node.m_Value; }

  /** Operator <. A LevelSetNode is sorted by its value field. */
  bool operator<(const Self & node) const
  { return m_Value < node.m_Value; }

  /** Operator <=. A LevelSetNode is sorted by its value field. */
  bool operator<=(const Self & node) const
  { return m_Value <= node.m_Value; }

  /** Operator >=. A LevelSetNode is sorted by its value field. */
  bool operator>=(const Self & node) const
  { return m_Value >= node.m_Value; }

  /** Operator =. Two nodes are equal if both their value and index fields
   * are the same. */
  Self & operator=(const Self & rhs)
  {
    if ( this != &rhs )
      {
      m_Value = rhs.m_Value;
      m_Index = rhs.m_Index;
      }
    return *this;
  }

  /** Get/Set level set value. */
  PixelType & GetValue()
  { return m_Value; }
  const PixelType & GetValue() const
  { return m_Value; }
  void SetValue(const PixelType & input)
  { m_Value = input; }

  /** Get/Set index. */
  IndexType & GetIndex()
  { return m_Index; }
  const IndexType & GetIndex() const
  { return m_Index; }
  void SetIndex(const IndexType & input)
  { m_Index = input; }

  /** Default constructor */
  LevelSetNode():m_Value(NumericTraits< PixelType >::ZeroValue())
  {
    m_Index.Fill(0);
  }

  /** Copy constructor */
  LevelSetNode(const Self & node):m_Value(node.m_Value), m_Index(node.m_Index) {}

private:
  PixelType m_Value;
  IndexType m_Index;
};
} // end namespace itk

#endif