EMAN::RotateTranslateFlipScaleAlignerIterative Class Reference

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

#include <aligner.h>

Inheritance diagram for EMAN::RotateTranslateFlipScaleAlignerIterative:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

 RotateTranslateFlipScaleAlignerIterative ()
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.
virtual EMDataalign (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 AlignerNEW ()

Static Public Attributes

static const string NAME = "rotate_trans_flip_scale_iter"

Detailed Description

Iterative rotational, translational alignment with flipping and 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 and flip of the image and return the optimal solution

Parameters:
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
Author:
John Flanagan
Date:
Oct 2010

Definition at line 975 of file aligner.h.


Constructor & Destructor Documentation

EMAN::RotateTranslateFlipScaleAlignerIterative::RotateTranslateFlipScaleAlignerIterative (  )  [inline]

Definition at line 979 of file aligner.h.

Referenced by NEW().

00979                                                            : ScaleAlignerABS("rotate_translate_flip_iterative")
00980                 {
00981                 }


Member Function Documentation

virtual EMData* EMAN::RotateTranslateFlipScaleAlignerIterative::align ( EMData this_img,
EMData to_img 
) const [inline, virtual]

Implements EMAN::Aligner.

Definition at line 986 of file aligner.h.

References align().

00987                 {
00988                         return align(this_img, to_img, "sqeuclidean", Dict());
00989                 }

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.

Parameters:
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.
Returns:
The aligned image.

Implements EMAN::Aligner.

Definition at line 895 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().

00897 {
00898         
00899         //Basically copy params into rotate_translate
00900         basealigner_params["flip"] = params.set_default("flip", (EMData *) 0);
00901         basealigner_params["maxshift"] = params.set_default("maxshift", -1);
00902         basealigner_params["r1"] = params.set_default("r1",-1);
00903         basealigner_params["r2"] = params.set_default("r2",-1);
00904         basealigner_params["maxiter"] = params.set_default("maxiter",3);
00905         
00906         //return the correct results
00907         return align_using_base(this_img, to, cmp_name, cmp_params);
00908         
00909 }

virtual string EMAN::RotateTranslateFlipScaleAlignerIterative::get_desc (  )  const [inline, virtual]

Implements EMAN::Aligner.

Definition at line 996 of file aligner.h.

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

virtual string EMAN::RotateTranslateFlipScaleAlignerIterative::get_name (  )  const [inline, virtual]

Get the Aligner's name.

Each Aligner is identified by a unique name.

Returns:
The Aligner's name.

Implements EMAN::Aligner.

Definition at line 991 of file aligner.h.

References NAME.

00992                 {
00993                         return NAME;
00994                 }

virtual TypeDict EMAN::RotateTranslateFlipScaleAlignerIterative::get_param_types (  )  const [inline, virtual]

Implements EMAN::Aligner.

Definition at line 1006 of file aligner.h.

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

01007                 {
01008                         TypeDict d;
01009                         d.put("min", EMObject::FLOAT, "Minimum scaling (default: 0.95)");
01010                         d.put("max", EMObject::FLOAT, "Maximum scaling (default: 1.05)");
01011                         d.put("step", EMObject::FLOAT, "Scaling step (default: 0.01)");
01012                         d.put("maxshift", EMObject::INT, "Maximum translation in pixels");
01013                         d.put("flip", EMObject::EMDATA);
01014                         d.put("r1", EMObject::INT, "Inner ring, pixels");
01015                         d.put("r2", EMObject::INT, "Outer ring, pixels");
01016                         d.put("maxiter", EMObject::INT, "Maximum number of iterations");
01017                         return d;
01018                 }

static Aligner* EMAN::RotateTranslateFlipScaleAlignerIterative::NEW (  )  [inline, static]

Definition at line 1001 of file aligner.h.

References RotateTranslateFlipScaleAlignerIterative().

01002                 {
01003                         return new RotateTranslateFlipScaleAlignerIterative();
01004                 }


Member Data Documentation

const string RotateTranslateFlipScaleAlignerIterative::NAME = "rotate_trans_flip_scale_iter" [static]

Definition at line 1020 of file aligner.h.

Referenced by get_name().


The documentation for this class was generated from the following files:
Generated on Thu May 3 10:08:46 2012 for EMAN2 by  doxygen 1.4.7