| Bsoft 2.0.5 Bernard's software package

Functions
mg_multiple.h File Reference

Selection of single particle parameters from multiple files for classification. More...

`#include "mg_processing.h"`
`#include "rwmg.h"`
`#include "symmetry.h"`
`#include "utilities.h"`
`#include "timer.h"`

Go to the source code of this file.

## Functions
Bproject * | project_multi_merge (Bstring *file_list, int fom_index, int flags)
| Merges multiple projects. More...
int | project_multi_add (Bproject *project, Bstring *file_list, int fom_index)
| Merges multiple projects with an existing one. 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)
| 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...

## Detailed Description

Selection of single particle parameters from multiple files for classification.

Author
  Bernard Heymann

Date
  Created: 20010319
  Modified: 20180917

Definition in file mg_multiple.h.

## Function Documentation

## ◆ project_multi_add()

int project_multi_add | ( | Bproject * | project,
|  | Bstring * | file_list,
|  | int | fom_index
| ) |  |

Merges multiple projects with an existing one.

Parameters

  *project | project to add/merge to.
  *file_list | linked list of parameter file names.
  fom_index | index of FOM to select on.

Returns
  long selected particles.

      The selected particles are merged with existing ones.
      Requirement: The project component ID's must correspond.

Definition at line 204 of file mg_multiple.cpp.

## ◆ project_multi_merge()

Bproject* project_multi_merge | ( | Bstring * | file_list,
|  | int | fom_index,
|  | int | flags
| ) |  |

Merges multiple projects.

Parameters

  *file_list | linked list of parameter file names.
  fom_index | index of FOM to select on.
  flags | flags: 1=rec, 2=template, 4=reset.

Returns
  Bproject* merged project.

      The selected particles are merged.
      Requirement: The project component ID's must correspond.

Definition at line 65 of file mg_multiple.cpp.

## ◆ project_multi_select_best_FOM()

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.

Parameters

  *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.

Returns
  long number of particles selected.

      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.

Definition at line 335 of file mg_multiple.cpp.

## ◆ project_multi_select_low_difference()

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.

Parameters

  *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).

Returns
  long number of particles selected.

      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.

Definition at line 766 of file mg_multiple.cpp.

## ◆ project_multi_select_low_rmsd()

long project_multi_select_low_rmsd | ( | Bproject * | project1,
|  | Bproject * | project2,
|  | Bsymmetry * | sym,
|  | double | origin_rmsd,
|  | double | view_rmsd,
|  | double | angle_rmsd,
|  | double | mag_rmsd
| ) |  |

Selects the best particle orientations from two parameter files.

Parameters

  *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).

Returns
  long number of particles selected.

      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.

Definition at line 916 of file mg_multiple.cpp.

## ◆ project_multi_select_low_variance()

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.

Parameters

  *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).

Returns
  long number of particles selected.

      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.

Definition at line 595 of file mg_multiple.cpp.

## ◆ project_multi_selection_compare()

long project_multi_selection_compare | ( | Bproject * | project1,
|  | Bproject * | project2
| ) |  |

Calculates the number of selections that are the same.

Parameters

  *project1 | first project structure with all parameters.
  *project2 | second project structure with all parameters.

Returns
  long number of particles selections the same.

Definition at line 1012 of file mg_multiple.cpp.

## ◆ project_multi_selection_stats()

long project_multi_selection_stats | ( | Bproject * | project_list | ) |

Counts particle assignment distributions using selection arrays.

Parameters

  *project_list | linked list of project structures with all parameters.

Returns
  long number of particles selected.

      Requirement: The project structures must be of identical form.

Definition at line 457 of file mg_multiple.cpp.