This is the generic base class for 2D transformations. More...
#include <mia/2d/transform.hh>
Data Structures | |
class | const_iterator |
class | iterator_impl |
Base of the implementation of an iterator over the transformation domain This iterator takes care of iterating over the transformation range. X is the fastest changing index. Some methods are abstract and must be defined in derived classes by using the specific transformation model. More... | |
Public Types | |
typedef C2DImage | Data |
generic name for the data used by this transformation More... | |
typedef C2DInterpolatorFactory | InterpolatorFactory |
generic name for the interpolation factory used by this transformation More... | |
typedef std::shared_ptr< C2DTransformation > | Pointer |
pointer type of this transformation More... | |
typedef C2DBounds | Size |
generic name for the size type used by this transformation More... | |
typedef C2DTransformation | type |
generic name for this transformation type More... | |
typedef C2DFVector | Vector |
generic name for the vector type used by this transformation More... | |
Public Types inherited from Transformation< C2DImage, C2DInterpolatorFactory > | |
typedef C2DImage | Data |
typedef for the data type to be transformed by this transformation More... | |
typedef C2DInterpolatorFactory | InterpolatorFactory |
type of the interpolator used by this transformation More... | |
Public Member Functions | |
virtual C2DFVector | apply (const C2DFVector &x) const __attribute__((deprecated)) |
virtual const_iterator | begin () const =0 |
C2DTransformation (const C2DInterpolatorFactory &ipf) | |
virtual C2DTransformation * | clone () const __attribute__((warn_unused_result)) |
virtual size_t | degrees_of_freedom () const =0 |
virtual C2DFMatrix | derivative_at (const C2DFVector &x) const =0 |
virtual C2DFMatrix | derivative_at (int x, int y) const =0 |
virtual const_iterator | end () const =0 |
const std::string & | get_creator_string () const |
virtual C2DFVector | get_displacement_at (const C2DFVector &x) const =0 |
virtual float | get_jacobian (const C2DFVectorfield &v, float delta) const =0 |
virtual float | get_max_transform () const =0 |
virtual C2DBounds | get_minimal_supported_image_size () const |
virtual CDoubleVector | get_parameters () const =0 |
virtual const C2DBounds & | get_size () const =0 |
virtual C2DTransformation * | invert () const __attribute__((warn_unused_result))=0 |
virtual C2DFVector | operator() (const C2DFVector &x) const =0 |
virtual float | pertuberate (C2DFVectorfield &v) const =0 |
virtual bool | refine () |
void | set_creator_string (const std::string &s) |
virtual void | set_identity ()=0 |
virtual void | set_parameters (const CDoubleVector ¶ms)=0 |
virtual void | translate (const C2DFVectorfield &gradient, CDoubleVector ¶ms) const =0 |
virtual void | update (float step, const C2DFVectorfield &a)=0 |
Pointer | upscale (const C2DBounds &size) const |
Public Member Functions inherited from Transformation< C2DImage, C2DInterpolatorFactory > | |
double | get_energy_penalty () const |
double | get_energy_penalty_and_gradient (CDoubleVector &gradient) const |
bool | has_energy_penalty () const |
std::shared_ptr< C2DImage > | operator() (const C2DImage &input) const |
std::shared_ptr< C2DImage > | operator() (const C2DImage &input, const C2DInterpolatorFactory &ipf_override) const |
void | set_interpolator_factory (const C2DInterpolatorFactory &ipf) |
Transformation (const C2DInterpolatorFactory &ipf) | |
virtual | ~Transformation () |
Public Member Functions inherited from CIOData | |
const std::string & | get_source_format () const |
void | set_source_format (const std::string &format) |
Public Member Functions inherited from CAttributedData | |
CAttributeMap::const_iterator | begin_attributes () const |
void | delete_attribute (const std::string &key) |
CAttributeMap::const_iterator | end_attributes () const |
const PAttribute | get_attribute (const std::string &key) const |
template<typename T > | |
const T | get_attribute_as (const std::string &key) const |
template<typename T > | |
const T | get_attribute_as (const std::string &key, T default_value) const |
const std::string | get_attribute_as_string (const std::string &key) const |
returns the requested attribute as string, returns an empty string if attribute doesn't exist More... | |
bool | has_attribute (const std::string &key) const |
CAttributedData & | operator= (const CAttributedData &org) |
Assignemt operator. More... | |
void | print (std::ostream &os) const |
void | set_attribute (const std::string &key, PAttribute attr) |
void | set_attribute (const std::string &key, const std::string &value) |
template<typename T > | |
void | set_attribute (const std::string &key, const T &value) |
void | set_attribute (const std::string &key, const char *value) |
void | set_attributes (CAttributeMap::const_iterator begin, CAttributeMap::const_iterator end) |
CAttributedData () | |
CAttributedData (const CAttributedData &org) | |
CAttributedData (PAttributeMap attr) | |
Static Public Attributes | |
static const char * | data_descr |
plug-in search path element "type" More... | |
static const char * | dim_descr |
plug-in search path element "data" More... | |
static constexpr const char * | input_spacing_attr = "in-pixel-spacing" |
static constexpr const char * | output_spacing_attr = "out-pixel-spacing" |
Static Public Attributes inherited from Transformation< C2DImage, C2DInterpolatorFactory > | |
static const char * | type_descr |
interface type for plugin implementation and search More... | |
Additional Inherited Members | |
Protected Member Functions inherited from Transformation< C2DImage, C2DInterpolatorFactory > | |
const C2DInterpolatorFactory & | get_interpolator_factory () const |
This is the generic base class for 2D transformations.
This class defines the generic interface for a 2D transformation. Most methods are pure abstract and need to be implemented by a "real" transformation. Actual implementations are provided as plug-ins.
Definition at line 45 of file 2d/transform.hh.
typedef C2DImage C2DTransformation::Data |
generic name for the data used by this transformation
Definition at line 48 of file 2d/transform.hh.
generic name for the interpolation factory used by this transformation
Definition at line 57 of file 2d/transform.hh.
typedef std::shared_ptr<C2DTransformation > C2DTransformation::Pointer |
pointer type of this transformation
Definition at line 63 of file 2d/transform.hh.
typedef C2DBounds C2DTransformation::Size |
generic name for the size type used by this transformation
Definition at line 51 of file 2d/transform.hh.
generic name for this transformation type
Definition at line 60 of file 2d/transform.hh.
typedef C2DFVector C2DTransformation::Vector |
generic name for the vector type used by this transformation
Definition at line 54 of file 2d/transform.hh.
C2DTransformation::C2DTransformation | ( | const C2DInterpolatorFactory & | ipf | ) |
Standard constructor place holder
|
inlinevirtual |
Definition at line 341 of file 2d/transform.hh.
|
pure virtual |
|
virtual |
|
pure virtual |
|
pure virtual |
evaluate the derivative (Jacobian matrix) of the transformation at the given coordinate
x |
|
pure virtual |
evaluate the derivative (Jacobian matrix) of the transformation at the given grid coordinates
x | |
y |
|
pure virtual |
const std::string& C2DTransformation::get_creator_string | ( | ) | const |
|
pure virtual |
|
pure virtual |
Evaluate the Jacobian of the transformation when updated with vector field v by factor delta
|
pure virtual |
|
virtual |
|
pure virtual |
|
pure virtual |
A transformation is defined on [0,X-1]x[0.Y-1].
|
pure virtual |
|
pure virtual |
apply the actual transformation to point x
|
pure virtual |
evaluate the pertuberation of a vectorfield combined with this transformation
[in,out] | v | vectorfield to be pertuberated |
|
virtual |
If applicaple the transformation model is refined (e.g. splines are converted to a denser coefficient distribution.
void C2DTransformation::set_creator_string | ( | const std::string & | s | ) |
Set the descrition string that was used to create this transformstion
s |
|
pure virtual |
set the transformation to be the identity transform
|
pure virtual |
sets the transformation parameters from a flat value array
|
pure virtual |
Translate the input gradient to a vector field in the space of the transformation field
|
pure virtual |
update a transformation by using a vector field
Transforation upscaling to new image size
size | new size of the transformation |
|
static |
plug-in search path element "type"
Definition at line 66 of file 2d/transform.hh.
|
static |
plug-in search path element "data"
Definition at line 69 of file 2d/transform.hh.
|
static |
This attribute defines the voxel spacing of the input data of this transform.
Definition at line 374 of file 2d/transform.hh.
|
static |
This attribute defines the output voxel spacing of this transform.
Definition at line 379 of file 2d/transform.hh.