NPL
Neurological Programs and Libraries
Accessors for NDArray/Image

Classes

class  npl::NDView< T >
 This is a basic accessor class, which allows for accessing array data in the type specified by the template. More...
 
class  npl::NDConstView< T >
 This is a basic accessor class, which allows for accessing array data in the type specified by the template. More...
 
class  npl::Pixel3DView< T >
 The purpose of this class is to view an image as a 3D image rather than a ND image. Therefore all dimensions above the third will be ignored and index 0 will be used. More...
 
class  npl::Vector3DConstView< T >
 The purpose of this class is to view an image as a 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector. If there is demand I may create a matrixx verion as well. More...
 
class  npl::Vector3DView< T >
 The purpose of this class is to view an image as a 3D+vector dimension image rather than a 4+D image. Therefore all dimensions above the third are cast as a vector. If there is demand I may create a matrixx verion as well. More...
 
class  npl::LinInterpNDView< T >
 The purpose of this class is to view an image as a continuous ND image and to sample at a continuous ND-position within. More...
 
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. More...
 
class  npl::NNInterpNDView< T >
 General purpose Nearest-Neighbor interpolator. More...
 
class  npl::NNInterp3DView< 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. More...
 
class  npl::LanczosInterpNDView< 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. More...
 
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. More...
 
class  npl::BSplineView< T >
 This is a specialized viewer for computing the value of a cubic B-Spline interpolation from the parameters. Thus the input to the constructor or setArray must be a parameter image. More...
 

Functions

double npl::linKern (double x)
 

Detailed Description

Accessors are used to get and set pixel data. Since the pixel type is hidden in images and arrays, accessors perform the necessary casting. All Accessors have names that end with View or ConstView Thus

NDView<double> dacc(img);
double v = dacc[index];
NDView<std::complex<double>> cacc(img);
std::complex<double> c = cacc[index];

Can both be used to access the same data. Of course upon writing or if you need a particular precision you should cast the image to ensure that you aren't losing anything. While this may seem convoluted it allowes for general purpose coding of functions without having to maintain the type in every single function declaration. This is what you would effectively do in C if you had a void*.

Function Documentation

double npl::linKern ( double  x)
inline

Definition at line 867 of file accessors.h.