#include <aligner.h>
Inheritance diagram for EMAN::RotateTranslateFlipScaleAlignerIterative:
Public Member Functions | |
RotateTranslateFlipScaleAlignerIterative () | |
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. | |
virtual EMData * | align (EMData *this_img, EMData *to_img) const |
virtual string | get_name () const |
Get the Aligner's name. | |
virtual string | get_desc () const |
virtual TypeDict | get_param_types () const |
Static Public Member Functions | |
static Aligner * | NEW () |
Static Public Attributes | |
static const string | NAME = "rotate_trans_flip_scale_iter" |
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 and flip of the image and return the optimal solution
min | Minimum scaling (default: 0.95) | |
max | aximum scaling (default: 1.05) | |
step | Scaling step (default: 0.01) | |
flip | ||
maxshift | Maximum translation in pixels | |
r1 | inner ring | |
r2 | outer ring | |
maxiter | maximum number of alignment iterations |
Definition at line 981 of file aligner.h.
EMAN::RotateTranslateFlipScaleAlignerIterative::RotateTranslateFlipScaleAlignerIterative | ( | ) | [inline] |
Definition at line 985 of file aligner.h.
Referenced by NEW().
00985 : ScaleAlignerABS("rotate_translate_flip_iterative") 00986 { 00987 }
virtual EMData* EMAN::RotateTranslateFlipScaleAlignerIterative::align | ( | EMData * | this_img, | |
EMData * | to_img | |||
) | const [inline, virtual] |
Implements EMAN::Aligner.
Definition at line 992 of file aligner.h.
References align().
00993 { 00994 return align(this_img, to_img, "sqeuclidean", Dict()); 00995 }
EMData * RotateTranslateFlipScaleAlignerIterative::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.
this_img | The image to be compared. | |
to_img | 'this_img" is aligned with 'to_img'. | |
cmp_name | The comparison method to compare the two images. | |
cmp_params | The parameter dictionary for comparison method. |
Implements EMAN::Aligner.
Definition at line 915 of file aligner.cpp.
References EMAN::ScaleAlignerABS::align_using_base(), EMAN::ScaleAlignerABS::basealigner_params, EMAN::Aligner::params, and EMAN::Dict::set_default().
Referenced by align().
00917 { 00918 00919 //Basically copy params into rotate_translate 00920 basealigner_params["flip"] = params.set_default("flip", (EMData *) 0); 00921 basealigner_params["maxshift"] = params.set_default("maxshift", -1); 00922 basealigner_params["r1"] = params.set_default("r1",-1); 00923 basealigner_params["r2"] = params.set_default("r2",-1); 00924 basealigner_params["maxiter"] = params.set_default("maxiter",3); 00925 00926 //return the correct results 00927 return align_using_base(this_img, to, cmp_name, cmp_params); 00928 00929 }
virtual string EMAN::RotateTranslateFlipScaleAlignerIterative::get_desc | ( | ) | const [inline, virtual] |
Implements EMAN::Aligner.
Definition at line 1002 of file aligner.h.
01003 { 01004 return "Performs rotational alignment and follows this with translational alignment using the iterative method. Does this for each scale and returns the best"; 01005 }
virtual string EMAN::RotateTranslateFlipScaleAlignerIterative::get_name | ( | ) | const [inline, virtual] |
virtual TypeDict EMAN::RotateTranslateFlipScaleAlignerIterative::get_param_types | ( | ) | const [inline, virtual] |
Implements EMAN::Aligner.
Definition at line 1012 of file aligner.h.
References EMAN::EMObject::EMDATA, EMAN::EMObject::FLOAT, EMAN::EMObject::INT, and EMAN::TypeDict::put().
01013 { 01014 TypeDict d; 01015 d.put("min", EMObject::FLOAT, "Minimum scaling (default: 0.95)"); 01016 d.put("max", EMObject::FLOAT, "Maximum scaling (default: 1.05)"); 01017 d.put("step", EMObject::FLOAT, "Scaling step (default: 0.01)"); 01018 d.put("maxshift", EMObject::INT, "Maximum translation in pixels"); 01019 d.put("flip", EMObject::EMDATA); 01020 d.put("r1", EMObject::INT, "Inner ring, pixels"); 01021 d.put("r2", EMObject::INT, "Outer ring, pixels"); 01022 d.put("maxiter", EMObject::INT, "Maximum number of iterations"); 01023 return d; 01024 }
static Aligner* EMAN::RotateTranslateFlipScaleAlignerIterative::NEW | ( | ) | [inline, static] |
Definition at line 1007 of file aligner.h.
References RotateTranslateFlipScaleAlignerIterative().
01008 { 01009 return new RotateTranslateFlipScaleAlignerIterative(); 01010 }
const string RotateTranslateFlipScaleAlignerIterative::NAME = "rotate_trans_flip_scale_iter" [static] |