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