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;
214 void print(std::ostream& os)
const;
216 std::unique_ptr<iterator_impl> m_holder;
234 void set_creator_string(
const std::string& s);
237 const std::string& get_creator_string()
const;
247 virtual
C2DTransformation *invert() const __attribute__((warn_unused_result)) = 0;
267 Pointer upscale(const
C2DBounds& size) const;
278 virtual
size_t degrees_of_freedom() const = 0;
283 virtual
void set_identity() = 0;
300 virtual
C2DFMatrix derivative_at(
int x,
int y) const = 0;
316 virtual
void set_parameters(const
CDoubleVector& params) = 0;
321 virtual
float get_max_transform() const = 0;
327 virtual const
C2DBounds& get_size() const = 0;
354 virtual
float get_jacobian(const
C2DFVectorfield& v,
float delta) const = 0;
362 virtual
bool refine();
368 static constexpr const
char *input_spacing_attr = "in-pixel-spacing";
373 static constexpr const
char *output_spacing_attr = "out-pixel-spacing";
381 virtual
C2DBounds get_minimal_supported_image_size() const;
385 virtual Pointer do_upscale(const
C2DBounds& size) const = 0;
387 std::
string m_creator_string;
388 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.
class EXPORT_CORE CMeans private
#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.
The factory to create an interpolator from some input data.
This is the base class for 2D images that can hold generic pixel data.
Matrix EXPORT_GSL operator*(const Matrix &lhs, const Matrix &rhs)
#define NS_MIA_END
conveniance define to end the mia namespace