pro process_sharpen,mode,wic,wie,fourier_file,camera,sh,images,headers,p2d_option,results_file,file_list ; v1 7/12/01 ; This procedure batch sharpens several DISR images according to the ; input parameters: ; mode (generally equal to 2) ; wic (generally equal to 0.7 ) ; wie (generally equal to 1.0) ; fourier_file, where the Fourier coefficients are stored (generally equal to psff) ; camera ('HRI','MRI','SLI') ; sh ('DISR2','DISR3') ; in_list input list of DISR images to sharpen ; out_dir directory storing DISR images after sharpening (if single_image=0) ; name of single image (if single_image=1) ; single_image (=0 if processing list of files, =1 if processing single images) ; v2 8/27/01 needs just an array, not a file and does the undistortion map right after ; v3 11/1/3 works on a PC; file name changes ; v4 2/5/4 add counter-sharpen scaling ; v5b 11/28/4 automatically creates output directory if it doesn't exist cr=string(13B) line='string' out_file_name='string' s_f=size(images) parameter_file='c:\panoramas\parameters\sharpening\par_file' image_file ='c:\panoramas\parameters\sharpening\temp_im' output_file ='c:\panoramas\parameters\sharpening\imdd' exec_module ='c:\panoramas\parameters\sharpening\decond.exe' strip_dir,file_list(0),s_dir if file_search(s_dir) eq '' then file_mkdir,s_dir for i=0,s_f(1)-1 do begin out_file_name=file_list(i) p=images(i,*,*) pieces=strsplit(headers(i,4),' ',/extract) s_p=size(pieces) s_h=pieces(s_p(1)-1) h=strarr(s_h) h(*)=headers(i,0:s_h-1) openw,6,image_file printf,6,p close,6 print,size(p) write_decon,parameter_file,mode,wic,wie,camera,sh,fourier_file,image_file,output_file spawn,exec_module dc,'long',output_file,353,509,p_sharpened d_approc,h,h_out,'sharpened, b_sharpen','v_1',s dothewarp,results_file,p2d_option,p_sharpened,p_warped,'Sample',1,-0.6 d_approc,h_out,h_out,'dothewarp','v_1',s d_insert,h_out,h_out,s_h+2,4,'V' spawn,'del/f '+out_file_name if camera eq 'SLI' then begin ; scale_factor=mean(p)/mean(p_warped(48:304,*)) ; p_warped=scale_factor*p_warped ; d_approc,h_out,h_out,'counter-sharpen scaled','v_3',s d_write,out_file_name,h_out,p_warped(48:304,*),s ; print,'scale_factor = ',scale_factor endif if camera eq 'MRI' then begin ; scale_factor=mean(p)/mean(p_warped) ; p_warped=scale_factor*p_warped ; d_approc,h_out,h_out,'counter-sharpen scaled','v_3',s d_write,out_file_name,h_out,p_warped,s ; print,'scale_factor = ',scale_factor endif if camera eq 'HRI' then begin ; scale_factor=mean(p)/mean(p_warped(16:336)) ; p_warped=scale_factor*p_warped ; d_approc,h_out,h_out,'counter-sharpen scaled','v_3',s d_write,out_file_name,h_out,p_warped(16:336,*),s ; print,'scale_factor = ',scale_factor endif print,i,' of ',s_f(1)-1,format='(i7,a4,i3)' endfor close,/all return end