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

Refine alignment. More...

#include <aligner.h>

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

Public Member Functions

virtual EMDataalign (EMData *this_img, EMData *to_img, const string &cmp_name="sqeuclidean", 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::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 = "refine_3d_grid"
 

Additional Inherited Members

- Protected Attributes inherited from EMAN::Aligner
Dict params
 

Detailed Description

Refine alignment.

Refines a preliminary 3D alignment using a sampling grid. This is a port from tomohunter, but the az sampling scheme is altered cuch that the points on the sphere are equidistant (Improves speed several hundered times). The distance between the points on the sphere is 'delta' and the range(distance from the pole, 0,0,0 position) is given as 'range'. IN general this refinement scheme is a bit slower than the Quaternion Simplex aligner, but perfroms better in the presence of noise(according to current dogma).

Parameters
xform.align3dThe Transform from the previous course alignment. If unspecified the identity matrix is used
deltaThe angluar distance bewteen points on the spehere used in the grid
rangeThe size of the grid. Measured in angluar distance from the north pole
dotransDo a translational search
searchThe maximum length of the detectable translational shift - if you supply this parameter you can not supply the maxshiftx, maxshifty or maxshiftz parameters. Each approach is mutually exclusive
searchxThe maximum length of the detectable translational shift in the x direction- if you supply this parameter you can not supply the maxshift parameters
searchyThe maximum length of the detectable translational shift in the y direction- if you supply this parameter you can not supply the maxshift parameters
searchzThe maximum length of the detectable translational shift in the z direction- if you supply this parameter you can not supply the maxshift parameters
verboseTurn this on to have useful information printed to standard out
Author
John Flanagan
Date
Mar 2011

Definition at line 1481 of file aligner.h.

Member Function Documentation

◆ align() [1/2]

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

Implements EMAN::Aligner.

Definition at line 1487 of file aligner.h.

1488 {
1489 return align(this_img, to_img, "sqeuclidean", Dict());
1490 }
virtual EMData * align(EMData *this_img, EMData *to_img, const string &cmp_name="sqeuclidean", 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::Refine3DAlignerGrid::align ( EMData this_img,
EMData to_img,
const string &  cmp_name = "sqeuclidean",
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::Refine3DAlignerGrid::get_desc ( ) const
inlinevirtual

Implements EMAN::Aligner.

Definition at line 1497 of file aligner.h.

1498 {
1499 return "Refines a preliminary 3D alignment using a simplex algorithm. Subpixel precision.";
1500 }

◆ get_name()

virtual string EMAN::Refine3DAlignerGrid::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 1492 of file aligner.h.

1493 {
1494 return NAME;
1495 }
static const string NAME
Definition: aligner.h:1522

References NAME.

◆ get_param_types()

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

Implements EMAN::Aligner.

Definition at line 1507 of file aligner.h.

1508 {
1509 TypeDict d;
1510 d.put("xform.align3d", EMObject::TRANSFORM,"The Transform storing the starting guess. If unspecified the identity matrix is used");
1511 d.put("delta", EMObject::FLOAT, "The angular step size. Default is 1." );
1512 d.put("range", EMObject::FLOAT, "The angular range size. Default is 10." );
1513 d.put("dotrans", EMObject::BOOL,"Do a translational search. Default is True(1)");
1514 d.put("search", EMObject::INT,"The maximum length of the detectable translational shift - if you supply this parameter you can not supply the maxshiftx, maxshifty or maxshiftz parameters. Each approach is mutually exclusive.");
1515 d.put("searchx", EMObject::INT,"The maximum length of the detectable translational shift in the x direction- if you supply this parameter you can not supply the maxshift parameters. Default is 3.");
1516 d.put("searchy", EMObject::INT,"The maximum length of the detectable translational shift in the y direction- if you supply this parameter you can not supply the maxshift parameters. Default is 3.");
1517 d.put("searchz", EMObject::INT,"The maximum length of the detectable translational shift in the z direction- if you supply this parameter you can not supply the maxshift parameters. Default is 3");
1518 d.put("verbose", EMObject::BOOL,"Turn this on to have useful information printed to standard out.");
1519 return d;
1520 }

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

◆ NEW()

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

Definition at line 1502 of file aligner.h.

1503 {
1504 return new Refine3DAlignerGrid();
1505 }

Member Data Documentation

◆ NAME

const string Refine3DAlignerGrid::NAME = "refine_3d_grid"
static

Definition at line 1522 of file aligner.h.

Referenced by get_name().


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