;
;
; SOURCE: spider/docs/techs/recon/newprogs/pub_fixrefine.pam
; New Sep 2004 ArDean Leith
; [var] Dec 2005 ArDean Leith
;
; PURPOSE: Fix refinement for missing defocus groups
;
; Files are set in: refine settings refine settings.pam)
;
; INPUT REGISTERS: None
;
; INPUT FILES:
; input/data{***group}@ [unaligned_images] Unaligned stacked image file
; input/align{**iter}_{***group} [group_align] Original alignment parameters
; input/undone_select [undone_select] Image ID doc. fil
; input/vol{**iter} [initial_vol] Initial volume
; final/vft{**iter} [vft_for_iter]
; input/params [params]
;
; OUTPUT FILES
; final/vol{**iter+1} [next_vol] Final output volume for each iter.
; final/align{**iter+1}}_{***group} [next_group_align]
; final/dres{**iter+1}_{***group} [next_group_dres] Resolution doc. file
; jnkdoc{***group} Sync doc file from pubsub tasks
;
; PROCEDURES CALLED:
; refine_settings refine_settings.pam
; publish publish
; ... pub_refine_start pub_refine_start
; ....... refine_settings refine_settings.pam
; ....... grploop grploop.pam
; ....... smangloop smangloop.pam
; ....pub_refine_doc_sync pub_refine_doc_sync.pam
; pub_refine_wait pub_refine_wait.pam
; mergegroups mergegroups.pam
; ...saveresp saveresp.pam
;
; -------------------------------- Edit this data --------------------------
[iter] = 9 ; Iteration (Set this)
[winsize] = 155 ; Image size (Set this)
FR G ; Need selection file containing list of groups to be run in reg. 1
[undone_select]undone
; ---------------------------------------------------------------------
MD
TR OFF ; Loop info turned off
MD
VB OFF ; File info turned off
; Get global parameters (x41 & x42 depend on [iter]) & set filenames
@refine_settings([maxspfreq],[radius],[alignsh],[prj-radius],[iter1],[iter-end],[lambda],[small-ang],[winsize],[converg])
UD N [num-grps] ; Find number of defocus groups
[undone_select]
[task] = [small-ang] ; Pub_starter selector flag
; Process all defocus groups in parallel
DO i=1,[num-grps]
UD IC i,[grp] ; Get this defocus group number
[undone_select]
DE
jnkdocparamout{***[grp]}
MY FL
; Use pub_refine_start to create parallel grploop for this defocus group
VM
publish './spider pam/$DATEXT @pub_refine_start {**[grp]} task={*[task]} iter={**[iter]} grp={**[grp]}'
ENDDO
VM
echo "Waiting for iteration: {**[iter]}"
MY FL ; Flush results file
; Wait for all subscribers to finish grploop
DO i=1,[num-grps] ; Wait for all tasks
UD IC,i,[grp] ; Get group number
[undone_select]
UD E
IQ SYNC
jnkdocparamout{***[grp]}
(10 3600000)
DE
jnkdocparamout{***[grp]}
VM
date
VM
echo "Synced group: {**[grp]} "
EDDO
UD ICE ; End doc file UD ICE use
[undone_select]
VM
echo "Merging groups now"
MY FL ; flush results
; Consolidate data for CTF corrections
@mergegroups([maxspfreq],[iter],x90)
VM
echo "Alignment finished for iteration: {***[iter]}"
EN
;