EMAN2
|
Saff orientation generator - based on the work of Saff and Kuijlaars, 1997 E.B. More...
#include <symmetry.h>
Public Member Functions | |
SaffOrientationGenerator () | |
virtual | ~SaffOrientationGenerator () |
virtual string | get_name () const |
Return "saff". 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 Saff 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 = "saff" |
The name of this class - used to access it from factories etc. Should be "icos". More... | |
Private Member Functions | |
SaffOrientationGenerator (const SaffOrientationGenerator &) | |
Disallow copy construction. More... | |
SaffOrientationGenerator & | operator= (const SaffOrientationGenerator &) |
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... | |
Saff orientation generator - based on the work of Saff and Kuijlaars, 1997 E.B.
Saff and A.B.J. Kuijlaars, Distributing many points on a sphere, Mathematical Intelligencer 19 (1997), pp. 5–11. This is a spiral based approach
Definition at line 1365 of file symmetry.h.
|
inline |
|
inlinevirtual |
Definition at line 1369 of file symmetry.h.
|
private |
Disallow copy construction.
|
virtual |
Generate Saff orientations in the asymmetric unit of the symmetry.
sym | the symmetry which defines the interesting asymmetric unit |
Implements EMAN::OrientationGenerator.
Definition at line 722 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(), EMAN::FactoryBase::get_params(), InvalidParameterException, EMAN::Symmetry3D::is_h_sym(), EMAN::Symmetry3D::is_in_asym_unit(), EMAN::Symmetry3D::is_platonic_sym(), EMAN::FactoryBase::params, EMAN::EMConsts::rad2deg, EMAN::Dict::set_default(), and sqrt().
|
inlinevirtual |
Get a description.
Implements EMAN::FactoryBase.
Definition at line 1387 of file symmetry.h.
|
inlinevirtual |
Return "saff".
Implements EMAN::FactoryBase.
Definition at line 1382 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 681 of file symmetry.cpp.
References EMAN::EMConsts::deg2rad, EMAN::Symmetry3D::get_delimiters(), EMAN::FactoryBase::get_params(), EMAN::Symmetry3D::is_h_sym(), EMAN::Symmetry3D::is_in_asym_unit(), EMAN::Symmetry3D::is_platonic_sym(), EMAN::FactoryBase::params, EMAN::EMConsts::rad2deg, EMAN::Dict::set_default(), and sqrt().
|
inlinevirtual |
Get a dictionary containing the permissable parameters of this class.
Reimplemented from EMAN::OrientationGenerator.
Definition at line 1393 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 1374 of file symmetry.h.
References SaffOrientationGenerator().
|
private |
Disallow assignment.
|
static |
The name of this class - used to access it from factories etc. Should be "icos".
Definition at line 1409 of file symmetry.h.
Referenced by get_name().