CTFEST

Function of the program :

Read in the circular averaged FFT from IMGFFT, refine the defocus value by non-linear least square fitting. The program uses the formula below to fit the observed curve.

Curve : Y = B + CTF^2 * D
Backgroup drop : B = a0*exp(-a1 * x^2) + a^2
Signal Decay : D = a4*exp(-a5 * x^2)
CTF : CTF = c0*sin(Delta) + c1*cos(Delta )
c0 = sqrt(1.0 - Famp2)
c1 = Famp
Delta = c2 * x^2 ( a3 - c3 * x^2)
c2 = PI * Lamda
c3 = 0.5*107 * Cs * Lamda^2
Lamda =12.2643 /sqrt( V * 10^3+0.97848 * V^2)
a3 = - defocus * 10^4
defocus value is in um, underfocus as positive
V(oltage) in kV, Cs in mm
x is spatial frequency in Å^-1

Totally there are six parameters need to be refined, a0 to a5. c0 to c3 are constants. The least square fitting is trying to minimize the Sum[( Yobs - Ycalc)^2/Sigma].

Purpose of the program:

The defocus value is very critical for the CTF correction. The old defocus value refinement program, which was integrated into RobEM, was developed by Wei Zhang. She used polynomial to model both the B part and D part in the Y function above. Each of B and D will have 4 to 6 parameters need to be refined. Totally there will be 9 to 13 parameters can be refined, which make the defocus value contribute little to the refinement. Furthermore, because polynomial can model any shape of curve without any theoretic significance, the old refinement is very sensitive to the input initial value and the output is not converged to the same value when input different initial values. By using my definitions of B and D, the refinement can converge even when input an initial value far away from the true value. The output results of the defocus value are always converge to the same value when input different initial values.

Usage of the program:

The program is an interactive program that ask user to input filename and initial values and will print out the results to the screen and also to a file. The file can later be read by IMGFFT for CTF and temperature factor correction. The program also has an ASCII plot output for the user to check the fitting between the calculated curve and the observed curve immediately.

BUG REPORT :

If you meet any bugs or problems of the programs, please email xc@purdue.edu.

Back

contact webmaster - Last Update : 10/23/2007

Copyright © 2007, Rossmann's lab, all rights reserved.