Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Namespace Members | Class Members | File Members

EMAN::Aligner Class Reference

Aligner class defines image alignment method. More...

#include <aligner.h>

Inheritance diagram for EMAN::Aligner:

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

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual ~Aligner ()
virtual EMDataalign (EMData *this_img, EMData *to_img) const =0
virtual EMDataalign (EMData *this_img, EMData *to_img, const string &cmp_name, const Dict &cmp_params) const =0
 To align 'this_img' with another image passed in through its parameters.
virtual string get_name () const =0
 Get the Aligner's name.
virtual string get_desc () const =0
virtual Dict get_params () const
 Get the Aligner parameters in a key/value dictionary.
virtual void set_params (const Dict &new_params)
 Set the Aligner parameters using a key/value dictionary.
virtual TypeDict get_param_types () const =0
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.

Protected Attributes

Dict params

Detailed Description

Aligner class defines image alignment method.

It aligns 2 images based on a user-given comparison method. Aligner class is the base class for all aligners. Each specific Aligner class has a unique name. This name is used to create a new Aligner instance or call an Aligner.

All Aligner classes in EMAN are managed by a Factory pattern. So each Aligner class must define:

Typical usage of Aligners:

Definition at line 84 of file aligner.h.


Constructor & Destructor Documentation

virtual EMAN::Aligner::~Aligner  )  [inline, virtual]
 

Definition at line 87 of file aligner.h.

00088                 {
00089                 }


Member Function Documentation

virtual EMData* EMAN::Aligner::align EMData this_img,
EMData to_img,
const string &  cmp_name,
const Dict cmp_params
const [pure 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.

Implemented in EMAN::ScaleAligner, EMAN::TranslationalAligner, EMAN::RotationalAligner, EMAN::RotationalAlignerIterative, EMAN::RotatePrecenterAligner, EMAN::RotateTranslateAligner, EMAN::RotateTranslateScaleAligner, EMAN::RotateTranslateAlignerIterative, EMAN::RotateTranslateScaleAlignerIterative, EMAN::RotateTranslateAlignerPawel, EMAN::RotateTranslateBestAligner, EMAN::RotateFlipAligner, EMAN::RotateFlipAlignerIterative, EMAN::RotateTranslateFlipAligner, EMAN::RotateTranslateFlipScaleAligner, EMAN::RotateTranslateFlipAlignerIterative, EMAN::RotateTranslateFlipScaleAlignerIterative, EMAN::RotateTranslateFlipAlignerPawel, EMAN::RTFExhaustiveAligner, EMAN::RTFSlowExhaustiveAligner, EMAN::SymAlignProcessor, EMAN::RefineAligner, EMAN::RefineAlignerCG, EMAN::SymAlignProcessorQuat, EMAN::Refine3DAlignerGrid, EMAN::Refine3DAlignerQuaternion, EMAN::RT3DGridAligner, EMAN::RT3DSphereAligner, EMAN::RT3DSymmetryAligner, EMAN::FRM2DAligner, and EMAN::XYZAligner.

virtual EMData* EMAN::Aligner::align EMData this_img,
EMData to_img
const [pure virtual]
 

Implemented in EMAN::ScaleAligner, EMAN::TranslationalAligner, EMAN::RotationalAligner, EMAN::RotationalAlignerIterative, EMAN::RotatePrecenterAligner, EMAN::RotateTranslateAligner, EMAN::RotateTranslateScaleAligner, EMAN::RotateTranslateAlignerIterative, EMAN::RotateTranslateScaleAlignerIterative, EMAN::RotateTranslateAlignerPawel, EMAN::RotateTranslateBestAligner, EMAN::RotateFlipAligner, EMAN::RotateFlipAlignerIterative, EMAN::RotateTranslateFlipAligner, EMAN::RotateTranslateFlipScaleAligner, EMAN::RotateTranslateFlipAlignerIterative, EMAN::RotateTranslateFlipScaleAlignerIterative, EMAN::RotateTranslateFlipAlignerPawel, EMAN::RTFExhaustiveAligner, EMAN::RTFSlowExhaustiveAligner, EMAN::SymAlignProcessor, EMAN::RefineAligner, EMAN::RefineAlignerCG, EMAN::SymAlignProcessorQuat, EMAN::Refine3DAlignerGrid, EMAN::Refine3DAlignerQuaternion, EMAN::RT3DGridAligner, EMAN::RT3DSphereAligner, EMAN::RT3DSymmetryAligner, EMAN::FRM2DAligner, and EMAN::XYZAligner.

Referenced by EMAN::EMData::align().

virtual string EMAN::Aligner::get_desc  )  const [pure virtual]
 

Implemented in EMAN::ScaleAligner, EMAN::TranslationalAligner, EMAN::RotationalAligner, EMAN::RotationalAlignerIterative, EMAN::RotatePrecenterAligner, EMAN::RotateTranslateAligner, EMAN::RotateTranslateScaleAligner, EMAN::RotateTranslateAlignerIterative, EMAN::RotateTranslateScaleAlignerIterative, EMAN::RotateTranslateAlignerPawel, EMAN::RotateTranslateBestAligner, EMAN::RotateFlipAligner, EMAN::RotateFlipAlignerIterative, EMAN::RotateTranslateFlipAligner, EMAN::RotateTranslateFlipScaleAligner, EMAN::RotateTranslateFlipAlignerIterative, EMAN::RotateTranslateFlipScaleAlignerIterative, EMAN::RotateTranslateFlipAlignerPawel, EMAN::RTFExhaustiveAligner, EMAN::RTFSlowExhaustiveAligner, EMAN::SymAlignProcessor, EMAN::RefineAligner, EMAN::RefineAlignerCG, EMAN::SymAlignProcessorQuat, EMAN::Refine3DAlignerGrid, EMAN::Refine3DAlignerQuaternion, EMAN::RT3DGridAligner, EMAN::RT3DSphereAligner, EMAN::RT3DSymmetryAligner, EMAN::FRM2DAligner, and EMAN::XYZAligner.

virtual string EMAN::Aligner::get_name  )  const [pure virtual]
 

Get the Aligner's name.

Each Aligner is identified by a unique name.

Returns:
The Aligner's name.

Implemented in EMAN::ScaleAligner, EMAN::TranslationalAligner, EMAN::RotationalAligner, EMAN::RotationalAlignerIterative, EMAN::RotatePrecenterAligner, EMAN::RotateTranslateAligner, EMAN::RotateTranslateScaleAligner, EMAN::RotateTranslateAlignerIterative, EMAN::RotateTranslateScaleAlignerIterative, EMAN::RotateTranslateAlignerPawel, EMAN::RotateTranslateBestAligner, EMAN::RotateFlipAligner, EMAN::RotateFlipAlignerIterative, EMAN::RotateTranslateFlipAligner, EMAN::RotateTranslateFlipScaleAligner, EMAN::RotateTranslateFlipAlignerIterative, EMAN::RotateTranslateFlipScaleAlignerIterative, EMAN::RotateTranslateFlipAlignerPawel, EMAN::RTFExhaustiveAligner, EMAN::RTFSlowExhaustiveAligner, EMAN::SymAlignProcessor, EMAN::RefineAligner, EMAN::RefineAlignerCG, EMAN::SymAlignProcessorQuat, EMAN::Refine3DAlignerGrid, EMAN::Refine3DAlignerQuaternion, EMAN::RT3DGridAligner, EMAN::RT3DSphereAligner, EMAN::RT3DSymmetryAligner, EMAN::FRM2DAligner, and EMAN::XYZAligner.

virtual TypeDict EMAN::Aligner::get_param_types  )  const [pure virtual]
 

Implemented in EMAN::ScaleAligner, EMAN::TranslationalAligner, EMAN::RotationalAligner, EMAN::RotationalAlignerIterative, EMAN::RotatePrecenterAligner, EMAN::RotateTranslateAligner, EMAN::RotateTranslateScaleAligner, EMAN::RotateTranslateAlignerIterative, EMAN::RotateTranslateScaleAlignerIterative, EMAN::RotateTranslateAlignerPawel, EMAN::RotateTranslateBestAligner, EMAN::RotateFlipAligner, EMAN::RotateFlipAlignerIterative, EMAN::RotateTranslateFlipAligner, EMAN::RotateTranslateFlipScaleAligner, EMAN::RotateTranslateFlipAlignerIterative, EMAN::RotateTranslateFlipScaleAlignerIterative, EMAN::RotateTranslateFlipAlignerPawel, EMAN::RTFExhaustiveAligner, EMAN::RTFSlowExhaustiveAligner, EMAN::SymAlignProcessor, EMAN::RefineAligner, EMAN::RefineAlignerCG, EMAN::SymAlignProcessorQuat, EMAN::Refine3DAlignerGrid, EMAN::Refine3DAlignerQuaternion, EMAN::RT3DGridAligner, EMAN::RT3DSphereAligner, EMAN::RT3DSymmetryAligner, EMAN::FRM2DAligner, and EMAN::XYZAligner.

virtual Dict EMAN::Aligner::get_params  )  const [inline, virtual]
 

Get the Aligner parameters in a key/value dictionary.

Returns:
A key/value pair dictionary containing the parameters.

Definition at line 116 of file aligner.h.

00117                 {
00118                         return params;
00119                 }

virtual void EMAN::Aligner::set_params const Dict new_params  )  [inline, virtual]
 

Set the Aligner parameters using a key/value dictionary.

Parameters:
new_params A dictionary containing the new parameters.

Definition at line 124 of file aligner.h.

00125                 {
00126                         params = new_params;
00127                 }

vector< Dict > Aligner::xform_align_nbest EMData this_img,
EMData to_img,
const unsigned int  nsoln,
const string &  cmp_name,
const Dict cmp_params
const [virtual]
 

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.

Return value is an ordered vector of Dicts of length nsoln. The data with idx 0 has the best solution in it. The Dicts in the vector have two keys, "score" (which is a floating point score, probably correlation score), and "xform.align3d", which is a Transform containing the alignment parameters

Parameters:
this_img the image that will be aligned (transformed) and compared to to_img as part of the process of finding the best alignment
to_img the image that will stay still as this_img is transformed and compared to it
nsoln the number of solutions you want to receive in the return vector.
cmp_name the name of a comparator - may be unused
cmp_params the params of the comparator - may be unused
Returns:
an ordered vector of Dicts of length nsoln. The Dicts in the vector have keys "score" (i.e. correlation score) and "xform.align3d" (Transform containing the alignment)

Reimplemented in EMAN::RT3DGridAligner, EMAN::RT3DSphereAligner, and EMAN::RT3DSymmetryAligner.

Definition at line 125 of file aligner.cpp.

Referenced by EMAN::EMData::xform_align_nbest().

00126 {
00127         vector<Dict> solns;
00128         return solns;
00129 }


Member Data Documentation

Dict EMAN::Aligner::params [mutable, protected]
 

Definition at line 151 of file aligner.h.

Referenced by EMAN::TranslationalAligner::align().


The documentation for this class was generated from the following files:
Generated on Tue Jun 11 13:47:40 2013 for EMAN2 by  doxygen 1.3.9.1