![]() |
Bsoft 2.1.4
Bernard's software package
|
Header file for CTF (contrast transfer function) functions. More...
#include <cmath>
#include <vector>
#include "Bstring.h"
#include "Complex.h"
#include "json.h"
#include "utilities.h"
Classes | |
class | CTFparam |
Macros | |
#define | NCTFPARAM 10 |
#define | _CTFparam_ |
Functions | |
JSvalue | ctf_to_json (CTFparam &cp) |
Converts microscope parameters to a JSON object list. More... | |
CTFparam | ctf_from_json (JSvalue &js) |
Converts a JSON object list to microscope parameters. More... | |
CTFparam | ctf_from_json (string filename) |
Converts a JSON object list to microscope parameters. More... | |
int | ctf_update_from_json (CTFparam &cp, JSvalue &js) |
Converts a JSON object list to microscope parameters. More... | |
double | electron_wavelength (double volt) |
Calculates the wavelength in angstrom from the acceleration voltage. More... | |
double | beta2 (double volt) |
Calculates the square of the relative electron velocity. More... | |
double | beta (double volt) |
Calculates the relative electron velocity. More... | |
vector< double > | C_curve (long n, double freq_step) |
Calculates the carbon scattering curve. More... | |
vector< double > | defocus_range_profile (CTFparam &ctf, double freq_step, double def_min, double def_max, double def_step) |
Calculates a weighting profile associated with a range of defocus values. More... | |
double | defocus_factor (CTFparam &ctf, double def_min, double def_max, double def_step) |
Calculates an integrated defocus weighting factor for a range of defocus values. More... | |
Header file for CTF (contrast transfer function) functions.
#define _CTFparam_ |
#define NCTFPARAM 10 |
double beta | ( | double | volt | ) |
Calculates the relative electron velocity.
volt | acceleration voltage. |
1 beta = sqrt(1 - ---------------------) (1+e*volt/(me*c^2))^2
double beta2 | ( | double | volt | ) |
Calculates the square of the relative electron velocity.
volt | acceleration voltage. |
1 beta2 = 1 - --------------------- (1+e*volt/(me*c^2))^2
vector< double > C_curve | ( | long | n, |
double | freq_step | ||
) |
Calculates the carbon scattering curve.
n | length of curve. |
freq_step | frequency step size. |
The curve is based on the sum of five Gaussians.
Converts a JSON object list to microscope parameters.
&js | JSON object list. |
CTFparam ctf_from_json | ( | string | filename | ) |
Converts a JSON object list to microscope parameters.
filename | JSON file name. |
Converts microscope parameters to a JSON object list.
&cp | microscope parsmeter structure. |
Converts a JSON object list to microscope parameters.
&cp | CTF parameter structure. |
&js | JSON object list. |
double defocus_factor | ( | CTFparam & | ctf, |
double | def_min, | ||
double | def_max, | ||
double | def_step | ||
) |
Calculates an integrated defocus weighting factor for a range of defocus values.
&ctf | CTF parameters. |
def_min | minimum defocus. |
def_max | maximum defocus. |
def_step | defocus step. |
The CTF curves are calculated up to the frequency cutoff determined by the objective aperture.
vector< double > defocus_range_profile | ( | CTFparam & | ctf, |
double | freq_step, | ||
double | def_min, | ||
double | def_max, | ||
double | def_step | ||
) |
Calculates a weighting profile associated with a range of defocus values.
&ctf | CTF parameters. |
freq_step | frequency step size. |
def_min | minimum defocus. |
def_max | maximum defocus. |
def_step | defocus step. |
The CTF curves are calculated up to the frequency cutoff determined by the objective aperture.
double electron_wavelength | ( | double | volt | ) |
Calculates the wavelength in angstrom from the acceleration voltage.
volt | acceleration voltage. |
12.26 lambda = ---------------------------- sqrt(volt*(1+volt*0.9788e-6) 1e10 * h lambda = --------------------------------------- sqrt(2*me*e*volt*(1+e*volt/(2*me*c^2)))