This class provides access to the voxel intensities of an image using cubic spline interpolation.
More...
template<class ImageType, class SplineType,
Math::SplineProcessingType PType>
class MR::Interp::SplineInterpBase< ImageType, SplineType, PType >
This class provides access to the voxel intensities of an image using cubic spline interpolation.
Interpolation is only performed along the first 3 (spatial) axes. The (integer) position along the remaining axes should be set using the template DataSet class. The spatial coordinates can be set using the functions voxel(), image(), and scanner(). For example:
interp.scanner (10.2, 3.59, 54.1);
float value = interp.value();
static Image create(const std::string &image_name, const Header &template_header, bool add_to_command_history=true)
VectorType::Scalar value(const VectorType &coefs, typename VectorType::Scalar cos_elevation, typename VectorType::Scalar cos_azimuth, typename VectorType::Scalar sin_azimuth, int lmax)
vector< ParsedArgument > argument
the list of arguments parsed from the command-line
SplineInterp< ImageType, Math::HermiteSpline< typename ImageType::value_type >, Math::SplineProcessingType::Value > Cubic
The template input class must be usable with this type of syntax:
int xsize = input.size(0);
int ysize = input.size(1);
int zsize = input.size(2);
float v[] = { input.spacing(0), input.spacing(1), input.spacing(2) };
input.index(0) = 0;
input.index(1)--;
input.index(2)++;
float f = input.value();
Eigen::Transform< default_type, 3, Eigen::AffineCompact > transform_type
the type for the affine transform of an image:
Definition at line 72 of file cubic.h.