17#ifndef __interp_masked_h__
18#define __interp_masked_h__
42 template <
class InterpType>
47 Masked (
const typename InterpType::image_type& parent,
49 InterpType (parent, value_when_out_of_bounds) { }
59 template <
class VectorType>
60 bool voxel (
const VectorType& pos)
62 if (InterpType::set_out_of_bounds (pos))
67 for (
auto l_inner =
Loop(*
this, 3) (*
this); l_inner; ++l_inner) {
69 return InterpType::voxel (pos);
71 InterpType::set_out_of_bounds (
true);
77 template <
class VectorType>
84 template <
class VectorType>
This class defines the interface for classes that perform image interpolation.
Implicit masking for interpolator class.
constexpr I round(const T x)
FORCE_INLINE LoopAlongAxes Loop()
VectorType::Scalar value(const VectorType &coefs, typename VectorType::Scalar cos_elevation, typename VectorType::Scalar cos_azimuth, typename VectorType::Scalar sin_azimuth, int lmax)
MR::default_type value_type