![]() |
Bsoft 2.1.4
Bernard's software package
|
Selection of single particle parameters from multiple files for classification. More...
#include "mg_processing.h"
#include "mg_img_proc.h"
#include "mg_select.h"
#include "mg_particle_select.h"
#include "rwmg.h"
#include "Matrix.h"
#include "linked_list.h"
#include "utilities.h"
Functions | |
long | project_check_same_number_particles (Bproject *project_list) |
Bproject * | project_multi_merge (Bstring *file_list, int fom_index, int flags) |
Merges multiple projects. More... | |
long | project_multi_add (Bproject *project, Bstring *file_list, int fom_index) |
Merges multiple projects with an existing one. More... | |
Bproject * | project_multi_add_particles (Bstring *file_list) |
Adds particles from a list of projects to the first one. More... | |
long | project_multi_adjust_FOM (Bproject *project_list, int fom_index) |
Adjusts FOM to the avergae of the first project. More... | |
long | project_multi_select_best_FOM (Bproject *project_list, double fom_cut, int fom_index, int fom_def_flag) |
Selects the best particle orientations from multiple parameter files. More... | |
long | project_multi_selection_stats (Bproject *project_list) |
Counts particle assignment distributions using selection arrays. More... | |
long | project_multi_select_low_variance (Bproject *project_list, Bsymmetry &sym, double origin_dev, double view_dev, double angle_dev, double mag_dev) |
Selects the best particle orientations from multiple parameter files. More... | |
long | project_multi_select_low_difference (Bproject *project1, Bproject *project2, Bsymmetry &sym, double origin_err, double view_err, double angle_err, double mag_err) |
Selects the best particle orientations from two parameter files. More... | |
long | project_multi_select_low_rmsd (Bproject *project1, Bproject *project2, Bsymmetry &sym, double origin_rmsd, double view_rmsd, double angle_rmsd, double mag_rmsd, int flag) |
Selects the best particle orientations from two parameter files. More... | |
long | project_multi_selection_compare (Bproject *project1, Bproject *project2) |
Calculates the number of selections that are the same. More... | |
Variables | |
int | verbose |
Selection of single particle parameters from multiple files for classification.
long project_check_same_number_particles | ( | Bproject * | project_list | ) |
Merges multiple projects with an existing one.
*project | project to add/merge to. |
*file_list | linked list of parameter file names. |
fom_index | index of FOM to select on. |
The selected particles are merged with existing ones. Requirement: The project component ID's must correspond.
Adds particles from a list of projects to the first one.
*file_list | linked list of parameter file names. |
The particles from other files are added to existing ones in the first file. Where project component ID's correspond the particles are added, otherwise new components are added. Particles are renumbered and the references to old particle files removed.
long project_multi_adjust_FOM | ( | Bproject * | project_list, |
int | fom_index | ||
) |
Adjusts FOM to the avergae of the first project.
*project_list | linked list of project structures with all parameters. |
fom_index | index of FOM to select on. |
Requirement: The project structures must be of identical form.
Merges multiple projects.
*file_list | linked list of parameter file names. |
fom_index | index of FOM to select on. |
flags | flags: 1=rec, 2=template, 4=reset. |
The selected particles are merged. Requirement: The project component ID's must correspond. If bit 2 of the flag is set (2), it signifies a template and the FOM's of the template are set to zero.
long project_multi_select_best_FOM | ( | Bproject * | project_list, |
double | fom_cut, | ||
int | fom_index, | ||
int | fom_def_flag | ||
) |
Selects the best particle orientations from multiple parameter files.
*project_list | linked list of project structures with all parameters. |
fom_cut | FOM cutoff to eliminate bad particles. |
fom_index | index of FOM to select on. |
fom_def_flag | flag to adjust the cutoff for defocus. |
The orientation parameters for each particle is selected from the file with the highest FOM. The selection flag gets the number of the file from which the particle was selected, with the first file getting the number 1. If the best FOM is under the cutoff, the selection flag is set to zero. The selected orientation parameters are written into the first micrograph parameter structure. Requirement: The project structures must be of identical form.
long project_multi_select_low_difference | ( | Bproject * | project1, |
Bproject * | project2, | ||
Bsymmetry & | sym, | ||
double | origin_err, | ||
double | view_err, | ||
double | angle_err, | ||
double | mag_err | ||
) |
Selects the best particle orientations from two parameter files.
*project1 | first project structure with all parameters. |
*project2 | second project structure with all parameters. |
*sym | symmetry. |
origin_err | cutoff to accept origins (pixels). |
view_err | cutoff to accept views (radians). |
angle_err | cutoff to accept rotation angles (radians). |
mag_err | cutoff to accept magnifications (fraction). |
The error is calculated between parameters. Requirement: The origin, view and rotation angle (or Euler angle), and magnification arrays in the micrographs must be defined.
long project_multi_select_low_rmsd | ( | Bproject * | project1, |
Bproject * | project2, | ||
Bsymmetry & | sym, | ||
double | origin_rmsd, | ||
double | view_rmsd, | ||
double | angle_rmsd, | ||
double | mag_rmsd, | ||
int | flag | ||
) |
Selects the best particle orientations from two parameter files.
*project1 | first project structure with all parameters. |
*project2 | second project structure with all parameters. |
*sym | symmetry. |
origin_rmsd | cutoff to accept origins (pixels). |
view_rmsd | cutoff to accept views (radians). |
angle_rmsd | cutoff to accept rotation angles (radians). |
mag_rmsd | cutoff to accept magnifications (fraction). |
flag | 0=RMSD, 1=MSD |
The error is calculated between parameters. Requirement: The origin, view and rotation angle (or Euler angle), and magnification arrays in the micrographs must be defined.
long project_multi_select_low_variance | ( | Bproject * | project_list, |
Bsymmetry & | sym, | ||
double | origin_dev, | ||
double | view_dev, | ||
double | angle_dev, | ||
double | mag_dev | ||
) |
Selects the best particle orientations from multiple parameter files.
*project_list | linked list of project structures with all parameters. |
*sym | symmetry. |
origin_dev | cutoff to accept origins (pixels). |
view_dev | cutoff to accept views (radians). |
angle_dev | cutoff to accept rotation angles (radians). |
mag_dev | cutoff to accept magnifications (fraction). |
The standard deviations of particle parameters are calculated as follows: origin_std = sqrt(var(origin_x) + var(origin_y)) view_std = sqrt(var(view_x) + var(view_y) + var(view_z)) angle_std = sqrt(var(angle)) size_std = sqrt(var(magnification)) Requirement: The origin, view and rotation angle (or Euler angle), and magnification arrays in the micrographs must be defined.
Calculates the number of selections that are the same.
*project1 | first project structure with all parameters. |
*project2 | second project structure with all parameters. |
long project_multi_selection_stats | ( | Bproject * | project_list | ) |
Counts particle assignment distributions using selection arrays.
*project_list | linked list of project structures with all parameters. |
Requirement: The project structures must be of identical form.
|
extern |