IMP Reference Guide
develop.8bf871cb5d,2024/11/14
The Integrative Modeling Platform
|
Fast scoring of Particles against electron microscopy class averages. More...
#include <IMP/em2d/PCAFitRestraint.h>
Fast scoring of Particles against electron microscopy class averages.
The restraint fits the particles into the 2D images by alignment of principal components of each of the particles' projections with principal components of the 2D class average. Therefore, the particle set should comprise all subunits that are in the image. The aligned projections are scored against 2D class averages using the cross correlation score. This is a fast alignment and score that works well for negative stain EM class averages.
Definition at line 31 of file d/PCAFitRestraint.h.
Public Member Functions | |
PCAFitRestraint (Particles particles, const std::vector< std::string > &image_files, double pixel_size, double resolution=10.0, unsigned int projection_number=100, bool reuse_direction=false, unsigned int n_components=1, unsigned int micrographs_number=0) | |
Constructor. More... | |
IMP::ModelObjectsTemp | do_get_inputs () const override |
double | get_cross_correlation_coefficient (unsigned int image_number) const |
Get cross correlation between the image and the best model projection. More... | |
RestraintInfo * | get_dynamic_info () const override |
unsigned int | get_micrographs_number () const |
unsigned int | get_projection_number () const |
RestraintInfo * | get_static_info () const override |
algebra::Transformation3D | get_transformation (unsigned int image_number) const |
Get transformation that best places the model on the image. More... | |
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_micrographs_number (unsigned int n) |
void | set_projection_number (unsigned int n) |
double | unprotected_evaluate (IMP::DerivativeAccumulator *accum) const override |
Return the unweighted score for the restraint. More... | |
void | write_best_projections (std::string file_name, bool evaluate=false) |
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... | |
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 |
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::PCAFitRestraint::PCAFitRestraint | ( | Particles | particles, |
const std::vector< std::string > & | image_files, | ||
double | pixel_size, | ||
double | resolution = 10.0 , |
||
unsigned int | projection_number = 100 , |
||
bool | reuse_direction = false , |
||
unsigned int | n_components = 1 , |
||
unsigned int | micrographs_number = 0 |
||
) |
Constructor.
[in] | particles | The particles participating in the score, which need to have XYZ, radius and mass |
[in] | image_files | 2D class average filenames in PGM text format |
[in] | pixel_size | Pixel size in angstroms |
[in] | resolution | Estimated resolution of the images in angstroms |
[in] | projection_number | Number of projections of the model to generate and fit to images. The lower the number, the faster the evaluation, but the lower the accuracy. |
[in] | reuse_direction | Speed up evaluation by only periodically recalculating projections |
[in] | n_components | Number of the largest components to be considered for the EM image |
[in] | micrographs_number | Number of micrograph particles that were used to generate the class averages (or zero, the default, if unknown) |
|
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.
Definition at line 97 of file d/PCAFitRestraint.h.
double IMP::em2d::PCAFitRestraint::get_cross_correlation_coefficient | ( | unsigned int | image_number | ) | const |
Get cross correlation between the image and the best model projection.
This CCC is that calculated from the last scoring function evaluation; calling this function before the score is calculated results in undefined behavior.
|
overridevirtual |
Reimplemented from IMP::Restraint.
|
overridevirtual |
Reimplemented from IMP::Restraint.
algebra::Transformation3D IMP::em2d::PCAFitRestraint::get_transformation | ( | unsigned int | image_number | ) | const |
Get transformation that best places the model on the image.
The transformation places the model such that if the image is placed on the xy plane with its lower left corner at the origin the model's projection along the z axis will coincide with the image. This transformation is that calculated from the last scoring function evaluation; calling this function before the score is calculated results in undefined behavior.
|
overridevirtual |
Get information about the module and version of the object.
Reimplemented from IMP::Object.
Definition at line 98 of file d/PCAFitRestraint.h.
|
overridevirtual |
Return the unweighted score for the restraint.
Reimplemented from IMP::Restraint.