21 #ifndef mia_2d_transform_hh
22 #define mia_2d_transform_hh
63 typedef std::shared_ptr<C2DTransformation >
Pointer;
96 void advance(
unsigned int delta);
102 virtual iterator_impl * clone()
const __attribute__((warn_unused_result)) = 0;
123 void print(std::ostream& os)
const;
125 virtual const C2DFVector& do_get_value()
const = 0;
126 virtual void do_y_increment() = 0;
127 virtual void do_x_increment() = 0;
210 void print(std::ostream& os)
const;
212 std::unique_ptr<iterator_impl> m_holder;
230 void set_creator_string(
const std::string& s);
233 const std::string& get_creator_string()
const;
243 virtual
C2DTransformation *invert() const __attribute__((warn_unused_result)) = 0;
274 virtual
size_t degrees_of_freedom() const = 0;
279 virtual
void set_identity() = 0;
296 virtual
C2DFMatrix derivative_at(
int x,
int y) const = 0;
312 virtual
void set_parameters(const
CDoubleVector& params) = 0;
317 virtual
float get_max_transform() const = 0;
323 virtual const
C2DBounds& get_size() const = 0;
350 virtual
float get_jacobian(const
C2DFVectorfield& v,
float delta) const = 0;
361 virtual
double get_divcurl_cost(
double wd,
double wr,
CDoubleVector& gradient) const = 0;
370 virtual
double get_divcurl_cost(
double wd,
double wr) const = 0;
377 virtual
bool refine();
383 std::
string m_creator_string;
384 virtual
C2DTransformation *do_clone() const __attribute__((warn_unused_result)) = 0;
C2DImage::Pointer P2DImage
Shared pointer representation of the 2D Image.
bool operator==(const CAttribute &a, const CAttribute &b)
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_2D C2DFVectorfield & operator+=(C2DFVectorfield &a, const C2DFVectorfield &b)
C2DTransformation::Pointer P2DTransformation
Pointer type for the 2D transformation.
EXPORT_2D bool operator!=(const C2DTransformation::const_iterator &a, const C2DTransformation::const_iterator &b)
Compare two transformation iterators.
F operator*(const typename TSparseSolver< F >::A_mult_x &A, const F &x)
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