pro batch_darkcurrent,dkdir=dkdir,noref=noref ; default directory containing raw dark current FITS files if not(keyword_set(dkdir)) then begin ; set directory according to whether using a PC or workstation if (!version.os_family eq 'unix') then begin dkdir='/data/skunk3/idtl/data/H1RG-022-SIPIN/cold1/darkcurrent_test.7May05/' endif else begin dkdir='\\rabbit\sipin\H1RG-022-SIPIN\cold1\darkcurrent_test.7May05\' endelse endif ; check to see if input directory name ends in path delimiter--if not, add it to the end if (strmid(dkdir,strlen(dkdir)-1,1) ne path_sep()) then dkdir=dkdir+path_sep() norefdir='' if (keyword_set(noref)) then norefdir='noref'+path_sep() ; define regions for analysis region1=[4,2043,4,2043] region2=[100,900,100,900] region2_even=[200,300,100,200] region2_odd = [200,300,101,200] regiontop=[0,1023,1020,1023] regionleft=[0,3,0,1023] ; set flags to enable reducing specific regions doregion1=0 doregion2=1 doregion2_even= 0 doregion2_odd = 0 doregiontop=1 doregionleft=1 ; define directories to contain slope images and plots and histograms slopedir1=dkdir+norefdir+'SlopePlots'+path_sep() slopedir2 = slopedir1+'Region2' + path_sep() slopedir2_even=slopedir1+norefdir+'Region2_even' + path_sep() slopedir2_odd=slopedir1+norefdir+'Region2_odd' + path_sep() slopehistdir1=slopedir1+'histograms'+path_sep() slopehistdir2=slopedir2 +'histograms'+path_sep() slopehistdir2_even=slopedir2_even +'histograms'+path_sep() slopehistdir2_odd=slopedir2_odd +'histograms'+path_sep() if doregion1 then file_mkdir,slopedir1 if doregion2 then file_mkdir, slopedir2 if doregion2_even then file_mkdir,slopedir2_even if doregion2_odd then file_mkdir, slopedir2_odd if doregion1 then file_mkdir,slopehistdir1 if doregion2 then file_mkdir, slopehistdir2 if doregion2_even then file_mkdir,slopehistdir2_even if doregion2_odd then file_mkdir,slopehistdir2_odd ; define directories to contain read noise images, plots, and histograms readnoisedir1=dkdir+norefdir+'ReadNoise_Results'+path_sep() readnoisedir2=readnoisedir1+'Region2'+path_sep() readnoisedir2_even =readnoisedir1+'Region2_even'+path_sep() readnoisedir2_odd =readnoisedir1+'Region2_odd'+path_sep() readnoisedirtop=readnoisedir1+'ref_pixels_top'+path_sep() readnoisedirleft=readnoisedir1+'ref_pixels_left'+path_sep() readnoisehistdir1=readnoisedir1+'histograms'+path_sep() readnoisehistdir2=readnoisedir2+'histograms'+path_sep() readnoisehistdir2_even = readnoisedir2_even+'histograms'+path_sep() readnoisehistdir2_odd =readnoisedir2_odd+'histograms'+path_sep() readnoisehistdirtop=readnoisedirtop+'histograms'+path_sep() readnoisehistdirleft=readnoisedirleft+'histograms'+path_sep() if doregion1 then file_mkdir,readnoisedir1 if doregion2 then file_mkdir,readnoisedir2 if doregion2_even then file_mkdir, readnoisedir2_even if doregion2_odd then file_mkdir, readnoisedir2_odd if doregiontop then file_mkdir,readnoisedirtop if doregionleft then file_mkdir,readnoisedirleft if doregion1 then file_mkdir,readnoisehistdir1 if doregion2 then file_mkdir,readnoisehistdir2 if doregion2_even then file_mkdir, readnoisehistdir2_even if doregion2_odd then file_mkdir, readnoisehistdir2_odd if doregiontop then file_mkdir,readnoisehistdirtop if doregionleft then file_mkdir,readnoisehistdirleft ;goto, skipdark ; reduce dark current data--------------------------------------------------------------- if doregion1 then begin region=region1 slopedir=slopedir1 slopehistdir=slopehistdir1 darkcurrent_reduce,dkdir,outdir=slopedir,region=region,noref=noref darkcurrent_analysis,slopedir makehistogram,slopedir,'slopeimgs.txt','Dark Current',outdir=slopehistdir,'Dark Current (ADU/second)',region=region darkjumbo2,slopedir ; reduce initial dark current images cd, dkdir cd, current = cwd temp=file_search('initial_dark_*.fits') if (temp[0] ne '') then begin darkcurrent_reduce,dkdir,infile='initial.lst',outdir=slopedir,region=region,valoutfile='slopevals_init.txt', $ imgoutfile = 'slopeimgs_init.txt',noref=noref darkcurrent_analysis,slopedir,infile='slopevals_init.txt',jumbofile='darkjumbo_init.txt' makehistogram,slopedir,'slopeimgs_init.txt','Dark Current',outdir=slopehistdir,'Dark Current (ADU/second)',region=region darkjumbo2,slopedir,infile='darkjumbo_init.txt',ext='_init' endif cd, cwd endif if doregion2 then begin region=region2 slopedir=slopedir2 slopehistdir=slopehistdir2 darkcurrent_reduce,dkdir,outdir=slopedir,region=region,infile='dark.lst',noref=noref darkcurrent_analysis,slopedir makehistogram,slopedir,'slopeimgs.txt','Dark Current',outdir=slopehistdir,$ 'Dark Current (ADU/second)',region=region darkjumbo2,slopedir ; reduce initial dark current images cd, dkdir cd, current = cwd temp=file_search('initial_dark_*.fits') if (temp[0] ne '') then begin darkcurrent_reduce,dkdir,infile='initial.lst',outdir=slopedir,region=region,$ valoutfile='slopevals_init.txt', $ imgoutfile = 'slopeimgs_init.txt',noref=noref darkcurrent_analysis,slopedir,infile='slopevals_init.txt',$ jumbofile='darkjumbo_init.txt' makehistogram,slopedir,'slopeimgs_init.txt','Dark Current',outdir=slopehistdir,$ 'Dark Current (ADU/second)',region=region darkjumbo2,slopedir,infile='darkjumbo_init.txt',ext='_init' endif cd, cwd endif if doregion2_even then begin region=region2_even slopedir=slopedir2_even slopehistdir=slopehistdir2_even darkcurrent_reduce,dkdir,outdir=slopedir,region=region, $ rowinc = 2,noref=noref darkcurrent_analysis,slopedir makehistogram,slopedir,'slopeimgs.txt','Dark Current', $ outdir=slopehistdir,'Dark Current (ADU/second)', $ region=region, rowinc = 2 darkjumbo2,slopedir ; reduce initial dark current images for region2 cd, dkdir cd, current = cwd temp=file_search('initial_dark_*.fits') if (temp[0] ne '') then begin darkcurrent_reduce,dkdir,infile='initial.lst',outdir=slopedir,region=region, valoutfile='slopevals_init.txt', $ imgoutfile = 'slopeimgs_init.txt', rowinc = 2,noref=noref darkcurrent_analysis,slopedir,infile='slopevals_init.txt',jumbofile='darkjumbo_init.txt' makehistogram,slopedir,'slopeimgs_init.txt','Dark Current',$ outdir=slopehistdir,'Dark Current (ADU/second)',$ region=region, rowinc = 2 darkjumbo2,slopedir,infile='darkjumbo_init.txt',ext='_init' endif cd, cwd endif if doregion2_odd then begin region=region2_odd slopedir=slopedir2_odd slopehistdir=slopehistdir2_odd darkcurrent_reduce,dkdir,outdir=slopedir,region=region, $ rowinc = 2,noref=noref darkcurrent_analysis,slopedir makehistogram,slopedir,'slopeimgs.txt','Dark Current', $ outdir=slopehistdir,'Dark Current (ADU/second)', $ region=region, rowinc = 2 darkjumbo2,slopedir ; reduce initial dark current images for region2 cd, dkdir cd, current = cwd temp=file_search('initial_dark_*.fits') if (temp[0] ne '') then begin darkcurrent_reduce,dkdir,infile='initial.lst',outdir=slopedir,region=region, valoutfile='slopevals_init.txt', $ imgoutfile = 'slopeimgs_init.txt', rowinc = 2,noref=noref darkcurrent_analysis,slopedir,infile='slopevals_init.txt',jumbofile='darkjumbo_init.txt' makehistogram,slopedir,'slopeimgs_init.txt','Dark Current',$ outdir=slopehistdir,'Dark Current (ADU/second)',$ region=region, rowinc = 2 darkjumbo2,slopedir,infile='darkjumbo_init.txt',ext='_init' endif cd, cwd endif ; reduce read noise data--------------------------------------------------------------- ; call rnperpixel to write the std histogram images into the ReadNoise_Results directory ; create read noise histogram data rnperpixel,dkdir,infile='dark.lst',outdir=readnoisedir1 ;skipdark: if doregion1 then begin ; readuce read noise data for region2 region=region1 outdir=readnoisedir1 histdir=readnoisehistdir1 readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /minexp,noref=noref readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /novar,noref=noref ; make read noise histograms makehistogram,readnoisedir1,'stdfiles.txt','CDS Noise','CDS Noise (ADU)', $ outdir=histdir, region=region endif if doregion2 then begin ; readuce read noise data for region2 region=region2 outdir=readnoisedir2 histdir=readnoisehistdir2 readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /minexp,noref=noref readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /novar,noref=noref ; make read noise histograms makehistogram,readnoisedir1,'stdfiles.txt','CDS Noise','CDS Noise (ADU)', $ outdir=histdir, region=region endif if doregion2_even then begin ; readuce read noise data for region2 region=region2_even outdir=readnoisedir2_even histdir=readnoisehistdir2_even readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, rowinc = 2, /minexp,noref=noref readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, rowinc = 2, /novar,noref=noref ; make read noise histograms makehistogram,readnoisedir1,'stdfiles.txt','CDS Noise','CDS Noise (ADU)', $ outdir=histdir, region=region, rowinc = 2 endif if doregion2_odd then begin ; readuce read noise data for region2 region=region2_odd outdir=readnoisedir2_odd histdir=readnoisehistdir2_odd readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, rowinc = 2, /minexp,noref=noref readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, rowinc = 2, /novar,noref=noref ; make read noise histograms makehistogram,readnoisedir1,'stdfiles.txt','CDS Noise','CDS Noise (ADU)', $ outdir=histdir, region=region, rowinc = 2 endif if doregiontop then begin ; readuce read noise data for top reference rows region=regiontop outdir=readnoisedirtop histdir=readnoisehistdirtop readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /minexp,noref=noref readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /novar,noref=noref ; make read noise histograms makehistogram,readnoisedir1,'stdfiles.txt','CDS Noise','CDS Noise (ADU)',outdir=histdir,region=region endif if doregionleft then begin ; readuce read noise data for left reference rows region=regionleft outdir=readnoisedirleft histdir=readnoisehistdirleft readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /minexp,noref=noref readnoise_reduce,dkdir,infile='rn.lst',outdir=outdir,region=region, /novar,noref=noref ; make read noise histograms makehistogram,readnoisedir1,'stdfiles.txt','CDS Noise','CDS Noise (ADU)',outdir=histdir,region=region endif ;----------------------------------------------------------------- end pro doall batch_darkcurrent,dkdir='\\rabbit\sipin\H1RG-022-SIPIN\cold1\darkcurrent_test.7May05\',/noref batch_darkcurrent,dkdir='\\rabbit\sipin\H1RG-022-SIPIN\cold1\darkcurrent_test.7May05\' end