#include <aligner.h>
Inheritance diagram for EMAN::RotateTranslateScaleAlignerIterative:
Public Member Functions | |
RotateTranslateScaleAlignerIterative () | |
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 | |
Aligner * | NEW () |
Static Public Attributes | |
const string | NAME = "rotate_trans_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 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) | |
maxshift | Maximum translation in pixels | |
r1 | inner ring | |
r2 | outer ring | |
maxiter | maximum number of alignment iterations | |
nozero | Zero translation not permitted (useful for CCD images) |
Definition at line 576 of file aligner.h.
|
Definition at line 580 of file aligner.h. 00580 : ScaleAlignerABS("rotate_translate_iterative") 00581 { 00582 }
|
|
Implements EMAN::Aligner. Definition at line 587 of file aligner.h. References align(). 00588 { 00589 return align(this_img, to_img, "sqeuclidean", Dict()); 00590 }
|
|
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.
Implements EMAN::Aligner. Definition at line 628 of file aligner.cpp. References EMAN::ScaleAlignerABS::align_using_base(), and EMAN::Dict::set_default(). 00630 { 00631 00632 //Basically copy params into rotate_translate 00633 basealigner_params["maxshift"] = params.set_default("maxshift", -1); 00634 basealigner_params["r1"] = params.set_default("r1",-1); 00635 basealigner_params["r2"] = params.set_default("r2",-1); 00636 basealigner_params["maxiter"] = params.set_default("maxiter",3); 00637 basealigner_params["nozero"] = params.set_default("nozero",false); 00638 basealigner_params["useflcf"] = params.set_default("useflcf",0); 00639 00640 //return the correct results 00641 return align_using_base(this_img, to, cmp_name, cmp_params); 00642 00643 }
|
|
Implements EMAN::Aligner. Definition at line 597 of file aligner.h. 00598 { 00599 return "Performs rotational alignment and follows this with translational alignment using the iterative method. Does this for each scale and returns the best"; 00600 }
|
|
Get the Aligner's name. Each Aligner is identified by a unique name.
Implements EMAN::Aligner. Definition at line 592 of file aligner.h. 00593 {
00594 return NAME;
00595 }
|
|
Implements EMAN::Aligner. Definition at line 607 of file aligner.h. References EMAN::TypeDict::put(). 00608 { 00609 TypeDict d; 00610 d.put("min", EMObject::FLOAT, "Minimum scaling (default: 0.95)"); 00611 d.put("max", EMObject::FLOAT, "Maximum scaling (default: 1.05)"); 00612 d.put("step", EMObject::FLOAT, "Scaling step (default: 0.01)"); 00613 d.put("maxshift", EMObject::INT, "Maximum translation in pixels"); 00614 d.put("r1", EMObject::INT, "Inner ring, pixels"); 00615 d.put("r2", EMObject::INT, "Outer ring, pixels"); 00616 d.put("maxiter", EMObject::INT, "Maximum number of iterations"); 00617 d.put("nozero", EMObject::INT,"Zero translation not permitted (useful for CCD images)"); 00618 d.put("useflcf", EMObject::INT,"Use Fast Local Correlation Function rather than CCF for translational alignment"); 00619 return d; 00620 }
|
|
Definition at line 602 of file aligner.h. 00603 { 00604 return new RotateTranslateScaleAlignerIterative(); 00605 }
|
|
Definition at line 66 of file aligner.cpp. |