| Bsoft 2.0.5 Bernard's software package

Functions
mg_pick.h File Reference

Header file for single particle picking functions. More...

`#include "mg_processing.h"`
`#include "rwimg.h"`
`#include "marker.h"`

Go to the source code of this file.

## Functions
Bparticle * | particles_from_peaks (Bimage *pcc, long bin, double excl_dist, double part_ori, double &fommin, double fommax=1e30, long maxnum=1000000, double pix_min=2, double pix_max=10)
| Finds the peaks in a cross-correlation map corresponding to particles. More...
Bparticle * | particles_pick_cc (Bimage *p, Bimage *ptemp, Bimage *pmask, double hires, double lores, double fommin, double fommax, double excl_dist, long bin=1)
| Picks particles using cross-correlation. More...
Bparticle * | particles_pick_var (Bimage *p, long average_kernel, long var_kernel, double nsig, double part_ori, double excl_dist, long bin)
| Picks particles in variance map. More...
Bparticle * | particles_pick_var (Bimage *p, long average_kernel, long var_kernel, double cutmin, double cutmax, double part_ori, double excl_dist, long bin)
Bparticle * | particles_pick_cc (Bstring &filename, long img_num, Bimage *ptemp, Bimage *pmask, double hires, double lores, double fommin, double fommax, double excl_dist, long bin=1)
| Picks particles using cross-correlation. More...
Bparticle * | particles_pick_var (Bstring &filename, long img_num, long average_kernel, long var_kernel, double nsig, double part_ori, double excl_dist, long bin)
| Picks particles in variance map. More...
double | project_pick_particles (Bproject *project, Bimage *ptemp, Bimage *pmask, double hires, double lores, double fommin, double fommax, double excl_dist, long bin)
| Picks particles using cross-correlation. More...
double | project_pick_particles (Bproject *project, long average_kernel, long var_kernel, double nsig, double part_ori, double excl_dist, long bin)
| Picks particles in variance map. More...
long | project_pick_particles (Bproject *project, double din, double dout, int avg_kernel, double ainc, int flags, int contrast)
| Locates particles using a fore/background difference measure. More...
long | project_pick_background (Bproject *project, long number, long average_kernel, long var_kernel, double excl_dist)
| Picks background areas not overlapping existing particles. More...
long | project_pick_sym_axis (Bproject *project, Bsymmetry *sym, int sym_axis, double axis_dist)
| Picks subregions in 3D particles on the given symmetry axis. More...
double | project_extract_orient_particles (Bproject *project, Bstring &tempfile, Bsymmetry *sym, double hires, double lores, long bin)
| Picks particles using cross-correlation. More...

## Detailed Description

Header file for single particle picking functions.

Author
  Bernard Heymann

Date
  Created: 20000505
  Modified: 20190912

Definition in file mg_pick.h.

## Function Documentation

## ◆ particles_from_peaks()

Bparticle* particles_from_peaks | ( | Bimage * | pcc,
|  | long | bin,
|  | double | excl_dist,
|  | double | part_ori,
|  | double & | fommin,
|  | double | fommax,
|  | long | maxnum,
|  | double | pix_min,
|  | double | pix_max
| ) |  |

Finds the peaks in a cross-correlation map corresponding to particles.

Parameters

  *pcc | peak map (after binning).
  bin | binning to speed up calculations.
  excl_dist | distance between peaks.
  part_ori | particle origin.
  fommin | minimum threshold to accept peaks.
  fommax | maximum threshold to accept peaks.
  maxnum | maximum number of peaks to pick.
  pix_min | minimum peak width.
  pix_max | maximum peak width.

Returns
  Bparticle* list of particles.

      The map is searched in increments of the particle radius to identify
      peaks above the threshold and within a box the size of the
      particle radius. The identified peaks are further examined to eliminate
      ones that are too close to a higher scoring peak. The acceptable distance
      between peaks is set to 1.8 times the particle radius.

Definition at line 71 of file mg_pick.cpp.

## ◆ particles_pick_cc() [1/2]

Bparticle* particles_pick_cc | ( | Bimage * | p,
|  | Bimage * | ptemp,
|  | Bimage * | pmask,
|  | double | hires,
|  | double | lores,
|  | double | fommin,
|  | double | fommax,
|  | double | excl_dist,
|  | long | bin
| ) |  |

Picks particles using cross-correlation.

Parameters

  *p | image to pick from.
  *ptemp | template image.
  *pmask | frequency space mask.
  hires | high resolution limit.
  lores | low resolution limit.
  fommin | minimum FOM cutoff.
  fommax | maximum FOM cutoff.
  excl_dist | minimum distance between particles.
  bin | level of image binning.

Returns
  Bparticle* list of particles.

      A template is cross-correlated with the input image including
      bandpass filtering to target the size of the particle.

Definition at line 137 of file mg_pick.cpp.

## ◆ particles_pick_cc() [2/2]

Bparticle* particles_pick_cc | ( | Bstring & | filename,
|  | long | img_num,
|  | Bimage * | ptemp,
|  | Bimage * | pmask,
|  | double | hires,
|  | double | lores,
|  | double | fommin,
|  | double | fommax,
|  | double | excl_dist,
|  | long | bin
| ) |  |

Picks particles using cross-correlation.

Parameters

  &filename | image to pick from.
  img_num | sub-image number.
  *ptemp | template image.
  *pmask | frequency space mask.
  hires | high resolution limit.
  lores | low resolution limit.
  fommin | minimum FOM cutoff.
  fommax | maximum FOM cutoff.
  excl_dist | minimum distance between particles.
  bin | level of image binning.

Returns
  Bparticle* list of particles.

      A template is cross-correlated with the input image including
      bandpass filtering to target the size of the particle.
      The template must have the correct pixel size.

Definition at line 335 of file mg_pick.cpp.

## ◆ particles_pick_var() [1/3]

Bparticle* particles_pick_var | ( | Bimage * | p,
|  | long | avg_kernel,
|  | long | var_kernel,
|  | double | nsig,
|  | double | part_ori,
|  | double | excl_dist,
|  | long | bin
| ) |  |

Picks particles in variance map.

Parameters

  *p | image to pick from.
  avg_kernel | averaging kernel size.
  var_kernel | variance kernel size.
  nsig | multiple of sigma above variance average to accept peaks.
  part_ori | particle origin.
  excl_dist | minimum distance between particles.
  bin | level of image binning.

Returns
  Bparticle* list of particles.

      A copy of the micrograph is filtered with an averaging kernel
      and a variance map calculated. The variance map is then used to
      find high variance peaks as candidate locations for particles.

Definition at line 219 of file mg_pick.cpp.

## ◆ particles_pick_var() [2/3]

Bparticle* particles_pick_var | ( | Bimage * | p,
|  | long | average_kernel,
|  | long | var_kernel,
|  | double | cutmin,
|  | double | cutmax,
|  | double | part_ori,
|  | double | excl_dist,
|  | long | bin
| ) |  |

Definition at line 285 of file mg_pick.cpp.

## ◆ particles_pick_var() [3/3]

Bparticle* particles_pick_var | ( | Bstring & | filename,
|  | long | img_num,
|  | long | avg_kernel,
|  | long | var_kernel,
|  | double | nsig,
|  | double | part_ori,
|  | double | excl_dist,
|  | long | bin
| ) |  |

Picks particles in variance map.

Parameters

  &filename | image to pick from.
  img_num | sub-image number.
  avg_kernel | averaging kernel size.
  var_kernel | variance kernel size.
  nsig | multiple of sigma above variance average to accept peaks.
  part_ori | particle origin.
  excl_dist | minimum distance between particles.
  bin | level of image binning.

Returns
  Bparticle* list of particles.

      A copy of the micrograph is filtered with an averaging kernel
      and a variance map calculated. The variance map is then used to
      find high variance peaks as candidate locations for particles.

Definition at line 372 of file mg_pick.cpp.

## ◆ project_extract_orient_particles()

double project_extract_orient_particles | ( | Bproject * | project,
|  | Bstring & | tempfile,
|  | Bsymmetry * | sym,
|  | double | hires,
|  | double | lores,
|  | long | bin
| ) |  |

Picks particles using cross-correlation.

Parameters

  *project | project parameter structure.
  &tempfile | template image.
  sym | point group symmetry.
  hires | high resolution limit.
  lores | low resolution limit.
  bin | level of image binning.

Returns
  double minimum threshold used to accept peaks.

      Each micrograph is cross-correlated with the template image including
      bandpass filtering and frequency space masking.

Definition at line 1303 of file mg_pick.cpp.

## ◆ project_pick_background()

long project_pick_background | ( | Bproject * | project,
|  | long | number,
|  | long | avg_kernel,
|  | long | var_kernel,
|  | double | excl_dist
| ) |  |

Picks background areas not overlapping existing particles.

Parameters

  *project | project parameter structure.
  number | maximum number of background images to pick.
  avg_kernel | averaging kernel to smooth the image.
  var_kernel | kernel to calculate a local variance image.
  excl_dist | exclusion distance between areas.

Returns
  long number of background areas.

Definition at line 850 of file mg_pick.cpp.

## ◆ project_pick_particles() [1/3]

double project_pick_particles | ( | Bproject * | project,
|  | Bimage * | ptemp,
|  | Bimage * | pmask,
|  | double | hires,
|  | double | lores,
|  | double | fommin,
|  | double | fommax,
|  | double | excl_dist,
|  | long | bin
| ) |  |

Picks particles using cross-correlation.

Parameters

  *project | project parameter structure.
  *ptemp | template image.
  *pmask | frequency space mask.
  hires | high resolution limit.
  lores | low resolution limit.
  fommin | minimum FOM cutoff.
  fommax | maximum FOM cutoff.
  excl_dist | minimum distance between particles.
  bin | level of image binning.

Returns
  double minimum threshold used to accept peaks.

      Each micrograph is cross-correlated with the template image including
      bandpass filtering and frequency space masking.

Definition at line 535 of file mg_pick.cpp.

## ◆ project_pick_particles() [2/3]

double project_pick_particles | ( | Bproject * | project,
|  | long | avg_kernel,
|  | long | var_kernel,
|  | double | nsig,
|  | double | part_ori,
|  | double | excl_dist,
|  | long | bin
| ) |  |

Picks particles in variance map.

Parameters

  *project | project parameter structure.
  avg_kernel | averaging kernel size.
  var_kernel | variance kernel size.
  nsig | multiple of sigma above variance average to accept peaks.
  part_ori | particle origin.
  excl_dist | minimum distance between particles.
  bin | level of image binning.

Returns
  double minimum threshold used to accept peaks.

      A copy of the micrograph is filtered with an averaging kernel
      and a variance map calculated. The variance map is then used to
      find high variance peaks as candidate locations for particles.

Definition at line 607 of file mg_pick.cpp.

## ◆ project_pick_particles() [3/3]

long project_pick_particles | ( | Bproject * | project,
|  | double | din,
|  | double | dout,
|  | int | avg_kernel,
|  | double | ainc,
|  | int | flags,
|  | int | contrast
| ) |  |

Locates particles using a fore/background difference measure.

Parameters

  *project | project parameter structure.
  din | inner diameter corresponding to particle edge.
  dout | outer diameter corresponding to background.
  avg_kernel | averaging kernle to smooth difference map.
  ainc | angular increment.
  flags | flags: bit 1 = filter extremes.
  contrast | contrast direction (foreground: white=1, black=0).

Returns
  long number of particles.

      Two marker sets are generated at the indicated diameters.
      At each pixel, the marker sets are used to calculate a difference
      between the foreground and background as an estimate of the
      presence of a particle.

Definition at line 678 of file mg_pick.cpp.

## ◆ project_pick_sym_axis()

long project_pick_sym_axis | ( | Bproject * | project,
|  | Bsymmetry * | sym,
|  | int | sym_axis,
|  | double | axis_dist
| ) |  |

Picks subregions in 3D particles on the given symmetry axis.

Parameters

  *project | parameter structure with all parameters.
  sym | point group symmetry.
  sym_axis | symmetry axis to pick subregions.
  axis_dist | distance along symmetry axis.

Returns
  long number of new particles.

      The existing particles are replaced by the new particles.

Definition at line 946 of file mg_pick.cpp.