ITK
4.6.0
Insight Segmentation and Registration Toolkit
|
#include <itkIndex.h>
Represent a n-dimensional index in a n-dimensional image.
Index is a templated class to represent a multi-dimensional index, i.e. (i,j,k,...). Index is templated over the dimension of the index. ITK assumes the first element of an index is the fastest moving index.
For efficiency sake, Index does not define a default constructor, a copy constructor, or an operator=. We rely on the compiler to provide efficient bitwise copies.
Index is an "aggregate" class. Its data is public (m_Index) allowing for fast and convenient instantiations/assignments.
The following syntax for assigning an index is allowed/suggested:
Index<3> index = {{5, 2, 7}};
The double braces {{ and }} are needed to prevent a compiler warning about a partly bracketed initializer.
Definition at line 71 of file itkIndex.h.
Public Types | |
typedef Index< VIndexDimension > | IndexType |
typedef ::itk::IndexValueType | IndexValueType |
typedef Functor::IndexLexicographicCompare < VIndexDimension > | LexicographicCompare |
typedef Offset< VIndexDimension > | OffsetType |
typedef ::itk::OffsetValueType | OffsetValueType |
typedef Index | Self |
typedef Size< VIndexDimension > | SizeType |
Public Member Functions | |
void | Fill (IndexValueType value) |
IndexValueType | GetElement (unsigned long element) const |
const IndexValueType * | GetIndex () const |
bool | operator!= (const Self &vec) const |
const Self | operator* (const SizeType &vec) const |
const Self | operator+ (const SizeType &size) const |
const Self | operator+ (const OffsetType &offset) const |
const Self | operator- (const SizeType &size) const |
const Self | operator- (const OffsetType &off) const |
const OffsetType | operator- (const Self &vec) const |
bool | operator== (const Self &vec) const |
IndexValueType & | operator[] (unsigned int dim) |
IndexValueType | operator[] (unsigned int dim) const |
void | SetElement (unsigned long element, IndexValueType val) |
void | SetIndex (const IndexValueType val[VIndexDimension]) |
const Self & | operator+= (const SizeType &size) |
const Self & | operator-= (const SizeType &size) |
const Self & | operator+= (const OffsetType &offset) |
const Self & | operator-= (const OffsetType &offset) |
template<typename TCoordRep > | |
void | CopyWithRound (const FixedArray< TCoordRep, VIndexDimension > &point) |
template<typename TCoordRep > | |
void | CopyWithCast (const FixedArray< TCoordRep, VIndexDimension > &point) |
Static Public Member Functions | |
static Self | GetBasisIndex (unsigned int dim) |
static unsigned int | GetIndexDimension () |
Public Attributes | |
IndexValueType | m_Index [VIndexDimension] |
Static Public Attributes | |
static const unsigned int | Dimension = VIndexDimension |
typedef Index< VIndexDimension > itk::Index< VIndexDimension >::IndexType |
Compatible Index and value typedef
Definition at line 78 of file itkIndex.h.
typedef ::itk::IndexValueType itk::Index< VIndexDimension >::IndexValueType |
Definition at line 79 of file itkIndex.h.
typedef Functor::IndexLexicographicCompare< VIndexDimension > itk::Index< VIndexDimension >::LexicographicCompare |
Lexicographic ordering functor type.
Definition at line 95 of file itkIndex.h.
typedef Offset< VIndexDimension > itk::Index< VIndexDimension >::OffsetType |
Compatible Offset and Offset value typedef.
Definition at line 91 of file itkIndex.h.
typedef ::itk::OffsetValueType itk::Index< VIndexDimension >::OffsetValueType |
Definition at line 92 of file itkIndex.h.
typedef Index itk::Index< VIndexDimension >::Self |
Standard class typedefs.
Definition at line 75 of file itkIndex.h.
typedef Size< VIndexDimension > itk::Index< VIndexDimension >::SizeType |
Compatible Size typedef.
Definition at line 88 of file itkIndex.h.
|
inline |
Copy values from a FixedArray by casting each one of the components
Definition at line 324 of file itkIndex.h.
|
inline |
Copy values from a FixedArray by rounding each one of the components
Definition at line 304 of file itkIndex.h.
|
inline |
Set one value for the index in all dimensions. Useful for initializing an offset to zero.
Definition at line 292 of file itkIndex.h.
Referenced by itk::LabelObject< TLabel, VImageDimension >::ConstIndexIterator::ConstIndexIterator(), itk::ImageIORegionAdaptor< VDimension >::Convert(), itk::LabelObject< TLabel, VImageDimension >::ConstIndexIterator::GoToBegin(), itk::ImageRegion< VDimension >::ImageRegion(), itk::LevelSetNode< TPixel, VSetDimension >::LevelSetNode(), and itk::StatisticsLabelObject< TLabel, VImageDimension >::StatisticsLabelObject().
|
static |
Return a basis vector of the form [0, ..., 0, 1, 0, ... 0] where the "1" is positioned in the location specified by the parameter "dim". Valid values of "dim" are 0, ..., VIndexDimension-1.
Definition at line 379 of file itkIndex.h.
References itk::Index< VIndexDimension >::m_Index.
|
inline |
Gets the value of one of the elements in the index. This method is mainly intended to facilitate the access to elements from Tcl and Python where C++ notation is not very convenient.
Definition at line 282 of file itkIndex.h.
|
inline |
Get the index. This provides a read only reference to the index.
Definition at line 254 of file itkIndex.h.
|
inlinestatic |
Get the dimension (size) of the index.
Definition at line 85 of file itkIndex.h.
|
inline |
Compare two indices.
Definition at line 218 of file itkIndex.h.
|
inline |
Multiply an index by a size (elementwise product). This method models a random access Index.
Definition at line 196 of file itkIndex.h.
|
inline |
Add a size to an index. This method models a random access Index.
Definition at line 99 of file itkIndex.h.
|
inline |
Add an offset to an index.
Definition at line 142 of file itkIndex.h.
|
inline |
Increment index by a size. This method models a random access Index.
Definition at line 110 of file itkIndex.h.
|
inline |
Increment index by an offset. This method models a random access Index.
Definition at line 153 of file itkIndex.h.
|
inline |
Subtract a size from an index. This method models a random access Index.
Definition at line 121 of file itkIndex.h.
|
inline |
Subtract an offset from an index.
Definition at line 173 of file itkIndex.h.
|
inline |
Subtract two indices. This method models a random access Index.
Definition at line 184 of file itkIndex.h.
|
inline |
Decrement index by a size. This method models a random access Index.
Definition at line 132 of file itkIndex.h.
|
inline |
Decrement index by an offset. This method models a random access Index.
Definition at line 163 of file itkIndex.h.
|
inline |
Compare two indices.
Definition at line 207 of file itkIndex.h.
|
inline |
Access an element of the index. Elements are numbered 0, ..., VIndexDimension-1. No bounds checking is performed.
Definition at line 236 of file itkIndex.h.
|
inline |
Access an element of the index. Elements are numbered 0, ..., VIndexDimension-1. This version can only be an rvalue. No bounds checking is performed.
Definition at line 249 of file itkIndex.h.
|
inline |
Sets the value of one of the elements in the index. This method is mainly intended to facilitate the access to elements from Tcl and Python where C++ notation is not very convenient.
Definition at line 273 of file itkIndex.h.
|
inline |
Set the index. Try to prototype this function so that val has to point to a block of memory that is the appropriate size.
Definition at line 260 of file itkIndex.h.
Referenced by itk::ImageRegionSplitter< VImageDimension >::GetNumberOfSplitsInternal(), and itk::ImageRegionSplitter< VImageDimension >::GetSplitInternal().
|
static |
Dimension constant
Definition at line 82 of file itkIndex.h.
IndexValueType itk::Index< VIndexDimension >::m_Index[VIndexDimension] |
Index is an "aggregate" class. Its data is public (m_Index) allowing for fast and convenient instantiations/assignments.
The following syntax for assigning an index is allowed/suggested: Index<3> index = {5, 2, 7};
Definition at line 300 of file itkIndex.h.
Referenced by itk::Index< itkGetStaticConstMacro(ImageDimension) >::CopyWithCast(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::CopyWithRound(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::Fill(), itk::Index< VIndexDimension >::GetBasisIndex(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::GetElement(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::GetIndex(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator!=(), itk::Functor::IndexLexicographicCompare< VIndexDimension >::operator()(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator*(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator+(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator+=(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator-(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator-=(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator==(), itk::Index< itkGetStaticConstMacro(ImageDimension) >::operator[](), itk::Index< itkGetStaticConstMacro(ImageDimension) >::SetElement(), and itk::Index< itkGetStaticConstMacro(ImageDimension) >::SetIndex().