Go to the documentation of this file.
21 #ifndef mia_3d_transform_hh
22 #define mia_3d_transform_hh
62 typedef std::shared_ptr<C3DTransformation> Pointer;
63 static const char *data_descr;
64 static const char *dim_descr;
99 virtual iterator_impl *clone()
const __attribute__((warn_unused_result)) = 0;
113 virtual const C3DFVector& do_get_value()
const = 0;
114 virtual void do_z_increment() = 0;
115 virtual void do_y_increment() = 0;
116 virtual void do_x_increment() = 0;
139 typedef std::forward_iterator_tag iterator_category;
141 typedef size_t difference_type;
178 std::unique_ptr<iterator_impl> m_holder;
197 void set_creator_string(
const std::string& s);
200 const std::string& get_creator_string()
const;
244 virtual void reinit()
const;
263 virtual size_t degrees_of_freedom()
const = 0;
268 virtual void set_identity() = 0;
278 virtual C3DFMatrix derivative_at(
int x,
int y,
int z)
const = 0;
302 virtual void set_parameters(
const CDoubleVector& params) = 0;
307 virtual float get_max_transform()
const = 0;
313 virtual const C3DBounds& get_size()
const = 0;
348 virtual float get_jacobian(
const C3DFVectorfield& v,
float delta)
const = 0;
356 virtual bool refine();
367 static constexpr
const char *input_spacing_attr =
"in-voxel-spacing";
372 static constexpr
const char *output_spacing_attr =
"out-voxel-spacing";
375 virtual C3DBounds get_minimal_supported_image_size()
const;
378 bool get_debug()
const;
385 std::string m_creator_string;
The generic base type of a 3D image.
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
A factory to create interpolators of a given type by providing input data.
#define NS_MIA_END
conveniance define to end the mia namespace
EXPORT_3D bool operator!=(const C3DTransformation::const_iterator &a, const C3DTransformation::const_iterator &b)
Compare two transformation iterators.
a 3D field of floating point single accuracy 3D vectors
bool operator==(const CAttribute &a, const CAttribute &b)
std::shared_ptr< C3DTransformation > P3DTransformation
pointer type for a 3D transformation
A wrapper around the c-array to provide an STL like interface for iterators.
C3DImage::Pointer P3DImage
define a shortcut to the 3D image shared pointer.
Matrix EXPORT_GSL operator*(const Matrix &lhs, const Matrix &rhs)