NPL
Neurological Programs and Libraries
npl::LinInterp3DView< T > Class Template Reference

The purpose of this class is to view an image as a continuous 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector and interpolation is only performed between 3D points, with the 4th dimension assumed to be non-spatial. The would be applicable if the upper dimensions are of a different type than the first 3. More...

#include <accessors.h>

Inherits npl::Vector3DConstView< T >.

Public Member Functions

 LinInterp3DView (std::shared_ptr< const NDArray > in, BoundaryConditionT bound=ZEROFLUX)
 
 LinInterp3DView ()
 
operator() (double x=0, double y=0, double z=0, int64_t t=0)
 Gets value at array index and then casts to T. More...
 
get (double x=0, double y=0, double z=0, int64_t t=0)
 Gets value at array index and then casts to T. More...
 
operator() (int64_t x=0, int64_t y=0, int64_t z=0, int64_t t=0)
 Gets value at array index and then casts to T. More...
 
get (int64_t x=0, int64_t y=0, int64_t z=0, int64_t t=0)
 Gets value at array index and then casts to T. More...
 
void setArray (ptr< const NDArray > in)
 
int64_t tlen ()
 

Public Attributes

BoundaryConditionT m_boundmethod
 
bool m_ras
 if true, then this assumes the inputs are RAS coordinates rather than indexes. Default is false More...
 

Static Protected Member Functions

template<typename U >
static T castgetStatic (void *ptr)
 This is a wrapper function that will be called to safely cast from the underlying type. More...
 

Protected Attributes

std::shared_ptr< const NDArrayparent
 Where to get the dat a from. Also the shared_ptr prevents dealloc. More...
 
T(* castget )(void *ptr)
 Function pointer to the correct function for casting from the underlying type. More...
 

Detailed Description

template<typename T>
class npl::LinInterp3DView< T >

The purpose of this class is to view an image as a continuous 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector and interpolation is only performed between 3D points, with the 4th dimension assumed to be non-spatial. The would be applicable if the upper dimensions are of a different type than the first 3.

Template Parameters
TType of value to cast and return

Definition at line 1138 of file accessors.h.

Constructor & Destructor Documentation

template<typename T>
npl::LinInterp3DView< T >::LinInterp3DView ( std::shared_ptr< const NDArray in,
BoundaryConditionT  bound = ZEROFLUX 
)
inline

Definition at line 1141 of file accessors.h.

template<typename T>
npl::LinInterp3DView< T >::LinInterp3DView ( )
inline

Definition at line 1146 of file accessors.h.

Member Function Documentation

template<typename T>
template<typename U >
static T npl::NDConstView< T >::castgetStatic ( void *  ptr)
inlinestaticprotectedinherited

This is a wrapper function that will be called to safely cast from the underlying type.

Template Parameters
UUnderlying type of pixel, figured out in the constructor
Parameters
ptrPointer to memory where the pixel is.
Returns
Correctly cast value

Definition at line 467 of file accessors.h.

template<typename T>
T npl::LinInterp3DView< T >::get ( double  x = 0,
double  y = 0,
double  z = 0,
int64_t  t = 0 
)
inlinevirtual

Gets value at array index and then casts to T.

Returns
value

Reimplemented from npl::Vector3DConstView< T >.

Definition at line 1163 of file accessors.h.

template<typename T>
T npl::LinInterp3DView< T >::get ( int64_t  x = 0,
int64_t  y = 0,
int64_t  z = 0,
int64_t  t = 0 
)
inlinevirtual

Gets value at array index and then casts to T.

Returns
value

Reimplemented from npl::Vector3DConstView< T >.

Definition at line 1254 of file accessors.h.

template<typename T>
T npl::LinInterp3DView< T >::operator() ( double  x = 0,
double  y = 0,
double  z = 0,
int64_t  t = 0 
)
inlinevirtual

Gets value at array index and then casts to T.

Returns
value

Reimplemented from npl::Vector3DConstView< T >.

Definition at line 1153 of file accessors.h.

template<typename T>
T npl::LinInterp3DView< T >::operator() ( int64_t  x = 0,
int64_t  y = 0,
int64_t  z = 0,
int64_t  t = 0 
)
inlinevirtual

Gets value at array index and then casts to T.

Returns
value

Reimplemented from npl::Vector3DConstView< T >.

Definition at line 1244 of file accessors.h.

template<typename T>
void npl::NDConstView< T >::setArray ( ptr< const NDArray in)
inlineinherited

Definition at line 334 of file accessors.h.

template<typename T>
int64_t npl::NDConstView< T >::tlen ( )
inlineinherited

Definition at line 453 of file accessors.h.

Member Data Documentation

template<typename T>
T(* npl::NDConstView< T >::castget) (void *ptr)
protectedinherited

Function pointer to the correct function for casting from the underlying type.

Parameters
ptrlocation in memory where the pixel is stored

Definition at line 483 of file accessors.h.

template<typename T>
BoundaryConditionT npl::LinInterp3DView< T >::m_boundmethod

Definition at line 1257 of file accessors.h.

template<typename T>
bool npl::LinInterp3DView< T >::m_ras

if true, then this assumes the inputs are RAS coordinates rather than indexes. Default is false

Definition at line 1265 of file accessors.h.

template<typename T>
std::shared_ptr<const NDArray> npl::NDConstView< T >::parent
protectedinherited

Where to get the dat a from. Also the shared_ptr prevents dealloc.

Definition at line 470 of file accessors.h.


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