Go to the documentation of this file.
21 #ifndef reg3d_deformer_hh
22 #define reg3d_deformer_hh
61 std::unique_ptr<T3DConvoluteInterpolator<T>> interp(m_ipfac.
create(image.
data()));
62 const auto& rinterp = *interp;
65 auto cache = rinterp.create_cache();
67 for (
auto z = range.begin(); z != range.end(); ++z) {
71 for (
size_t y = 0; y < result.
get_size().
y; ++y)
72 for (
size_t x = 0; x < result.
get_size().
x; ++x, ++r, ++v)
73 *r = rinterp(
C3DFVector(x - v->x, y - v->y, z - v->z), cache);
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
void pfor(Range range, const Func &f)
A factory to create interpolators of a given type by providing input data.
#define NS_MIA_END
conveniance define to end the mia namespace
base class for all filer type functors.
a 3D field of floating point single accuracy 3D vectors
virtual const C3DBounds & get_size() const
const C3DBounds & get_size() const
Specific type of the 3D images that hold real pixel data.
T3DVector< float > C3DFVector
A float 3D Vector.
const_iterator begin_at(size_t x, size_t y, size_t z) const
const_iterator begin_at(size_t x, size_t y, size_t z) const
constant iterator starting at the given location
This class is used to handle syncronizized output of logging output in a multi-threaded environment.
C3DImage::Pointer P3DImage
define a shortcut to the 3D image shared pointer.
T3DConvoluteInterpolator< T > * create(const T3DDatafield< T > &src) const __attribute__((warn_unused_result))
const T3DDatafield< T > & data() const
read only access to the underlying data