34 #ifndef AIMS_PYRAMID_SPLINEPYRAMID_H
35 #define AIMS_PYRAMID_SPLINEPYRAMID_H
71 = std::vector<InterpolatedVolume>() );
75 bool is_coeff =
false );
85 const std::vector<InterpolatedVolume> &
pyramid()
const;
142 unsigned order()
const;
144 const std::vector<Point4du> &
factor()
const;
148 void setFactor(
const std::vector<Point4du> & r );
150 void setDirections(
bool dirx,
bool diry,
bool dirz,
bool dirt );
159 template <
typename T>
172 std::vector<Point4du>
computeFactors(
const std::vector<int> & size )
const;
178 template <
typename T>
180 unsigned order,
unsigned factor = 2 )
186 template <
typename T>
188 unsigned order,
const Point4du & factor )
193 template <
typename T>
196 const std::vector<Point4du> & factor )
202 template <
typename T>
204 unsigned factor = 2 )
210 template <
typename T>
218 template <
typename T>
220 const std::vector<Point4du> & factor )
Spline interpolation of volumes with simple accessors to interpolated values.
The method follows that of Under, Aldroubi & Eden, "The L2 Polynomial Spline Pyramid" in IEEE Transac...
void setDirections(const std::vector< bool > &dir)
void setFactor(unsigned r)
SplinePyramidBuilder(unsigned factor=2, unsigned spline_order=3)
Constructors / Destructors / Copy.
unsigned order() const
Parameters.
const std::vector< bool > & directions() const
void setVerbose(int verbose=1)
void setOrder(unsigned n)
SplinePyramid execute(const carto::VolumeRef< T > &vol, bool is_coeff=false) const
Execution.
virtual ~SplinePyramidBuilder()
std::vector< Point4du > computeFactors(const std::vector< int > &size) const
Execution.
std::vector< Point4du > _factor
const std::vector< Point4du > & factor() const
SplinePyramidBuilder & operator=(const SplinePyramidBuilder &other)
Pyramid of Interpolated Volumes.
InterpolatedVolume & operator[](unsigned level)
Level accessor.
SplinePyramid & operator=(const SplinePyramid &other)
const std::vector< InterpolatedVolume > & pyramid() const
Change pyramid.
double getSizeYMm() const
const carto::PropertySet & header(unsigned level=0) const
InterpolatedVolume::Matrix Matrix
carto::PropertySet & header(unsigned level=0)
SplinePyramid(const std::vector< InterpolatedVolume > &pyramid=std::vector< InterpolatedVolume >())
Constructors / Destructors / Copy.
std::vector< InterpolatedVolume > _pyramid
SplinePyramid(const SplinePyramid &other)
void setPyramid(const std::vector< InterpolatedVolume > &pyramid)
double getSizeZMm() const
double getSizeXMm() const
Dimensions.
InterpolatedVolume::Vector Vector
InterpolatedVolume types.
SplinePyramid buildSplinePyramid(const carto::VolumeRef< T > &vol, unsigned order, unsigned factor=2)
FUNCTORS.
SplinePyramid cubicSplinePyramid(const carto::VolumeRef< T > &vol, unsigned factor=2)