EMAN2
|
Sparx even orientation generator - see util_sparx.cpp - Util::even_angles(...) This orientation generator is based on work presented in Penczek et al., 1994 P.A. More...
#include <symmetry.h>
Public Member Functions | |
EvenOrientationGenerator () | |
virtual | ~EvenOrientationGenerator () |
virtual string | get_name () const |
Return "even". More... | |
virtual string | get_desc () const |
Get a description. More... | |
virtual TypeDict | get_param_types () const |
Get a dictionary containing the permissable parameters of this class. More... | |
virtual vector< Transform > | gen_orientations (const Symmetry3D *const sym) const |
Generate even distributed orientations in the asymmetric unit of the symmetry. More... | |
Public Member Functions inherited from EMAN::OrientationGenerator | |
OrientationGenerator () | |
virtual | ~OrientationGenerator () |
bool | add_orientation (vector< Transform > &v, const float &az, const float &alt) const |
This functions adds one or more Transform objects to the vector v, depending on the parameters stored in the dictionary (which the inheriting class may include by initializing the typedict in get_param_types by calling. More... | |
float | get_optimal_delta (const Symmetry3D *const sym, const int &n) const |
This function gets the optimal value of the delta (or angular spacing) of the orientations based on a desired total number of orientations (n). More... | |
Public Member Functions inherited from EMAN::FactoryBase | |
FactoryBase () | |
virtual | ~FactoryBase () |
Dict | get_params () const |
get a copy of the parameters of this class More... | |
void | set_params (const Dict &new_params) |
Set new parameters. More... | |
void | set_param (const string key, const EMObject val) |
void | insert_params (const Dict &new_params) |
Insert parameters. More... | |
Dict | copy_relevant_params (const FactoryBase *const that) const |
Static Public Member Functions | |
static OrientationGenerator * | NEW () |
Factory support function NEW. More... | |
Static Public Attributes | |
static const string | NAME = "even" |
The name of this class - used to access it from factories etc. Should be "icos". More... | |
Private Member Functions | |
EvenOrientationGenerator (const EvenOrientationGenerator &) | |
Disallow copy construction. More... | |
EvenOrientationGenerator & | operator= (const EvenOrientationGenerator &) |
Disallow assignment. More... | |
virtual int | get_orientations_tally (const Symmetry3D *const sym, const float &delta) const |
This function returns how many orientations will be generated for a given delta (angular spacing) It does this by simulated gen_orientations. More... | |
Additional Inherited Members | |
Protected Member Functions inherited from EMAN::OrientationGenerator | |
void | get_az_max (const Symmetry3D *const sym, const float &altmax, const bool inc_mirror, const float &alt_iterator, const float &h, bool &d_odd_mirror_flag, float &azmax_adjusted) const |
Protected Attributes inherited from EMAN::FactoryBase | |
Dict | params |
This is the dictionary the stores the parameters of the object. More... | |
Sparx even orientation generator - see util_sparx.cpp - Util::even_angles(...) This orientation generator is based on work presented in Penczek et al., 1994 P.A.
Penczek, R.A. Grassucci and J. Frank, The ribosome at improved resolution: new techniques for merging and orientation refinement in 3D cryo-electron microscopy of biological particles, Ultramicroscopy 53 (1994).
This is a proportional approach very similar to the eman approach - the differences between these two approaches is mostly visible near altitude=0
Definition at line 1299 of file symmetry.h.
|
inline |
|
inlinevirtual |
Definition at line 1303 of file symmetry.h.
|
private |
Disallow copy construction.
|
virtual |
Generate even distributed orientations in the asymmetric unit of the symmetry.
sym | the symmetry which defines the interesting asymmetric unit |
Implements EMAN::OrientationGenerator.
Definition at line 634 of file symmetry.cpp.
References EMAN::OrientationGenerator::add_orientation(), EMAN::EMConsts::deg2rad, EMAN::Symmetry3D::get_az_alignment_offset(), EMAN::Symmetry3D::get_delimiters(), EMAN::OrientationGenerator::get_optimal_delta(), InvalidParameterException, EMAN::Symmetry3D::is_h_sym(), EMAN::Symmetry3D::is_in_asym_unit(), EMAN::Symmetry3D::is_platonic_sym(), EMAN::FactoryBase::params, and EMAN::Dict::set_default().
|
inlinevirtual |
Get a description.
Implements EMAN::FactoryBase.
Definition at line 1322 of file symmetry.h.
|
inlinevirtual |
Return "even".
Implements EMAN::FactoryBase.
Definition at line 1317 of file symmetry.h.
References NAME.
|
privatevirtual |
This function returns how many orientations will be generated for a given delta (angular spacing) It does this by simulated gen_orientations.
sym | the symmetry which defines the interesting asymmetric unit |
delta | the desired angular spacing of the orientations |
Implements EMAN::OrientationGenerator.
Definition at line 591 of file symmetry.cpp.
References EMAN::EMConsts::deg2rad, EMAN::Symmetry3D::get_delimiters(), EMAN::Symmetry3D::is_h_sym(), EMAN::Symmetry3D::is_in_asym_unit(), EMAN::Symmetry3D::is_platonic_sym(), EMAN::FactoryBase::params, and EMAN::Dict::set_default().
|
inlinevirtual |
Get a dictionary containing the permissable parameters of this class.
Reimplemented from EMAN::OrientationGenerator.
Definition at line 1328 of file symmetry.h.
References EMAN::EMObject::BOOL, EMAN::EMObject::FLOAT, EMAN::OrientationGenerator::get_param_types(), EMAN::EMObject::INT, and EMAN::TypeDict::put().
|
inlinestatic |
Factory support function NEW.
Definition at line 1308 of file symmetry.h.
References EvenOrientationGenerator().
|
private |
Disallow assignment.
|
static |
The name of this class - used to access it from factories etc. Should be "icos".
Definition at line 1344 of file symmetry.h.
Referenced by get_name().