NPL
Neurological Programs and Libraries
npl::LanczosInterp3DView< 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

 LanczosInterp3DView (std::shared_ptr< const NDArray > in, BoundaryConditionT bound=ZEROFLUX)
 
 LanczosInterp3DView ()
 
void setRadius (size_t rad)
 
size_t getRadius ()
 
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...
 
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...
 
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...
 
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...
 

Protected Member Functions

operator[] (int64_t i)
 Gets value at array index and then casts to T. More...
 
get (const std::vector< int64_t > &i)
 
operator[] (const std::vector< int64_t > &i)
 

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

int64_t m_radius
 
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::LanczosInterp3DView< 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 1866 of file accessors.h.

Constructor & Destructor Documentation

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

Definition at line 1869 of file accessors.h.

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

Definition at line 1875 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::LanczosInterp3DView< 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 1905 of file accessors.h.

template<typename T >
T npl::LanczosInterp3DView< 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 1916 of file accessors.h.

template<typename T >
T npl::LanczosInterp3DView< T >::get ( const std::vector< int64_t > &  i)
inlineprotected

Definition at line 2024 of file accessors.h.

template<typename T >
size_t npl::LanczosInterp3DView< T >::getRadius ( )
inline

Definition at line 1878 of file accessors.h.

template<typename T >
T npl::LanczosInterp3DView< 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 1885 of file accessors.h.

template<typename T >
T npl::LanczosInterp3DView< 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 1895 of file accessors.h.

template<typename T >
T npl::LanczosInterp3DView< T >::operator[] ( int64_t  i)
inlineprotected

Gets value at array index and then casts to T.

Returns
value

Definition at line 2023 of file accessors.h.

template<typename T >
T npl::LanczosInterp3DView< T >::operator[] ( const std::vector< int64_t > &  i)
inlineprotected

Definition at line 2025 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 >
void npl::LanczosInterp3DView< T >::setRadius ( size_t  rad)
inline

Definition at line 1877 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::LanczosInterp3DView< T >::m_boundmethod

Definition at line 2008 of file accessors.h.

template<typename T >
int64_t npl::LanczosInterp3DView< T >::m_radius
protected

Definition at line 2025 of file accessors.h.

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

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

Definition at line 2014 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: