IMP Reference Guide
develop.36b5e40f34,2024/10/13
The Integrative Modeling Platform
|
#include <IMP/em2d/Em2DRestraint.h>
This restraint ensures that a set of particles are similar to a set of EM images. The restraint generates projections of the model that are then compared with the EM images. The projections are generated from the radius of its particles. In the case of atoms, the radius is generated automatically. For other particles the radius has to be provided.
Definition at line 32 of file em2d/Em2DRestraint.h.
Public Member Functions | |
Em2DRestraint (Model *m) | |
virtual IMP::ModelObjectsTemp | do_get_inputs () const override |
RegistrationResults | get_registration_results () const |
virtual std::string | get_type_name () const override |
virtual ::IMP::VersionInfo | get_version_info () const override |
Get information about the module and version of the object. More... | |
void | set_coarse_registration_mode (bool opt) |
void | set_fast_mode (unsigned int n) |
void | set_images (const em2d::Images em_images) |
void | set_particles (SingletonContainer *particles_container) |
void | set_variance_images (const em2d::Images variance_images) |
void | setup (ScoreFunction *score_function, const Em2DRestraintParameters ¶ms) |
virtual double | unprotected_evaluate (IMP::DerivativeAccumulator *accum) const override |
Return the unweighted score for the restraint. More... | |
Public Member Functions inherited from IMP::Restraint | |
Restraint (Model *m, std::string name) | |
Create a restraint and register it with the model. More... | |
Restraint () | |
Default constructor. More... | |
Restraint * | create_current_decomposition () const |
Decompose this restraint into constituent terms for the current conf. More... | |
Restraint * | create_decomposition () const |
Decompose this restraint into constituent terms. More... | |
virtual ScoringFunction * | create_scoring_function (double weight=1.0, double max=NO_MAX) const |
Create a scoring function with only this restraint. More... | |
virtual RestraintInfo * | get_dynamic_info () const |
bool | get_is_aggregate () const |
Return whether this restraint wraps a number of other restraints. More... | |
double | get_last_last_score () const |
Get the unweighted score from the last-but-one time it was evaluated. More... | |
virtual double | get_last_score () const |
double | get_score () const |
virtual RestraintInfo * | get_static_info () const |
bool | get_was_good () const |
double | evaluate (bool calc_derivs) const |
double | evaluate_moved (bool calc_derivs, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
double | evaluate_moved_if_below (bool calc_derivatives, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, double max) const |
double | evaluate_moved_if_good (bool calc_derivatives, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
double | evaluate_if_good (bool calc_derivatives) const |
double | evaluate_if_below (bool calc_derivatives, double max) const |
virtual double | unprotected_evaluate_moved (DerivativeAccumulator *da, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
Return the unweighted score, taking moving particles into account. More... | |
virtual double | unprotected_evaluate_if_good (DerivativeAccumulator *da, double max) const |
virtual double | unprotected_evaluate_if_below (DerivativeAccumulator *da, double max) const |
The function calling this will treat any score >= max as bad. More... | |
virtual double | unprotected_evaluate_moved_if_below (DerivativeAccumulator *da, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, double max) const |
virtual double | unprotected_evaluate_moved_if_good (DerivativeAccumulator *da, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis, double max) const |
void | set_weight (Float weight) |
Float | get_weight () const |
double | get_maximum_score () const |
void | set_maximum_score (double s) |
Public Member Functions inherited from IMP::ModelObject | |
ModelObject (Model *m, std::string name) | |
bool | get_has_dependencies () const |
Return whether this object has dependencies computed. More... | |
bool | get_has_required_score_states () const |
Return whether score states are computed. More... | |
ModelObjectsTemp | get_inputs () const |
ModelObjectsTemps | get_interactions () const |
Get the interacting sets induced by this ModelObject. More... | |
Model * | get_model () const |
ModelObjectsTemp | get_outputs () const |
const ScoreStatesTemp & | get_required_score_states () const |
Get the score states that are ancestors of this in the dependency graph. More... | |
void | set_has_dependencies (bool tf) |
Either invalidate the dependencies or ensure they are correct. More... | |
void | set_has_required_score_states (bool tf) |
Compute the required score states. More... | |
Public Member Functions inherited from IMP::Object | |
virtual void | clear_caches () |
CheckLevel | get_check_level () const |
LogLevel | get_log_level () const |
void | set_check_level (CheckLevel l) |
void | set_log_level (LogLevel l) |
Set the logging level used in this object. More... | |
void | set_was_used (bool tf) const |
void | show (std::ostream &out=std::cout) const |
const std::string & | get_name () const |
void | set_name (std::string name) |
Additional Inherited Members | |
Protected Member Functions inherited from IMP::Restraint | |
virtual void | do_add_score_and_derivatives (ScoreAccumulator sa) const |
virtual void | do_add_score_and_derivatives_moved (ScoreAccumulator sa, const ParticleIndexes &moved_pis, const ParticleIndexes &reset_pis) const |
virtual Restraints | do_create_current_decomposition () const |
virtual Restraints | do_create_decomposition () const |
ModelObjectsTemp | do_get_outputs () const override |
Protected Member Functions inherited from IMP::ModelObject | |
virtual ModelObjectsTemps | do_get_interactions () const |
virtual void | handle_set_has_required_score_states (bool) |
Protected Member Functions inherited from IMP::Object | |
Object (std::string name) | |
Construct an object with the given name. More... | |
virtual void | do_destroy () |
Protected Attributes inherited from IMP::Restraint | |
bool | is_aggregate_ |
IMP::em2d::Em2DRestraint::Em2DRestraint | ( | Model * | m | ) |
Creates the restraint. You are not done yet by creating the restraint. After creating it, you need to call the setup() function
|
overridevirtual |
Get any Particle, Container or other ModelObjects read by this during evaluation. If you read everything in a container, you can just return that container.
Implements IMP::ModelObject.
RegistrationResults IMP::em2d::Em2DRestraint::get_registration_results | ( | ) | const |
Get the registration results for each of the images after finishing the optimization. Obviously, requesting the results before optimizing is an error
Definition at line 131 of file em2d/Em2DRestraint.h.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 138 of file em2d/Em2DRestraint.h.
void IMP::em2d::Em2DRestraint::set_coarse_registration_mode | ( | bool | opt | ) |
If the value provided to this function is true, restraint operates only using a coarse registration scheme (maximizing the cross correlation coefficient). This option (which is set to false by default) can speed the evaluation of the restraint by a order of magnitude, but the values obtained are not going to be less accurate. You could want to activate it at the beginning of an optimization.
opt | true if you want to use the coarse mode |
Definition at line 121 of file em2d/Em2DRestraint.h.
void IMP::em2d::Em2DRestraint::set_fast_mode | ( | unsigned int | n | ) |
Sets fast mode for computing the restraint. This mode only makes sense it the set_coarse_registration_mode option is false. This option only optimizes some coarse results (those given by the argument) to get the refined value. This option is very fast compared to a full optimization, and almost always is a good idea to use it with 1-5 results. This mode is still significantly slow compared to set_coarse_registration_mode(), but the values optimized are optimum.
n | The number of images to optimize |
void IMP::em2d::Em2DRestraint::set_images | ( | const em2d::Images | em_images | ) |
Sets the EM images to use as restraints
em_images | The images |
void IMP::em2d::Em2DRestraint::set_particles | ( | SingletonContainer * | particles_container | ) |
Sets the particles used to compute projections.
particles_container | All the particles must be in the container |
void IMP::em2d::Em2DRestraint::set_variance_images | ( | const em2d::Images | variance_images | ) |
Sets the variance images of EM images. This is useful if the image is a class average Note: Not all the scoring function use this data Sets the variance images for class averages. If class averages are used as restraints, it is possible to use the variance images to assign a standard deviation (error) for each of the pixels in a class average.
variance_images |
void IMP::em2d::Em2DRestraint::setup | ( | ScoreFunction * | score_function, |
const Em2DRestraintParameters & | params | ||
) |
Initializes the restraint
score_function | Scoring function to use to evaluate the similarity between particles and projections |
params | All the parameters required for the restraint |
Definition at line 60 of file em2d/Em2DRestraint.h.
|
overridevirtual |
Return the unweighted score for the restraint.
Reimplemented from IMP::Restraint.