This is the generic base class for 3D transformations. More...
#include <mia/3d/transform.hh>
Data Structures | |
| class | const_iterator |
| class | iterator_impl |
Public Member Functions | |
| virtual C3DFVector | apply (const C3DFVector &x) const __attribute__((deprecated)) |
| virtual const_iterator | begin () const =0 |
| virtual const_iterator | begin_range (const C3DBounds &begin, const C3DBounds &end) const =0 |
| C3DTransformation (const C3DInterpolatorFactory &ipf) | |
| virtual C3DTransformation * | clone () const |
| virtual size_t | degrees_of_freedom () const =0 |
| virtual C3DFMatrix | derivative_at (int x, int y, int z) const =0 |
| virtual C3DFMatrix | derivative_at (const C3DFVector &x) const =0 |
| virtual const_iterator | end () const =0 |
| virtual const_iterator | end_range (const C3DBounds &begin, const C3DBounds &end) const =0 |
| const std::string & | get_creator_string () const |
| virtual C3DFVector | get_displacement_at (const C3DFVector &x) const =0 |
| virtual float | get_jacobian (const C3DFVectorfield &v, float delta) const =0 |
| virtual float | get_max_transform () const =0 |
| virtual C3DBounds | get_minimal_supported_image_size () const |
| virtual CDoubleVector | get_parameters () const =0 |
| virtual const C3DBounds & | get_size () const =0 |
| virtual C3DTransformation * | invert () const =0 |
| virtual C3DFVector | operator() (const C3DFVector &x) const =0 |
| virtual float | pertuberate (C3DFVectorfield &v) const =0 |
| virtual bool | refine () |
| virtual void | reinit () const |
| void | set_creator_string (const std::string &s) |
| void | set_debug () |
| virtual void | set_identity ()=0 |
| virtual void | set_parameters (const CDoubleVector ¶ms)=0 |
| virtual void | translate (const C3DFVectorfield &gradient, CDoubleVector ¶ms) const =0 |
| virtual void | update (float step, const C3DFVectorfield &a)=0 |
| P3DTransformation | upscale (const C3DBounds &size) const |
Public Member Functions inherited from Transformation< C3DImage, C3DInterpolatorFactory > | |
| double | get_energy_penalty () const |
| double | get_energy_penalty_and_gradient (CDoubleVector &gradient) const |
| bool | has_energy_penalty () const |
| std::shared_ptr< C3DImage > | operator() (const C3DImage &input) const |
| std::shared_ptr< C3DImage > | operator() (const C3DImage &input, const C3DInterpolatorFactory &ipf_override) const |
| void | set_interpolator_factory (const C3DInterpolatorFactory &ipf) |
| Transformation (const C3DInterpolatorFactory &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 constexpr const char * | input_spacing_attr = "in-voxel-spacing" |
| static constexpr const char * | output_spacing_attr = "out-voxel-spacing" |
Static Public Attributes inherited from Transformation< C3DImage, C3DInterpolatorFactory > | |
| static const char * | type_descr |
| interface type for plugin implementation and search More... | |
Protected Member Functions | |
| bool | get_debug () const |
Protected Member Functions inherited from Transformation< C3DImage, C3DInterpolatorFactory > | |
| const C3DInterpolatorFactory & | get_interpolator_factory () const |
Additional Inherited Members | |
Public Types inherited from Transformation< C3DImage, C3DInterpolatorFactory > | |
| typedef C3DImage | Data |
| typedef for the data type to be transformed by this transformation More... | |
| typedef C3DInterpolatorFactory | InterpolatorFactory |
| type of the interpolator used by this transformation More... | |
This is the generic base class for 3D transformations.
This class defines the interface for 3D transformations. Most methods are pure abstract and need to be implemented by a "real" transformation.
Definition at line 53 of file 3d/transform.hh.
| C3DTransformation::C3DTransformation | ( | const C3DInterpolatorFactory & | ipf | ) |
Standard constructor place holder
|
virtual |
Reimplemented in C3DLinearTransform.
|
pure virtual |
Implemented in C3DLinearTransform.
|
pure virtual |
Implemented in C3DLinearTransform.
|
virtual |
|
pure virtual |
Implemented in C3DLinearTransform.
|
pure virtual |
evaluate the derivative (Jacobian matrix) of the transformation at the given grid coordinates
| x | |
| y | |
| z |
Implemented in C3DLinearTransform.
|
pure virtual |
evaluate the derivative (Jacobian matrix) of the transformation at the given coordinates
| x |
Implemented in C3DLinearTransform.
|
pure virtual |
Implemented in C3DLinearTransform.
|
pure virtual |
Implemented in C3DLinearTransform.
| const std::string& C3DTransformation::get_creator_string | ( | ) | const |
|
protected |
|
pure virtual |
Returns the displacement of the transformation at a given coordinate
| x | coordinate |
|
pure virtual |
Evaluate the Jacobian of the transformation when updated with vector field v by factor delta
Implemented in C3DLinearTransform.
|
pure virtual |
Implemented in C3DLinearTransform.
|
virtual |
|
pure virtual |
Implemented in C3DLinearTransform.
|
pure virtual |
A transformation is defined on [0,X-1]x[0.Y-1]y[0,Z-1].
Implemented in C3DLinearTransform.
|
pure virtual |
Implemented in C3DLinearTransform.
|
pure virtual |
apply the actual transformation to point x
Implemented in C3DLinearTransform.
|
pure virtual |
evaluate the pertuberation of a vectorfield combined with this transformation
| [in,out] | v | vectorfield to be pertuberated |
Implemented in C3DLinearTransform.
|
virtual |
Increase the number of coefficients along the axis according to the maximum given by the c-rate. This is the complemantary step to upscaling the transformation.
|
virtual |
Placeholder for transformations that might need special initializations like the B-spline based transformation
| void C3DTransformation::set_creator_string | ( | const std::string & | s | ) |
Set the descrition string that was used to create this transformstion
| s |
| void C3DTransformation::set_debug | ( | ) |
Enable some additional debugging.
|
pure virtual |
set the transformation to be the identity transform
Implemented in C3DLinearTransform.
|
pure virtual |
sets the transformation parameters from a flat value array
Implemented in C3DLinearTransform.
|
pure virtual |
Translate the input gradient to a vector field in the space of the transformation field
Implemented in C3DLinearTransform.
|
pure virtual |
update a transformation by using a vector field
Implemented in C3DLinearTransform.
| P3DTransformation C3DTransformation::upscale | ( | const C3DBounds & | size | ) | const |
Transforation upscaling to new image size
| size | new size of the transformation |
|
static |
This attribute defines the voxel spacing of the input data of this transform.
Definition at line 364 of file 3d/transform.hh.
|
static |
This attribute defines the output voxel spacing of this transform.
Definition at line 369 of file 3d/transform.hh.