ITK  4.1.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Private Attributes
itk::ScalarVector< TScalar, TVector, TVectorDimension > Class Template Reference

#include <itkScalarVector.h>

List of all members.

Public Types

typedef TScalar ScalarValueType
typedef ScalarVector Self
typedef TScalar ValueType
typedef vnl_vector_fixed
< TVector, TVectorDimension > 
VectorType
typedef TVector VectorValueType

Public Member Functions

TScalar GetScalar () const
const VectorTypeGetVector () const
VectorTypeGetVector ()
void SetScalar (const TScalar &val)
void SetVector (const VectorType &vec)

Static Public Member Functions

static unsigned int GetVectorDimension ()

Private Attributes

TScalar m_Scalar
VectorType m_Vector

Detailed Description

template<class TScalar, class TVector, unsigned int TVectorDimension = 3>
class itk::ScalarVector< TScalar, TVector, TVectorDimension >

A templated class holding bot scalar and vector values and responding to the GetScalar() and GetVector() methods.

ScalarVector is a templated class that holds a scalar value plus an array of values (a vector). ScalarVector can be used as the data type held at each pixel in an Image or at each vertex of an Mesh. There are three template parameters: the type of scalar, the type of vector, and the number of components of the vector. The types can be any data type that behaves like a primitive (or atomic) data type (int, short, float, complex). itk filters that rely on scalar data assume the data type held at each pixel or each vertex responds to GetScalar()/SetScalar() methods. itk filters that rely on vector data assume the data type held at each pixel or each vertex responds to GetVector()/SetVector() methods. If not, a compile time error will occur.

ScalarVector is not a dynamically extendible array like std::vector. It is intended to be used like a mathematical vector.

If you wish a simpler pixel types, you can use Scalar, which represents a single data value at a pixel. YOu can also use Vector, which supports (for a given pixel) an array of vector values.

See also:
Image
Mesh
Scalar
Vector

Definition at line 59 of file itkScalarVector.h.


Member Typedef Documentation

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
typedef TScalar itk::ScalarVector< TScalar, TVector, TVectorDimension >::ScalarValueType

ValueType can be used to declare a variable that is the same type as the data held in the scalar portion of the ScalarVector.

Definition at line 71 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
typedef ScalarVector itk::ScalarVector< TScalar, TVector, TVectorDimension >::Self

Standard class typedefs.

Definition at line 63 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
typedef TScalar itk::ScalarVector< TScalar, TVector, TVectorDimension >::ValueType

ValueType can be used to declare a variable that is the same type as the data held in the scalar portion of the ScalarVector.

Definition at line 67 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
typedef vnl_vector_fixed< TVector, TVectorDimension > itk::ScalarVector< TScalar, TVector, TVectorDimension >::VectorType

VectorType can be used to declare a variable that is the same type as the internal vector.

Definition at line 79 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
typedef TVector itk::ScalarVector< TScalar, TVector, TVectorDimension >::VectorValueType

ValueType can be used to declare a variable that is the same type as the data held in the scalar portion of the ScalarVector.

Definition at line 75 of file itkScalarVector.h.


Member Function Documentation

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
TScalar itk::ScalarVector< TScalar, TVector, TVectorDimension >::GetScalar ( void  ) const [inline]

Get the scalar value.

See also:
SetScalar()

Definition at line 82 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
const VectorType& itk::ScalarVector< TScalar, TVector, TVectorDimension >::GetVector ( ) const [inline]

Get the vector. This provides a read only reference to the vector.

See also:
SetVector().

Definition at line 95 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
VectorType& itk::ScalarVector< TScalar, TVector, TVectorDimension >::GetVector ( ) [inline]

Get the vector. This provides a read/write reference to the vector.

See also:
SetVector

Definition at line 100 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
static unsigned int itk::ScalarVector< TScalar, TVector, TVectorDimension >::GetVectorDimension ( ) [inline, static]

Get the dimension (size) of the vector.

Definition at line 90 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
void itk::ScalarVector< TScalar, TVector, TVectorDimension >::SetScalar ( const TScalar &  val) [inline]

Set the scalar value.

See also:
GetScalar()

Definition at line 86 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
void itk::ScalarVector< TScalar, TVector, TVectorDimension >::SetVector ( const VectorType vec) [inline]

Set the vector.

See also:
GetVector

Definition at line 104 of file itkScalarVector.h.


Member Data Documentation

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
TScalar itk::ScalarVector< TScalar, TVector, TVectorDimension >::m_Scalar [private]

Definition at line 107 of file itkScalarVector.h.

template<class TScalar , class TVector , unsigned int TVectorDimension = 3>
VectorType itk::ScalarVector< TScalar, TVector, TVectorDimension >::m_Vector [private]

Definition at line 108 of file itkScalarVector.h.


The documentation for this class was generated from the following file: