ITK
5.2.0
Insight Toolkit
|
#include <itkIndex.h>
Public Types | |
using | IndexType = Index< VDimension > |
using | IndexValueType = ::itk::IndexValueType |
using | OffsetType = Offset< VDimension > |
using | OffsetValueType = ::itk::OffsetValueType |
using | Self = Index |
using | SizeType = Size< VDimension > |
Public Member Functions | |
const Self | operator+ (const SizeType &sz) const |
Static Public Member Functions | |
static constexpr unsigned int | GetIndexDimension () |
Static Public Attributes | |
static constexpr unsigned int | Dimension = VDimension |
using | value_type = ::itk::IndexValueType |
using | reference = value_type & |
using | const_reference = const value_type & |
using | iterator = value_type * |
using | const_iterator = const value_type * |
using | size_type = unsigned int |
using | difference_type = std::ptrdiff_t |
using | reverse_iterator = std::reverse_iterator< iterator > |
using | const_reverse_iterator = std::reverse_iterator< const_iterator > |
IndexValueType | m_InternalArray [VDimension] |
static Self | GetBasisIndex (unsigned int dim) |
static Self | Filled (const IndexValueType value) |
const Self & | operator+= (const SizeType &sz) |
const Self | operator- (const SizeType &sz) const |
const Self & | operator-= (const SizeType &sz) |
const Self | operator+ (const OffsetType &offset) const |
const Self & | operator+= (const OffsetType &offset) |
const Self & | operator-= (const OffsetType &offset) |
const Self | operator- (const OffsetType &off) const |
const OffsetType | operator- (const Self &vec) const |
const Self | operator* (const SizeType &vec) const |
const IndexValueType * | GetIndex () const |
void | SetIndex (const IndexValueType val[VDimension]) |
void | SetElement (unsigned long element, IndexValueType val) |
IndexValueType | GetElement (unsigned long element) const |
void | Fill (IndexValueType value) |
template<typename TCoordRep > | |
void | CopyWithRound (const FixedArray< TCoordRep, VDimension > &point) |
template<typename TCoordRep > | |
void | CopyWithCast (const FixedArray< TCoordRep, VDimension > &point) |
void | assign (const value_type &newValue) |
void | swap (Index &other) |
iterator | begin () |
const_iterator | begin () const |
iterator | end () |
const_iterator | end () const |
reverse_iterator | rbegin () |
const_reverse_iterator | rbegin () const |
reverse_iterator | rend () |
const_reverse_iterator | rend () const |
constexpr size_type | size () const |
constexpr size_type | max_size () const |
constexpr bool | empty () const |
reference | operator[] (size_type pos) |
const_reference | operator[] (size_type pos) const |
reference | at (size_type pos) |
const_reference | at (size_type pos) const |
reference | front () |
const_reference | front () const |
reference | back () |
const_reference | back () const |
IndexValueType * | data () |
const IndexValueType * | data () const |
void | ExceptionThrowingBoundsCheck (size_type pos) const |
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_InternalArray) allowing for fast and convenient instantiations/assignments.
The following syntax for assigning an aggregate type like this is allowed/suggested:
Index<3> var{{ 256, 256, 20 }}; // Also prevent narrowing conversions Index<3> var = {{ 256, 256, 20 }};
The doubled braces {{ and }} are required to prevent ‘gcc -Wall’ (and perhaps other compilers) from complaining about a partly bracketed initializer.
As an aggregate type that is intended to provide highest performance characteristics, this class is not appropriate to inherit from, so setting this struct as final.
Definition at line 66 of file itkIndex.h.
using itk::Index< VDimension >::const_iterator = const value_type * |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 334 of file itkIndex.h.
using itk::Index< VDimension >::const_reference = const value_type & |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 332 of file itkIndex.h.
using itk::Index< VDimension >::const_reverse_iterator = std::reverse_iterator<const_iterator> |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 338 of file itkIndex.h.
using itk::Index< VDimension >::difference_type = std::ptrdiff_t |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 336 of file itkIndex.h.
using itk::Index< VDimension >::IndexType = Index<VDimension> |
Compatible Index and value type alias
Definition at line 76 of file itkIndex.h.
using itk::Index< VDimension >::IndexValueType = ::itk::IndexValueType |
Definition at line 77 of file itkIndex.h.
using itk::Index< VDimension >::iterator = value_type * |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 333 of file itkIndex.h.
using itk::Index< VDimension >::OffsetType = Offset<VDimension> |
Compatible Offset and Offset value type alias.
Definition at line 83 of file itkIndex.h.
using itk::Index< VDimension >::OffsetValueType = ::itk::OffsetValueType |
Definition at line 84 of file itkIndex.h.
using itk::Index< VDimension >::reference = value_type & |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 331 of file itkIndex.h.
using itk::Index< VDimension >::reverse_iterator = std::reverse_iterator<iterator> |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 337 of file itkIndex.h.
using itk::Index< VDimension >::Self = Index |
Standard class type aliases.
Definition at line 73 of file itkIndex.h.
using itk::Index< VDimension >::size_type = unsigned int |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 335 of file itkIndex.h.
using itk::Index< VDimension >::SizeType = Size<VDimension> |
Compatible Size type alias.
Definition at line 80 of file itkIndex.h.
using itk::Index< VDimension >::value_type = ::itk::IndexValueType |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 330 of file itkIndex.h.
|
inline |
Mirror behavior of the std::array manipulations See std::array for documentation on these methods
Definition at line 345 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 427 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 434 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 453 of file itkIndex.h.
Referenced by itk::IndexRange< VDimension, VBeginAtZero >::end(), itk::IndexRange< VDimension, VBeginAtZero >::const_iterator::operator++(), and itk::IndexRange< VDimension, VBeginAtZero >::const_iterator::operator--().
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 459 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 357 of file itkIndex.h.
Referenced by itk::operator<(), and itk::operator==().
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 363 of file itkIndex.h.
|
inline |
Copy values from a FixedArray by casting each one of the components
Definition at line 308 of file itkIndex.h.
|
inline |
Copy values from a FixedArray by rounding each one of the components
Definition at line 296 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 465 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 471 of file itkIndex.h.
|
inlineconstexpr |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 417 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 369 of file itkIndex.h.
Referenced by itk::operator<(), and itk::operator==().
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 375 of file itkIndex.h.
|
inlineprivate |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 491 of file itkIndex.h.
|
inline |
Set one value for the index in all dimensions. Useful for initializing an offset to zero.
Definition at line 270 of file itkIndex.h.
Referenced by itk::Index< Self::ImageDimension >::Filled(), itk::OpenCVImageBridge::ITKConvertImageBuffer(), itk::LevelSetNode< TPixel, VSetDimension >::LevelSetNode(), itk::LinearInterpolateImageFunction< TInputImage, TCoordRep >::MakeZeroInitializer(), and itk::StatisticsLabelObject< TLabel, VImageDimension >::StatisticsLabelObject().
|
inlinestatic |
Returns an Index object, filled with the specified value for each element.
Definition at line 480 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 441 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 447 of file itkIndex.h.
|
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, ..., VDimension-1.
Definition at line 503 of file itkIndex.h.
|
inline |
Gets the value of one of the elements. 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 262 of file itkIndex.h.
|
inline |
Get the index. This provides a read only pointer to the index.
Definition at line 228 of file itkIndex.h.
Referenced by itk::BoxMeanCalculatorFunction(), itk::BoxSigmaCalculatorFunction(), itk::ImageBase< TImage::ImageDimension >::ComputeIndex(), itk::ImageBase< TImage::ImageDimension >::FastComputeIndex(), and itk::Functor::LabelObjectLineComparator< TLabelObjectLine >::operator()().
|
inlinestaticconstexpr |
Get the dimension.
Definition at line 91 of file itkIndex.h.
|
inlineconstexpr |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 411 of file itkIndex.h.
|
inline |
Multiply an index by a size (elementwise product).
Definition at line 214 of file itkIndex.h.
|
inline |
Add an offset to an index.
Definition at line 150 of file itkIndex.h.
|
inline |
Add a size to an index.
Definition at line 99 of file itkIndex.h.
|
inline |
Increment index by an offset.
Definition at line 163 of file itkIndex.h.
|
inline |
Increment index by a size.
Definition at line 112 of file itkIndex.h.
|
inline |
Subtract an offset from an index.
Definition at line 187 of file itkIndex.h.
|
inline |
Subtract two indices.
Definition at line 200 of file itkIndex.h.
|
inline |
Subtract a size from an index.
Definition at line 125 of file itkIndex.h.
|
inline |
Decrement index by an offset.
Definition at line 175 of file itkIndex.h.
|
inline |
Decrement index by a size.
Definition at line 138 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 422 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 424 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 381 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 387 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 393 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 399 of file itkIndex.h.
|
inline |
Sets the value of one of the elements. 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 250 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 238 of file itkIndex.h.
Referenced by itk::BoxMeanCalculatorFunction(), and itk::BoxSigmaCalculatorFunction().
|
inlineconstexpr |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 405 of file itkIndex.h.
|
inline |
Mirror the std::array type aliases and member function so that the Index class can be treated as a container class in a way that is similar to the std::array.
Definition at line 351 of file itkIndex.h.
|
staticconstexpr |
Dimension constant
Definition at line 87 of file itkIndex.h.
IndexValueType itk::Index< VDimension >::m_InternalArray[VDimension] |
Index is an "aggregate" class. Its data is public (m_InternalArray) allowing for fast and convenient instantiations/assignments. ( See main class documentation for an example of initialization)
Definition at line 289 of file itkIndex.h.
Referenced by itk::Index< Self::ImageDimension >::GetBasisIndex(), itk::Index< Self::ImageDimension >::operator-(), itk::MultiThreaderBase::ParallelizeImageRegion(), itk::Index< Self::ImageDimension >::swap(), and itk::swap().