;
;
; SOURCE: deffsc.spi
;
; PURPOSE: Divides the data set into two sets, the
; odd- vs even-numbered particles.
; Computes odd and even half 3D reconstructions.
; Computes the Fourier Shell Correlation for the overall reconstruction.
;
; I/O PARAMETERS AND FILES ARE SET HERE:
;
; --------------------- Parameters -----------------------------------
[r] = -1 ; Radius of restored object (use -1 for 95% winsize / 2)
[lambda] = 0.2e-5 ; Lambda
[climit] = 0.0 ; Correction limit
[iters] = 60 ; Iteration limit
; -------------------- Input files -----------------------------------
FR G
[params]../params ; Parameter file
FR G
[defgrps_lim]sel_group_cclim ; Defocus groups selection file
FR G
[sel_particles]sel_particles_{***[grp]} ; Particle selection files
FR G
[ali]../Alignment/dala01_{***[grp]}@****** ; Aligned particle images
FR G
[angles]../Alignment/align_01_{***[grp]} ; Alignment parameter files
; -------------------------- Output files ---------------------------
FR G
[seleven]df{***[grp]}/seleven ; Selection files for even-numbered particles (one for each defocus group)
FR G
[selodd]df{***[grp]}/selodd ; Selection files for odd-numbered particles (one for each defocus group)
FR G
[volodd]df{***[grp]}/vol001_odd ; Volume (one for each defocus group)
FR G
[voleven]df{***[grp]}/vol001_even ; Volume (one for each defocus group)
FR G
[out]df{***[grp]}/doccmp001 ; Output doc file (one / defocus group)
; -------------- END BATCH HEADER ---------------------------------
MD
TR OFF ; Decrease results file output
MD
VB OFF ; Decrease results file output
MD
SET MP
0 ; 0 = use all available processors
IF ([r] .EQ. -1) THEN
UD 17,[winsiz] ; Key 17 = windowsize
[params]
[r] = INT( (0.95*[winsiz])/2.0 )
ENDIF
UD N,[numgrps] ; Find number of defocus groups
[defgrps_lim] ; (input)
; Create selection doc files for odd and even numbered particles ------
DO LB1 [numgrp]=1,[numgrps] ; Loop over all defocus groups
UD [numgrp], [grp],[numparts] ; Get current group number
[defgrps_lim] ; Group selection file (input)
DE ; Delete the output file
[seleven]
DE ; Delete the output file
[selodd]
[oddeven] = -1
[nodd] = 0
[neven] = 0
DO LB2 [part]=1,[numparts] ; Loop over all particles
UD IC,[part],[num]
[sel_particles] ; (input)
IF ([oddeven].EQ.-1) THEN
[neven] = [neven] + 1
SD [neven],[num]
[seleven] ; (output)
ELSE
[nodd] = [nodd] + 1
SD [nodd],[num]
[selodd] ; (output)
ENDIF
[oddeven] = -[oddeven]
LB2
SD E
[seleven] ; (output)
SD E
[selodd] ; (output)
UD ICE
[sel_particles] ; (input)
LB1
MY FL
DO LB3 [numgrp]=1,[numgrps] ; Loop over all defocus groups
UD [numgrp], [grp],[parts] ; Get current group number
[defgrps_lim] ; Group selection file (input)
VM
echo ' 'Backprojecting group: {****[grp]} Particles: {******[parts]}
; Compute the odd half 3D reconstruction.
BP RP, [niter] ; Gets number of iterations
[ali] ; Template for input 2D image files (input)
[selodd] ; Selection doc file for input images (input)
[r] ; Radius of restored object
[angles] ; Angles doc file (input)
* ; Symmetries doc file (* = no symmetries) (input)
[volodd] ; Reconstructed 3D volume (output)
[lambda],[climit] ; Lambda, correction limit
[iters],0 ; Iteration limit, mode
(.5,.5) ; Minimum, maximum
(.5) ; Smoothing constant
; Compute the even half 3D reconstruction.
BP RP, [niter] ; Gets number of iterations
[ali] ; Template for input 2D image files (input)
[seleven] ; Selection doc file for input images (input)
[r] ; Radius of restored object
[angles] ; Angles doc file (input)
* ; Symmetries doc file (* = no symmetries) (input)
[voleven] ; Reconstructed 3D volume (output)
[lambda],[climit] ; Lambda, correction limit
([iters],0) ; Iteration limit, mode
(.5,.5) ; Minimum, maximum
(.5) ; Smoothing constant
LB3
FR G
[tmp]tmpres89 ; Temp doc file (deleted)
DO LB4 [numgrp]=1,[numgrps] ; Loop over all defocus groups
UD [numgrp], [grp],[parts] ; Get current group number
[defgrps_lim] ; Group selection file (input)
DE
[out]
DE
[tmp]
RF 3
[voleven] ; First input volume (input)
[volodd] ; Second input volume (input)
(0.5) ; Ring width
(0.2,2) ; Lower, upper scale factors
C ; C = missing cone
(90) ; Max. tilt angle
(3) ; Factor for noise comparison
[tmp] ; Doc file (output)
DOC REN ; Renumber doc file keys
[tmp] ; Doc file (input)
[tmp] ; Doc file (output)
UD N,[nkeys] ; Get number of keys in tmp file
[tmp]
; Title for output doc file
SD / NORM'D FREQ DPR FSC FSCCRIT VOXELS
[out]
DO LB5 [key] = 1,[nkeys]
UD [key],[v62],[v63],[v64],[v65],[v66]
[tmp]
SD [key],[v62],[v63],[v64],[v65],[v66]
[out] ; (output)
LB5
UD E
LB4
DE ; Remove temp. file
[tmp]
VM
echo ' '
EN
;