21 #ifndef mia_3d_transform_hh 22 #define mia_3d_transform_hh 61 typedef std::shared_ptr<C3DTransformation> Pointer;
62 static const char *data_descr;
63 static const char *dim_descr;
97 virtual iterator_impl * clone()
const __attribute__((warn_unused_result)) = 0;
111 virtual const C3DFVector& do_get_value()
const = 0;
112 virtual void do_z_increment() = 0;
113 virtual void do_y_increment() = 0;
114 virtual void do_x_increment() = 0;
136 typedef std::forward_iterator_tag iterator_category;
138 typedef size_t difference_type;
175 std::unique_ptr<iterator_impl> m_holder;
194 void set_creator_string(
const std::string& s);
197 const std::string& get_creator_string()
const;
241 virtual void reinit()
const;
260 virtual size_t degrees_of_freedom()
const = 0;
265 virtual void set_identity() = 0;
275 virtual C3DFMatrix derivative_at(
int x,
int y,
int z)
const = 0;
299 virtual void set_parameters(
const CDoubleVector& params) = 0;
304 virtual float get_max_transform()
const = 0;
310 virtual const C3DBounds& get_size()
const = 0;
345 virtual float get_jacobian(
const C3DFVectorfield& v,
float delta)
const = 0;
353 virtual bool refine();
364 static constexpr
const char *input_spacing_attr =
"in-voxel-spacing";
369 static constexpr
const char *output_spacing_attr =
"out-voxel-spacing";
372 virtual C3DBounds get_minimal_supported_image_size()
const;
375 bool get_debug()
const;
382 std::string m_creator_string;
bool operator==(const CAttribute &a, const CAttribute &b)
C3DImage::Pointer P3DImage
define a shortcut to the 3D image shared pointer.
a 3D field of floating point single accuracy 3D vectors
A wrapper around the c-array to provide an STL like interface for iterators.
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
EXPORT_3D bool operator!=(const C3DTransformation::const_iterator &a, const C3DTransformation::const_iterator &b)
Compare two transformation iterators.
The generic base type of a 3D image.
A factory to create interpolators of a given type by providing input data.
std::shared_ptr< C3DTransformation > P3DTransformation
pointer type for a 3D transformation
Matrix EXPORT_GSL operator*(const Matrix &lhs, const Matrix &rhs)
#define NS_MIA_END
conveniance define to end the mia namespace