EMAN2
|
Optimum orientation generator. More...
#include <symmetry.h>
Public Member Functions | |
OptimumOrientationGenerator () | |
virtual | ~OptimumOrientationGenerator () |
virtual string | get_name () const |
Return "opt". 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 = "opt" |
The name of this class - used to access it from factories etc. Should be "icos". More... | |
Private Member Functions | |
OptimumOrientationGenerator (const OptimumOrientationGenerator &) | |
Disallow copy construction. More... | |
OptimumOrientationGenerator & | operator= (const OptimumOrientationGenerator &) |
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... | |
vector< Vec3f > | optimize_distances (const vector< Transform > &v) const |
Optimize the distances in separating points on the unit sphere, as described by the the rotations in Transform objects. 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... | |
Optimum orientation generator.
Optimally distributes points on a unit sphere, then slices out a correctly sized asymmetric unit, depending on the symmetry type. The approach relies on an initial distribution of points on the unit sphere, which may be generated using any of the other orientation generators. By default, the Saff orientation generator is used.
Definition at line 1438 of file symmetry.h.
|
inline |
|
inlinevirtual |
Definition at line 1442 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 794 of file symmetry.cpp.
References EMAN::OrientationGenerator::add_orientation(), EMAN::FactoryBase::copy_relevant_params(), EMAN::OrientationGenerator::gen_orientations(), EMAN::OrientationGenerator::get_optimal_delta(), InvalidParameterException, EMAN::Symmetry3D::is_in_asym_unit(), EMAN::RandomOrientationGenerator::NAME, optimize_distances(), EMAN::FactoryBase::params, EMAN::Dict::set_default(), and EMAN::FactoryBase::set_params().
|
inlinevirtual |
Get a description.
Implements EMAN::FactoryBase.
Definition at line 1460 of file symmetry.h.
|
inlinevirtual |
Return "opt".
Implements EMAN::FactoryBase.
Definition at line 1455 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 779 of file symmetry.cpp.
References EMAN::OrientationGenerator::get_orientations_tally(), 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 1466 of file symmetry.h.
References EMAN::EMObject::BOOL, EMAN::EMObject::FLOAT, EMAN::OrientationGenerator::get_param_types(), EMAN::EMObject::INT, EMAN::TypeDict::put(), and EMAN::EMObject::STRING.
|
inlinestatic |
Factory support function NEW.
Definition at line 1447 of file symmetry.h.
References OptimumOrientationGenerator().
|
private |
Disallow assignment.
|
private |
Optimize the distances in separating points on the unit sphere, as described by the the rotations in Transform objects.
Definition at line 844 of file symmetry.cpp.
References EMAN::Vec3< Type >::normalize(), and EMAN::EMConsts::rad2deg.
Referenced by gen_orientations().
|
static |
The name of this class - used to access it from factories etc. Should be "icos".
Definition at line 1483 of file symmetry.h.
Referenced by get_name().