EMAN2
Public Member Functions | Static Public Member Functions | Static Public Attributes | List of all members
EMAN::RotateTranslateScaleAlignerIterative Class Reference

Iterative rotational, translational alignment with scaling. More...

#include <aligner.h>

Inheritance diagram for EMAN::RotateTranslateScaleAlignerIterative:
Inheritance graph
[legend]
Collaboration diagram for EMAN::RotateTranslateScaleAlignerIterative:
Collaboration graph
[legend]

Public Member Functions

 RotateTranslateScaleAlignerIterative ()
 
virtual EMDataalign (EMData *this_img, EMData *to_img, const string &cmp_name="dot", const Dict &cmp_params=Dict()) const
 To align 'this_img' with another image passed in through its parameters. More...
 
virtual EMDataalign (EMData *this_img, EMData *to_img) const
 
virtual string get_name () const
 Get the Aligner's name. More...
 
virtual string get_desc () const
 
virtual TypeDict get_param_types () const
 
- Public Member Functions inherited from EMAN::ScaleAlignerABS
 ScaleAlignerABS (const string &ba)
 Constructor to initialize the basealigner string. More...
 
EMDataalign_using_base (EMData *this_img, EMData *to_img, const string &cmp_name="dot", const Dict &cmp_params=Dict()) const
 implmentation of the scale alignment using the base aligner set in set_base_aligner More...
 
- Public Member Functions inherited from EMAN::Aligner
virtual ~Aligner ()
 
virtual Dict get_params () const
 Get the Aligner parameters in a key/value dictionary. More...
 
virtual void set_params (const Dict &new_params)
 Set the Aligner parameters using a key/value dictionary. More...
 
virtual vector< Dictxform_align_nbest (EMData *this_img, EMData *to_img, const unsigned int nsoln, const string &cmp_name, const Dict &cmp_params) const
 This function first added in the context of the 3D aligners used by e2tomohunter: which wants the n best solutions, as opposed to just the best. More...
 

Static Public Member Functions

static AlignerNEW ()
 

Static Public Attributes

static const string NAME = "rotate_trans_scale_iter"
 

Additional Inherited Members

- Protected Attributes inherited from EMAN::ScaleAlignerABS
const string basealigner
 
Dict basealigner_params
 
- Protected Attributes inherited from EMAN::Aligner
Dict params
 

Detailed Description

Iterative rotational, translational alignment with scaling.

Basically, we find the best translation, and move to that pointer then we find the best rotation and rotate to that point. Next we iterate X times. We do this for each scale of the image and return the optimal solution

Parameters
minMinimum scaling (default: 0.95)
maxaximum scaling (default: 1.05)
stepScaling step (default: 0.01)
maxshiftMaximum translation in pixels
r1inner ring
r2outer ring
maxitermaximum number of alignment iterations
nozeroZero translation not permitted (useful for CCD images)
Author
John Flanagan
Date
Oct 2010

Definition at line 665 of file aligner.h.

Constructor & Destructor Documentation

◆ RotateTranslateScaleAlignerIterative()

EMAN::RotateTranslateScaleAlignerIterative::RotateTranslateScaleAlignerIterative ( )
inline

Definition at line 669 of file aligner.h.

669 : ScaleAlignerABS("rotate_translate_iterative")
670 {
671 }
ScaleAlignerABS(const string &ba)
Constructor to initialize the basealigner string.
Definition: aligner.h:170

Referenced by NEW().

Member Function Documentation

◆ align() [1/2]

virtual EMData * EMAN::RotateTranslateScaleAlignerIterative::align ( EMData this_img,
EMData to_img 
) const
inlinevirtual

Implements EMAN::Aligner.

Definition at line 676 of file aligner.h.

677 {
678 return align(this_img, to_img, "sqeuclidean", Dict());
679 }
virtual EMData * align(EMData *this_img, EMData *to_img, const string &cmp_name="dot", const Dict &cmp_params=Dict()) const
To align 'this_img' with another image passed in through its parameters.

References align().

◆ align() [2/2]

virtual EMData * EMAN::RotateTranslateScaleAlignerIterative::align ( EMData this_img,
EMData to_img,
const string &  cmp_name = "dot",
const Dict cmp_params = Dict() 
) const
virtual

To align 'this_img' with another image passed in through its parameters.

The alignment uses a user-given comparison method to compare the two images. If none is given, a default one is used.

Parameters
this_imgThe image to be compared.
to_img'this_img" is aligned with 'to_img'.
cmp_nameThe comparison method to compare the two images.
cmp_paramsThe parameter dictionary for comparison method.
Returns
The aligned image.

Implements EMAN::Aligner.

Referenced by align().

◆ get_desc()

virtual string EMAN::RotateTranslateScaleAlignerIterative::get_desc ( ) const
inlinevirtual

Implements EMAN::Aligner.

Definition at line 686 of file aligner.h.

687 {
688 return "Performs rotational alignment and follows this with translational alignment using the iterative method. Does this for each scale and returns the best";
689 }

◆ get_name()

virtual string EMAN::RotateTranslateScaleAlignerIterative::get_name ( ) const
inlinevirtual

Get the Aligner's name.

Each Aligner is identified by a unique name.

Returns
The Aligner's name.

Implements EMAN::Aligner.

Definition at line 681 of file aligner.h.

682 {
683 return NAME;
684 }

References NAME.

◆ get_param_types()

virtual TypeDict EMAN::RotateTranslateScaleAlignerIterative::get_param_types ( ) const
inlinevirtual

Implements EMAN::Aligner.

Definition at line 696 of file aligner.h.

697 {
698 TypeDict d;
699 d.put("min", EMObject::FLOAT, "Minimum scaling (default: 0.95)");
700 d.put("max", EMObject::FLOAT, "Maximum scaling (default: 1.05)");
701 d.put("step", EMObject::FLOAT, "Scaling step (default: 0.01)");
702 d.put("maxshift", EMObject::INT, "Maximum translation in pixels");
703 d.put("r1", EMObject::INT, "Inner ring, pixels");
704 d.put("r2", EMObject::INT, "Outer ring, pixels");
705 d.put("maxiter", EMObject::INT, "Maximum number of iterations");
706 d.put("nozero", EMObject::INT,"Zero translation not permitted (useful for CCD images)");
707 d.put("useflcf", EMObject::INT,"Use Fast Local Correlation Function rather than CCF for translational alignment");
708 return d;
709 }

References EMAN::EMObject::FLOAT, EMAN::EMObject::INT, and EMAN::TypeDict::put().

◆ NEW()

static Aligner * EMAN::RotateTranslateScaleAlignerIterative::NEW ( )
inlinestatic

Definition at line 691 of file aligner.h.

References RotateTranslateScaleAlignerIterative().

Member Data Documentation

◆ NAME

const string RotateTranslateScaleAlignerIterative::NAME = "rotate_trans_scale_iter"
static

Definition at line 711 of file aligner.h.

Referenced by get_name().


The documentation for this class was generated from the following files: