Go to the documentation of this file.
21 #ifndef mia_2d_transform_hh
22 #define mia_2d_transform_hh
64 typedef std::shared_ptr<C2DTransformation >
Pointer;
98 void advance(
unsigned int delta);
104 virtual iterator_impl *clone()
const __attribute__((warn_unused_result)) = 0;
125 void print(std::ostream& os)
const;
127 virtual const C2DFVector& do_get_value()
const = 0;
128 virtual void do_y_increment() = 0;
129 virtual void do_x_increment() = 0;
217 void print(std::ostream& os)
const;
219 std::unique_ptr<iterator_impl> m_holder;
237 void set_creator_string(
const std::string& s);
240 const std::string& get_creator_string()
const;
250 virtual
C2DTransformation *invert() const __attribute__((warn_unused_result)) = 0;
281 virtual
size_t degrees_of_freedom() const = 0;
286 virtual
void set_identity() = 0;
303 virtual
C2DFMatrix derivative_at(
int x,
int y) const = 0;
319 virtual
void set_parameters(const
CDoubleVector& params) = 0;
324 virtual
float get_max_transform() const = 0;
330 virtual const
C2DBounds& get_size() const = 0;
346 return get_displacement_at(x);
364 virtual float get_jacobian(
const C2DFVectorfield& v,
float delta)
const = 0;
372 virtual bool refine();
378 static constexpr
const char *input_spacing_attr =
"in-pixel-spacing";
383 static constexpr
const char *output_spacing_attr =
"out-pixel-spacing";
391 virtual C2DBounds get_minimal_supported_image_size()
const;
397 std::string m_creator_string;
398 virtual C2DTransformation *do_clone() const __attribute__((warn_unused_result)) = 0;
#define NS_MIA_BEGIN
conveniance define to start the mia namespace
C2DTransformation::Pointer P2DTransformation
Pointer type for the 2D transformation.
The factory to create an interpolator from some input data.
This is the base class for 2D images that can hold generic pixel data.
#define NS_MIA_END
conveniance define to end the mia namespace
C2DImage::Pointer P2DImage
Shared pointer representation of the 2D Image.
EXPORT_2D C2DFVectorfield & operator+=(C2DFVectorfield &a, const C2DFVectorfield &b)
bool operator==(const CAttribute &a, const CAttribute &b)
a 2D field of floating point single accuracy 2D vectors
EXPORT_2D bool operator!=(const C2DTransformation::const_iterator &a, const C2DTransformation::const_iterator &b)
Compare two transformation iterators.
A wrapper around the c-array to provide an STL like interface for iterators.
Matrix EXPORT_GSL operator*(const Matrix &lhs, const Matrix &rhs)