dirOBJ='/data/LP/daphne/41Daphne/Average/20170520/Red/' nameBDD='41_Daphne' dirOBJ='/home/bcarry/work/data/binary/216_Kleopatra/' nameBDD='216_Kleopatra' filter='R' confAstroIM= initIDL() confRedim = initIDL(confAstroIM.soft.binary, /REDIM ) confBinary = initIDL(confAstroIM.soft.binary, /BINARY) dcDefault = {mode: confBinary.mode, $ ;-Coronography Mode radius: confBinary.radius, $ ;-Maximum search radius bin: confBinary.bin, $ ;-Radial size of the DC annulii sample: confBinary.sample, $ ;-Number of sample to interpolate the intersection ring/pixel step: {flux: confBinary.step.flux,$ ;-Default step in flux for halo evaluation (% of primary peak) radius: confBinary.step.radius} } ;-Default step in radius for halo evaluation (pixel) if not keyword_set(dcINFO) then dcINFO=dcDefault dcINFO.radius= 150 dcINFO.mode ='quick' dirFIG = dirOBJ dirSAT = dirOBJ for k=0,0 do begin case k of 0: begin nameSNA = 'Daphne_20170520_zpl_science_imaging_cam1.fits' nameSNA = '216Kleopatra_20170822_zpl_science_imaging_cam2.fits' num=1 end 1: begin nameSNA = 'Daphne_20170520_zpl_science_imaging_cam2.fits' num=2 end endcase image = readfits( dirOBJ+nameSNA, hImage, /SILENT ) dims = size(image) small = cropFrame( image, dims[1:2]/2., dims[1:2]/2, angle=0, header=hImage ) image= small dims = size(image) ;--III.3-- Analyze Flux Halo -------------------------------------------------------- haloINFO = findHalo( image, mode=dcINFO.mode, $ targetINFO={X:dims[1]/2., Y:dims(2)/2., head:hImage}, $ dcINFO=dcINFO, quickDC=DC, $ figINFO={dir:dirFIG, name:nameSNA} ) ;--III.4-- Self-Substract Halo ------------------------------------------------------ ; if ~strCmp(dcINFO.mode,'quick',/fold) then $ DC = subtractHalo( image, mode=dcINFO.mode, quickDC=quikyDC, haloINFO=haloINFO, dcINFO=dcINFO ) ;--III.5-- Write Result on Disk ----------------------------------------------------- nameDC = setAstroName( TARGET='daphne', FILTER=filter, SERIE=num, /DC ) sxaddpar, hImage, 'PRIM-X', haloINFO.pos.X, ' Primary X position (pix)', before='HISTORY' sxaddpar, hImage, 'PRIM-Y', haloINFO.pos.Y, ' Primary Y position (pix)', after='PRIM-X' sxaddpar, hImage, 'PRIM-DX', haloINFO.pos.dX, ' Uncertainty on primary X position (pix)', after='PRIM-Y' sxaddpar, hImage, 'PRIM-DY', haloINFO.pos.dY, ' Uncertainty on primary Y position (pix)', after='PRIM-DX' sxaddpar, hImage, 'PRIM-F', haloINFO.flux.val,' Primary total flux', after='PRIM-DY' sxaddpar, hImage, 'PRIM-dF', haloINFO.flux.unc,' Uncertainty on primary total flux', after='PRIM-F' CHECK_FITS, DC, hImage, /UPDATE, /SILENT writefits, dirOBJ+nameDC, DC, hImage ;--III.6-- Special Output, Cleaned from Keywords, For AudeLa ------------------------ nameBDD = setAstroName( TARGET='daphne', FILTER=filter, SERIE=num, /NoExten ) hBDD = genoidHeaderBDD(DC[*,*,0], hImage, nameBDD ) CHECK_FITS, DC[*,*,0], hBDD, /UPDATE, /SILENT writefits, dirSAT+nameBDD+'-Image.fits', DC[*,*,0], hBDD sxaddpar, hBDD, 'REDIM', 'Corono1', 'Slice in redIm/binarIm cube' CHECK_FITS, DC[*,*,1], hBDD, /UPDATE, /SILENT writefits, dirSAT+nameBDD+'-Corono1.fits', DC[*,*,1], hBDD sxaddpar, hBDD, 'REDIM', 'Corono2', 'Slice in redIm/binarIm cube' CHECK_FITS, DC[*,*,2], hBDD, /UPDATE, /SILENT writefits, dirSAT+nameBDD+'-Corono2.fits', DC[*,*,2], hBDD sxaddpar, hBDD, 'REDIM', 'Model', 'Slice in redIm/binarIm cube' CHECK_FITS, DC[*,*,3], hBDD, /UPDATE, /SILENT writefits, dirSAT+nameBDD+'-Model.fits', DC[*,*,3], hBDD endfor end