IMP logo
IMP Reference Guide  develop.182d9373c4,2021/04/12
The Integrative Modeling Platform
IMP::em2d::ProjectionFinder Class Reference

Class to perform registration of model projections to images. More...

#include <IMP/em2d/ProjectionFinder.h>

+ Inheritance diagram for IMP::em2d::ProjectionFinder:

Detailed Description

Class to perform registration of model projections to images.

Definition at line 76 of file ProjectionFinder.h.

Public Member Functions

void get_coarse_registration ()
 
double get_coarse_registration_time () const
 Time employed for the coarse registration part. More...
 
void get_complete_registration ()
 
double get_fine_registration_time () const
 Time employed for the fine registration part. More...
 
double get_global_score () const
 
unsigned int get_number_of_projections () const
 
unsigned int get_number_of_subjects () const
 
double get_preprocessing_time () const
 Time employed for preprocessing. More...
 
RegistrationResults get_registration_results () const
 
bool get_save_match_images () const
 
virtual std::string get_type_name () const
 
virtual ::IMP::VersionInfo get_version_info () const
 Get information about the module and version of the object. More...
 
void set_fast_mode (unsigned int n)
 
void set_model_particles (const ParticlesTemp &ps)
 Set the particles where the em2D restraint is applied. More...
 
void set_number_of_class_averages_members (Ints n_members)
 
void set_projections (const em2d::Images &projections)
 Set the projections of the model to use for initial coarse correlation. More...
 
void set_save_match_images (bool x)
 
void set_subjects (const em2d::Images &subjects)
 Set EM images to use as restraints. More...
 
void set_variance_images (const em2d::Images &variances)
 Set the projections of the model to use for initial coarse correlation. More...
 
void setup (ScoreFunction *score_function, const Em2DRestraintParameters &params)
 Initializes the parameters to generate and match projections. More...
 
void show (std::ostream &out) const
 
- 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)
 

Protected Member Functions

void do_preprocess_for_fast_coarse_registration (const cv::Mat &m, algebra::Vector2D &center, cv::Mat &POLAR_AUTOC)
 
void do_preprocess_projection (unsigned int j)
 
void do_preprocess_subject (unsigned int i)
 
void get_coarse_registrations_for_subject (unsigned int i, RegistrationResults &coarse_RRs)
 Coarse registration for one subject. More...
 
- 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

double coarse_registration_time_
 
bool fast_optimization_mode_
 
double fine_registration_time_
 
MasksManagerPtr masks_manager_
 
ParticlesTemp model_particles_
 
Ints n_members_
 
unsigned int number_of_optimized_projections_
 
bool parameters_setup_
 
Em2DRestraintParameters params_
 
bool particles_set_
 
PolarResamplingParameters polar_params_
 
double preprocessing_time_
 
em2d::Images projections_
 
algebra::Vector2Ds projections_cog_
 
std::vector< cv::Mat > PROJECTIONS_POLAR_AUTOC_
 
bool registration_done_
 
RegistrationResults registration_results_
 
Pointer< ScoreFunctionscore_function_
 
em2d::Images subjects_
 Main parameters. More...
 
std::vector< cv::Mat > SUBJECTS_
 
algebra::Vector2Ds subjects_cog_
 
std::vector< cv::Mat > SUBJECTS_POLAR_AUTOC_
 
em2d::Images variances_
 

Member Function Documentation

void IMP::em2d::ProjectionFinder::do_preprocess_for_fast_coarse_registration ( const cv::Mat &  m,
algebra::Vector2D center,
cv::Mat &  POLAR_AUTOC 
)
protected

Computes the weighted centroid and the FFT of the polar-resampled autocorrelation.

void IMP::em2d::ProjectionFinder::get_coarse_registration ( )

Coarse registration of all the images using the projections Based in 2D alignments of the images

Note
Given that this registration is based on 2D alignment maximizing the cross correlation, the a better score is the best correlation
double IMP::em2d::ProjectionFinder::get_coarse_registration_time ( ) const

Time employed for the coarse registration part.

void IMP::em2d::ProjectionFinder::get_coarse_registrations_for_subject ( unsigned int  i,
RegistrationResults coarse_RRs 
)
protected

Coarse registration for one subject.

void IMP::em2d::ProjectionFinder::get_complete_registration ( )

Performs complete registration of projections against the images. This means the coarse registration followed by simplex optimization

double IMP::em2d::ProjectionFinder::get_fine_registration_time ( ) const

Time employed for the fine registration part.

double IMP::em2d::ProjectionFinder::get_global_score ( ) const

Get the em2d score for a model after the registration performed: coarse or complete.

double IMP::em2d::ProjectionFinder::get_preprocessing_time ( ) const

Time employed for preprocessing.

RegistrationResults IMP::em2d::ProjectionFinder::get_registration_results ( ) const

Recover the registration results. Only works if a registration has been done previously

virtual ::IMP::VersionInfo IMP::em2d::ProjectionFinder::get_version_info ( ) const
virtual

Get information about the module and version of the object.

Reimplemented from IMP::Object.

Definition at line 166 of file ProjectionFinder.h.

void IMP::em2d::ProjectionFinder::set_fast_mode ( unsigned int  n)

With this fast mode, only the first number n of best scoring projections during the coarse search are refined. Saves vast times of computation time with some loss of accuracy. Try starting with 1 (risky) or 2, and increase it to get more chances of finding the best projection

void IMP::em2d::ProjectionFinder::set_model_particles ( const ParticlesTemp ps)

Set the particles where the em2D restraint is applied.

void IMP::em2d::ProjectionFinder::set_projections ( const em2d::Images projections)

Set the projections of the model to use for initial coarse correlation.

void IMP::em2d::ProjectionFinder::set_save_match_images ( bool  x)

The projections of the model that best match the subject EM images are saved.

Their name will be: coarse-match-i.spi for coarse registration and fine_match-i.spi for full registration.

Definition at line 117 of file ProjectionFinder.h.

void IMP::em2d::ProjectionFinder::set_subjects ( const em2d::Images subjects)

Set EM images to use as restraints.

void IMP::em2d::ProjectionFinder::set_variance_images ( const em2d::Images variances)

Set the projections of the model to use for initial coarse correlation.

void IMP::em2d::ProjectionFinder::setup ( ScoreFunction score_function,
const Em2DRestraintParameters params 
)

Initializes the parameters to generate and match projections.

Definition at line 84 of file ProjectionFinder.h.

+ Here is the call graph for this function:

Member Data Documentation

MasksManagerPtr IMP::em2d::ProjectionFinder::masks_manager_
protected

MasksManager masks_manager_;

Definition at line 209 of file ProjectionFinder.h.

em2d::Images IMP::em2d::ProjectionFinder::subjects_
protected

Main parameters.

Definition at line 184 of file ProjectionFinder.h.


The documentation for this class was generated from the following file: