;
; ; SOURCE: spider/docs/techs/recon/newprogs/refproj.spi ; ; PURPOSE: Creates reference projections from a reference volume. ; If desired, separate references can be created for each ; defocus group. In that case, the reference volume is first ; multiplied by the CTF for each defocus group ; (Set [usectf] = 1). ; ; If [usectf] = 0, then a single set of reference projections ; is created, with no modification by the CTF. ; ; The following values are retrieved from the params file ; [numgrp] = Number of defocus groups ; [pix_size] = Pixel size, Angstroms ; [pixels] = Array dimension, pixels ; [ee] = Electron energy ; [spab] = Spherical aberration ; [ss] = Source size ; [defspr] = Defocus spread ; [acr] = Amplitude contrast ratio ; [geh] = Gaussian envelope halfwidth ; ; ------------ Parameters --------------------------------------- [dtheta] = 15 ; Delta theta: 15 gives 83 projections [radius] = -1 ; Radius: use -1 for default value [usectf] = 1 ; Multiply references by CTF (0= Do not, use non-CTF references) ; ------------ Input files --------------------------------------- [params] = '../params' ; Parameter doc. file [refvol] = '../reference_volume' ; Reference volume [sel_group] = 'sel_group' ; Defocus group selection file ; --------------- Output files ------------------------------------- [refangles] = 'refangles' ; projection angles doc file [proj_dir] = 'projs' ; Dir for projection stacks [prj] = '[proj_dir]/prj_' ; Template for projections (stack files) [usectf_file] = 'ctf_refs' ; Signal File indicates refs are multiplied by CTF ; -------------- END BATCH HEADER --------------------------------- MD TR OFF ; Decrease results file output MD VB OFF ; Decrease results file output MD SET MP 0 ; Use all available processors VM mkdir -p [proj_dir] ; Delete output document files and get parameters DE [refangles] DE [usectf_file] ; Get parameters IF ([radius].LT.0) THEN ; Get actual size and compute radius UD 18,[size] [params] [radius] = 0.69 * [size] ENDIF IF ([usectf].GT.0) THEN ; Create "CTF in-use flag" file for 'AP SH'. SD 1,[usectf] ; [usectf_file] ; USE-CTF file (input) UD 5,[pix_size] ; Pixel size [params] [spfreq]=0.5/[pix_size] ; Max. spatial frequency UD 6,[ee] ; Electron energy [params] [lambda] = 12.398 / SQR([ee] * (1022.0 + [ee])) ; Lambda UD 7,[spab] ; Spherical aberration [params] UD 8,[ss] ; Source size [params] UD 9,[defspr] ; Defocus spread [params] UD 12,[acr] ; Amplitude contrast ratio [params] UD 13,[geh] ; Gaussian envelope halfwidth [params] UD 17,[pixels] ; Window size [params] UD N [numgrp] ; Number of defocus groups [sel_group] ENDIF ; Create the reference angles document file VO EA [numang] ; Create equally dispersed angles [dtheta] ; Delta theta 0,0 ; Range of theta 0,0 ; Range of phi [refangles] ; Doc file of angles (output) [numang] = [numang] - 1 ;------------------------------------------ ; For each defocus group, multiply the reference volume by the ; appropriate defocus, then use this ctf-reference to generate ; 83 projection images IF ([usectf].GT.0) THEN VM echo ' 'Slow CTF correction on reference volume using: \'TF C3\' ; echo ' ' ; CTF correction FT ; Fourier transform [refvol] ; Ref volume (input) _2 ; Fourier of ref volume (output) DO [key]=1,[numgrp] ; Loop over all defocus groups -------------- UD [key],[grp],[idum],[def] ; Get defocus group & defocus value [sel_group] ; Group selection file (input) TF C3 ; Transfer Function, create CTF _7 ; CTF file (output) [spab] ; Spherical aberration [def],[lambda] ; Defocus, lambda [pixels] ; Array dimension [spfreq] ; Maximum spatial frequency [ss],[defspr] ; Source size, defocus spread (0,0) ; Astigmatism, azimuth [acr],[geh] ; ACR, envelope 1/2-width (-1) ; Sign TF COR ; CTF correction _2 ; Fourier transformed ref volume (input) _7 ; Complex model CTF (input) _7 ; CTF multiplied volume (output) VM echo ' 'Group: {***[grp]}' 'Defocus: {%f7.1%[def]}' 'Projections: {***[numang]} ; Create projections of the ref volume PJ 3Q ; Generate projections _7 ; Volume to be projected (input) [radius] ; Radius (1-[numang]) ; List of file numbers [refangles] ; Proj. angles doc file (input) [prj]{***[grp]}@**** ; Template for projection stack (output) ENDDO ELSE ; No CTF correction e.g. single defocus group [grp]=1 ; Group number VM echo ' 'Creating: {***[numang]} reference projections ; Create projections of the ref volume PJ 3Q ; Generate projections [refvol] ; Volume to be projected (input) [radius] ; Radius (1-[numang]) ; List of file numbers [refangles] ; Proj. angles doc file (input) [prj]{***[grp]}@**** ; Template for projection stack (output) ENDIF VM echo ' ' EN ;