; Estimates defocus values from power spectra
;
; SOURCE: spider/docs/techs/recon/newprogs/defocus.spi  
;
; PURPOSE: Estimates defocus from 2D power spectra.
;          Uses SPIDER operation 'TF ED'
;
; ----------- Input files --------------

[pow]     = 'power/pw_avg{****[mic]}' ; 2D power spectra 

[sel_mic] = '../sel_micrograph'       ; Micrograph file numbers

[params]  = '../params'               ; Reconstruction parameter file

; ----------- Output files --------------

[ctf] = 'power/ctf{***[mic]}'         ; Doc files with spectrum, envelope, noise

[out] = 'defocus'                     ; Doc file of defocus values for micrographs

; -------------- END BATCH HEADER --------------------------

MD                             ; Skip unnecessary output 
VB OFF
MD                             ; Skip unnecessary output 
TR OFF

DE                             ; Delete output doc file
[out]

SD /    Micrograph   Defocus   Astig.Ang   Astig.Mag  Cutoff.Freq
[out]

UD 5,[sp_pixsiz]               ; Pixel size
[params]
UD 7,[sp_sph_abb]              ; Spherical aberration
[params]
UD 12,[sp_acr]                 ; Amplitude contrast ratio
[params]
UD 14,[sp_lambda]              ; Lambda
[params]

DO                             ; Loop over all micrographs -------------------
   UD NEXT [key],[mic]         ; Get micrograph number
   [sel_mic]                   ; Doc file          (input) 
   IF([key].LE.0) EXIT

   DE                          ; Delete output doc file
   [ctf]

   ; Transfer Function -- Estimation of CTF parameters

   TF ED [v12],[v13],[v14],[v15],[v16] 
   [pow]                       ; 2D spectrum         (input)
   ([sp_pixsiz], [sp_sph_abb]) ; Pixel size (A), Spherical aberration (mm)
   ([sp_lambda])               ; Lambda
   ([sp_acr])                  ; Ampl. contrast ratio
   [ctf]                       ; Doc file           (output)

   ; Save parameters for each group in doc file
   SD [key], [mic],[v14],[v12],[v13],[v16]
   [out]                       ; Doc file           (output)

   VM
   echo ' 'Micrograph: {*****[mic]}'    'Defocus: {%f8.2%[v14]}
ENDDO

UD NEXT E                      ; Finished
[sel_mic]                      ; Doc file         

VM
echo ' ' 

EN