Bsoft 2.1.4
Bernard's software package
mg_ctf_focal.cpp File Reference

Processing focal series. More...

#include "rwimg.h"
#include "mg_ctf.h"
#include "mg_ctf_fit.h"
#include "mg_ctf_focal.h"
#include "simplex.h"
#include "utilities.h"

Functions

Bimageimg_ctf_gradient (CTFparam &cp, double def_min, double def_max, double def_inc, Vector3< long > size, Vector3< double > sam, double lores, double hires)
 Calculates an aberration image. More...
 
Bimageimg_ctf_focal_series (CTFparam &cp, double def_start, double def_end, double def_inc, Vector3< long > size, Vector3< double > sam, double lores, double hires)
 
Bimageimg_extract_section (Bimage *p, int which)
 Extracts a transverse section from focal series power spectra. More...
 
double img_ctf_section_fit (Bimage *p, CTFparam cp, double def, double hires, double lores)
 Calculates a fit for a defocus value to a section from focal series modified power spectra. More...
 
double img_find_section_defocus (Bimage *p, CTFparam &cp, double hires, double lores)
 Determines average defocus from a transverse section of focal series power spectra. More...
 
Bimageimg_ctf_section_calc (Bimage *p, CTFparam &cp, double res)
 Calculates a transverse section of focal series power spectra from CTF parameters. More...
 
double focus_cs_amp_section_fit_R (Bsimplex &simp)
 
double focus_fit_R (Bsimplex &simp)
 
double focal_aberration_fit_R (Bsimplex &simp)
 
double img_ctf_fit_section (Bimage *p, CTFparam &cp, double hires, double lores, double Bfactor, long maxiter)
 Fits 3 CTF parameters to a transverse section of focal series power spectra. More...
 
double img_ctf_fit_astigmatism (Bimage *p, CTFparam &cp, double hires, double lores, double Bfactor, long maxiter)
 Fits defocus and astigmatism to focal series power spectra. More...
 
double img_ctf_fit_aberration (Bimage *p, double wl, map< pair< long, long >, double > &wa, map< pair< long, long >, double > wd, double hires, double lores, double Bfactor, long maxiter)
 Fits aberration parameters to focal series power spectra. More...
 
double img_ctf_fit_even5 (Bimage *p, CTFparam &cp, double hires, double lores, double Bfactor, long maxiter)
 Fits 5 even aberration parameters to focal series power spectra. More...
 
double img_ctf_fit_even9 (Bimage *p, CTFparam &cp, double hires, double lores, double Bfactor, long maxiter)
 Fits 9 even aberration parameters to focal series power spectra. More...
 
Bimageimg_ctf_focal_fit (Bimage *p, CTFparam &cp, double hires, double lores, double Bfactor, long maxiter)
 Fits the CTF to focal series power spectra. More...
 
Bimageimg_fspace_extract_sphere (Bimage *p, double volt)
 Extracts a sphere corresponding to a given acceleration voltage. More...
 

Variables

int verbose
 

Detailed Description

Processing focal series.

Author
Bernard Heymann
Date
Created: 20220808
Modified: 20230127

Function Documentation

◆ focal_aberration_fit_R()

double focal_aberration_fit_R ( Bsimplex simp)

◆ focus_cs_amp_section_fit_R()

double focus_cs_amp_section_fit_R ( Bsimplex simp)

◆ focus_fit_R()

double focus_fit_R ( Bsimplex simp)

◆ img_ctf_fit_aberration()

double img_ctf_fit_aberration ( Bimage p,
double  wl,
map< pair< long, long >, double > &  wa,
map< pair< long, long >, double >  wd,
double  hires,
double  lores,
double  Bfactor,
long  maxiter 
)

Fits aberration parameters to focal series power spectra.

Parameters
*pFocal series.
wlElectron wavelength.
&waAberration weights (replaced).
wdAberration weight limits for fitting.
hiresHigh resolution limit.
loresLow resolution limit.
BfactorB-factor for weighting.
maxiterMaximum number of iterations.
Returns
double Correlation coefficient.

◆ img_ctf_fit_astigmatism()

double img_ctf_fit_astigmatism ( Bimage p,
CTFparam cp,
double  hires,
double  lores,
double  Bfactor,
long  maxiter 
)

Fits defocus and astigmatism to focal series power spectra.

Parameters
*pFocal series.
&cpCTF parameters.
hiresHigh resolution limit.
loresLow resolution limit.
BfactorB-factor for weighting.
maxiterMaximum number of iterations.
Returns
double Correlation coefficient.
The constant phase shift and spherical aberration are fixed at initial values.

◆ img_ctf_fit_even5()

double img_ctf_fit_even5 ( Bimage p,
CTFparam cp,
double  hires,
double  lores,
double  Bfactor,
long  maxiter 
)

Fits 5 even aberration parameters to focal series power spectra.

Parameters
*pFocal series.
&cpCTF parameters.
hiresHigh resolution limit.
loresLow resolution limit.
BfactorB-factor for weighting.
maxiterMaximum number of iterations.
Returns
double Correlation coefficient.

◆ img_ctf_fit_even9()

double img_ctf_fit_even9 ( Bimage p,
CTFparam cp,
double  hires,
double  lores,
double  Bfactor,
long  maxiter 
)

Fits 9 even aberration parameters to focal series power spectra.

Parameters
*pFocal series.
&cpCTF parameters.
hiresHigh resolution limit.
loresLow resolution limit.
BfactorB-factor for weighting.
maxiterMaximum number of iterations.
Returns
double Correlation coefficient.

◆ img_ctf_fit_section()

double img_ctf_fit_section ( Bimage p,
CTFparam cp,
double  hires,
double  lores,
double  Bfactor,
long  maxiter 
)

Fits 3 CTF parameters to a transverse section of focal series power spectra.

Parameters
*pTransverse section.
&cpCTF parameters.
hiresHigh resolution limit.
loresLow resolution limit.
BfactorB-factor for weighting.
maxiterMaximum number of iterations.
Returns
double Correlation coefficient.
The x axis is the original x or y axis from the power spectra.
The y axis is the original series with focus change specified in sampling.

The 3 parameters are the isotropic aberrations:
    constant phase shift (amplitude contrast)
    defocus
    spherical aberration

◆ img_ctf_focal_fit()

Bimage * img_ctf_focal_fit ( Bimage p,
CTFparam cp,
double  hires,
double  lores,
double  Bfactor,
long  maxiter 
)

Fits the CTF to focal series power spectra.

Parameters
*pFocal series.
&cpCTF parameters.
hiresHigh resolution limit.
loresLow resolution limit.
BfactorB-factor for weighting.
maxiterMaximum number of iterations.
Returns
double Correlation coefficient.
The image should be 3D with the third sampling interval the
change in focus per 2D image.

◆ img_ctf_focal_series()

Bimage * img_ctf_focal_series ( CTFparam cp,
double  def_start,
double  def_end,
double  def_inc,
Vector3< long >  size,
Vector3< double >  sam,
double  lores,
double  hires 
)

◆ img_ctf_gradient()

Bimage * img_ctf_gradient ( CTFparam cp,
double  def_min,
double  def_max,
double  def_inc,
Vector3< long >  size,
Vector3< double >  sam,
double  lores,
double  hires 
)

Calculates an aberration image.

Parameters
cpCTF & aberration parameters.
def_minMinimum defocus.
def_maxMaximum defocus.
def_incDefocus increment.
sizenew image size.
samnew image pixel size.
loreslow resolution limit.
hireshigh resolution limit.
Returns
Bimage* new complex CTF function image.
Functions:
    angle = atan(y/x)
    s2 = x*x + y*y
    defocus_average = (defocus_max + defocus_min)/2
    defocus_deviation = (defocus_max - defocus_min)/2
    defocus = defocus_average + defocus_deviation*cos(2*(angle - astigmatism_angle))
    phase = 0.5*PI*lambda*lambda*lambda*Cs*s2*s2 - PI*lambda*defocus*s2 - amp_shift;
    CTF = sin(phase)
Note: Defocus is positive for underfocus and negative for overfocus.

◆ img_ctf_section_calc()

Bimage * img_ctf_section_calc ( Bimage p,
CTFparam cp,
double  res 
)

Calculates a transverse section of focal series power spectra from CTF parameters.

Parameters
*pTransverse section.
&cpCTF parameters.
resHigh resolution limit.
Returns
Bimage* Transverse section.
The x axis is the original x or y axis from the power spectra.
The y axis is the original series with focus change specified in sampling.

◆ img_ctf_section_fit()

double img_ctf_section_fit ( Bimage p,
CTFparam  cp,
double  def,
double  hires,
double  lores 
)

Calculates a fit for a defocus value to a section from focal series modified power spectra.

Parameters
*pSection.
cpCTF parameters.
defdefocus to test for.
hiresHigh resolution limit.
loresLow resolution limit.
Returns
double correlation coefficient.
The x axis is the original x or y axis from the power spectra.
The y axis is the original series with focus change specified in sampling.

◆ img_extract_section()

Bimage * img_extract_section ( Bimage p,
int  which 
)

Extracts a transverse section from focal series power spectra.

Parameters
*pFocal series.
which0=x, 1=y.
Returns
Bimage* transverse section.
The x axis is the original x or y axis from the power spectra.
The y axis is the original series with focus change specified in sampling.

◆ img_find_section_defocus()

double img_find_section_defocus ( Bimage p,
CTFparam cp,
double  hires,
double  lores 
)

Determines average defocus from a transverse section of focal series power spectra.

Parameters
*pTransverse section.
&cpCTF parameters.
hiresHigh resolution limit.
loresLow resolution limit.
Returns
double Correlation coefficient.
The x axis is the original x or y axis from the power spectra.
The y axis is the original series with focus change specified in sampling.

◆ img_fspace_extract_sphere()

Bimage * img_fspace_extract_sphere ( Bimage p,
double  volt 
)

Extracts a sphere corresponding to a given acceleration voltage.

Parameters
*pFocal series.
voltAcceleration voltage (V).
Returns
Bimage* Image with data from the sphere.

Variable Documentation

◆ verbose

int verbose
extern