CCD data reduction
From MediaWiki
(Difference between revisions)
m (→Supersky flat) |
m (→Astrometry) |
||
(12 intermediate revisions not shown) | |||
Line 7: | Line 7: | ||
sed s/^/b/g flat${filter}.list > bflat${filter}.list | sed s/^/b/g flat${filter}.list > bflat${filter}.list | ||
sed s/^/bd/g flat${filter}.list > bdflat${filter}.list | sed s/^/bd/g flat${filter}.list > bdflat${filter}.list | ||
- | ls ngc*fit > ${filter}.list | + | ls ngc*${filter}.fit > ${filter}.list |
sed s/^/b/g ${filter}.list > b${filter}.list | sed s/^/b/g ${filter}.list > b${filter}.list | ||
sed s/^/bd/g ${filter}.list > bd${filter}.list | sed s/^/bd/g ${filter}.list > bd${filter}.list | ||
sed s/^/bdf/g ${filter}.list > bdf${filter}.list | sed s/^/bdf/g ${filter}.list > bdf${filter}.list | ||
- | sed s/^/objbdf/g ${filter}.list > objbdf${filter}.list | + | sed s/^/objbdf/g ${filter}.list | sed s/fit/pl/g > objbdf${filter}.list |
== Basic data reduction == | == Basic data reduction == | ||
Line 17: | Line 17: | ||
imcombine @bias.list master_bias comb=med | imcombine @bias.list master_bias comb=med | ||
imarith @dark600s.list - master_bias b@dark600s.list | imarith @dark600s.list - master_bias b@dark600s.list | ||
+ | imarith @dark5s.list - master_bias b@dark5s.list | ||
+ | imcombine b@dark5s.list dc_5s comb=med | ||
imcombine b@dark600s.list master_dark_600s comb=med | imcombine b@dark600s.list master_dark_600s comb=med | ||
- | |||
imarith master_dark_600s * 0.5 dc_300s | imarith master_dark_600s * 0.5 dc_300s | ||
- | imarith @flatFILTER.list - master_bias @ | + | imarith @flatFILTER.list - master_bias @bflatFILTER.list |
- | imarith @bflatFILTER.list - dc_5s @ | + | imarith @bflatFILTER.list - dc_5s @bdflatFILTER.list |
- | imstat @bdflatFILTER.list fields="image, | + | imstat @bdflatFILTER.list fields="image,midpt" > normFILTER.txt |
- | + | # sed 's/FILTER/'${filter}'/g' reduce.cl > do.cl | |
cl < do.cl | cl < do.cl | ||
# while read line; do echo $line | awk '! /^#/{print "imarith "$1" / "$2,"n"$1}'; done < norm${filter}.txt > doflatnorm.cl | # while read line; do echo $line | awk '! /^#/{print "imarith "$1" / "$2,"n"$1}'; done < norm${filter}.txt > doflatnorm.cl | ||
Line 33: | Line 34: | ||
imarith @bFILTER.list - dc_300s @bdFILTER.list | imarith @bFILTER.list - dc_300s @bdFILTER.list | ||
imarith @bdFILTER.list / master_flat_FILTER @bdfFILTER.list | imarith @bdFILTER.list / master_flat_FILTER @bdfFILTER.list | ||
- | # sed s/FILTER/'${filter}'/g img.cl > doimg.cl | + | # sed 's/FILTER/'${filter}'/g' img.cl > doimg.cl |
cl < doimg.cl | cl < doimg.cl | ||
- | == BPM & object mask creation | + | == BPM & object mask creation == |
# cat bpmask.cl | # cat bpmask.cl | ||
imstat dc_300s field="image,mean,stddev" for- > hot.txt | imstat dc_300s field="image,mean,stddev" for- > hot.txt | ||
Line 56: | Line 57: | ||
== Astrometry == | == Astrometry == | ||
- | + | # cat astrometry.sh | |
- | + | gethead OBJCTRA @bdfFILTER.list > name_ra.txt | |
- | + | gethead OBJCTDEC @bdfFILTER.list | awk '{print $2,$3,$4}' > dec.txt | |
- | + | paste -d" " name_ra.txt dec.txt | awk '{print $1,($2+$3/60+$4/3600)*15,$5+$6/60+$7/3600}' > astrometryFILTER.txt | |
+ | # sed s/FILTER/${filter}/g astrometry.sh > astrometry${filter}.sh | ||
+ | |||
+ | # cat komanda.sh | ||
solve-field img --ra imagera --dec imagedec --radius 0.2 --scale-units arcsecperpix --scale-low 0.38 --scale-high 0.40 --crpix-center --wcs img.wcs | solve-field img --ra imagera --dec imagedec --radius 0.2 --scale-units arcsecperpix --scale-low 0.38 --scale-high 0.40 --crpix-center --wcs img.wcs | ||
#while read line; do img=$(echo $line | awk '{print $1}'); imagera=$(echo $line | awk '{print $2}'); imagedec=$(echo $line | awk '{print $3}'); sed -e 's/img/'$img'/g' \ | #while read line; do img=$(echo $line | awk '{print $1}'); imagera=$(echo $line | awk '{print $2}'); imagedec=$(echo $line | awk '{print $3}'); sed -e 's/img/'$img'/g' \ | ||
-e 's/imagera/'${imagera}'/g' -e 's/imagedec/'${imagedec}'/g' komanda.sh; done < astrometry.txt > doAstrometry.sh | -e 's/imagera/'${imagera}'/g' -e 's/imagedec/'${imagedec}'/g' komanda.sh; done < astrometry.txt > doAstrometry.sh | ||
# /bin/bash doAstrometry.sh | # /bin/bash doAstrometry.sh | ||
- | #ls *wcs > | + | #ls *wcs > wcs${filter}.list |
- | + | # echo "wcscopy @bdf${filter}.list @wcs${filter}.list ver-" > dowcs.cl | |
+ | cl < dowcs.cl | ||
== Supersky flat == | == Supersky flat == | ||
Line 82: | Line 87: | ||
cl < bla.cl > med_values.txt | cl < bla.cl > med_values.txt | ||
# ls normbdf*fit > norm.list | # ls normbdf*fit > norm.list | ||
- | + | imcomb @norm.list norm.fits comb=med masktype="!OBJMASK" maskval=0 | |
# awk '{print "imarith norm.fits * "$2," n"$1}' med_values.txt > donorm.cl | # awk '{print "imarith norm.fits * "$2," n"$1}' med_values.txt > donorm.cl | ||
cl < donorm.cl | cl < donorm.cl |
Revision as of 08:37, 25 February 2020
Contents |
Creation of lists
filter="L" ls bias*[0-9].fit > bias.list ls dark600s-00*fit > dark600s.list ls dark*5sec*fit > dark5s.list ls flat*${filter}.fit > flat${filter}.list sed s/^/b/g flat${filter}.list > bflat${filter}.list sed s/^/bd/g flat${filter}.list > bdflat${filter}.list ls ngc*${filter}.fit > ${filter}.list sed s/^/b/g ${filter}.list > b${filter}.list sed s/^/bd/g ${filter}.list > bd${filter}.list sed s/^/bdf/g ${filter}.list > bdf${filter}.list sed s/^/objbdf/g ${filter}.list | sed s/fit/pl/g > objbdf${filter}.list
Basic data reduction
# cat reduce.cl imcombine @bias.list master_bias comb=med imarith @dark600s.list - master_bias b@dark600s.list imarith @dark5s.list - master_bias b@dark5s.list imcombine b@dark5s.list dc_5s comb=med imcombine b@dark600s.list master_dark_600s comb=med imarith master_dark_600s * 0.5 dc_300s imarith @flatFILTER.list - master_bias @bflatFILTER.list imarith @bflatFILTER.list - dc_5s @bdflatFILTER.list imstat @bdflatFILTER.list fields="image,midpt" > normFILTER.txt # sed 's/FILTER/'${filter}'/g' reduce.cl > do.cl cl < do.cl # while read line; do echo $line | awk '! /^#/{print "imarith "$1" / "$2,"n"$1}'; done < norm${filter}.txt > doflatnorm.cl cl < doflatnorm.cl # echo "imcomb n@bdflat${filter}.list master_flat_${filter} comb=med" > do.cl cl < do.cl # cat img.cl imarith @FILTER.list - master_bias @bFILTER.list imarith @bFILTER.list - dc_300s @bdFILTER.list imarith @bdFILTER.list / master_flat_FILTER @bdfFILTER.list # sed 's/FILTER/'${filter}'/g' img.cl > doimg.cl cl < doimg.cl
BPM & object mask creation
# cat bpmask.cl imstat dc_300s field="image,mean,stddev" for- > hot.txt imstat master_flat_FILTER fields="image,mean" for- > cold.txt cl < bpmask.cl # awk -v filter="L" '{print "imexpr \"((a > b) ? 1 : 0)\" hot"filter".pl a="$1" b="($2+3.*$3)*0.75}' hot.txt > hot.cl # awk -v filter="L" '{print "imexpr \"((a < b) ? 1 : 0)\" cold"filter".pl a="$1" b="$2*0.9}' cold.txt > cold.cl cl < hot.cl cl < cold.cl # cat bpm.cl imexpr "max(a,b)" bpmFILTER.pl a=hotFILTER.pl b=coldFILTER.pl hedit @bdfFILTER.list BPM bpmFILTER.pl add+ ver- # sed 's/FILTER/'${filter}'/g' bpm.cl > dobpm.cl cl < dobpm.cl # Object masks creation nproto objmask @bdfFILTER.list @objbdfFILTER.list masks="!BPM" hsig=2 lsig=2
Astrometry
# cat astrometry.sh gethead OBJCTRA @bdfFILTER.list > name_ra.txt gethead OBJCTDEC @bdfFILTER.list | awk '{print $2,$3,$4}' > dec.txt paste -d" " name_ra.txt dec.txt | awk '{print $1,($2+$3/60+$4/3600)*15,$5+$6/60+$7/3600}' > astrometryFILTER.txt # sed s/FILTER/${filter}/g astrometry.sh > astrometry${filter}.sh # cat komanda.sh solve-field img --ra imagera --dec imagedec --radius 0.2 --scale-units arcsecperpix --scale-low 0.38 --scale-high 0.40 --crpix-center --wcs img.wcs #while read line; do img=$(echo $line | awk '{print $1}'); imagera=$(echo $line | awk '{print $2}'); imagedec=$(echo $line | awk '{print $3}'); sed -e 's/img/'$img'/g' \ -e 's/imagera/'${imagera}'/g' -e 's/imagedec/'${imagedec}'/g' komanda.sh; done < astrometry.txt > doAstrometry.sh # /bin/bash doAstrometry.sh #ls *wcs > wcs${filter}.list # echo "wcscopy @bdf${filter}.list @wcs${filter}.list ver-" > dowcs.cl cl < dowcs.cl
Supersky flat
# Creation of super sky flat, normalization to each individual image median background and final stacking # cat stat.cl real mini real sky imstat("img",fields="min",lower=INDEF,upper=INDEF,for-) | scanf("%g", mini) imcalc(input="img,msk",output="skyimage",equals="if(im2==0.) then im1 else "//mini-0.001.,ver-) imstat("skyimage",fields="midpt",lower=mini-0.001,upper=INDEF,for-) | scanf("%g", sky) print("img"," ",sky) imarith("img","/",sky,"norm") imdelete("skyimage",yes) # while read line; do img=$(echo $line | awk '{print $1}'); msk="obj"${img%.*}.pl; rsky="norm"${img}; cat stat.cl | sed -e 's/img/'${img}'/g' \ -e 's/msk/'${msk}'/g' -e 's/norm/'${rsky}'/g'; done < bdf${filter}.list > bla.cl cl < bla.cl > med_values.txt # ls normbdf*fit > norm.list imcomb @norm.list norm.fits comb=med masktype="!OBJMASK" maskval=0 # awk '{print "imarith norm.fits * "$2," n"$1}' med_values.txt > donorm.cl cl < donorm.cl # awk '{print "imarith",$1,"-","n"$1,"s"$1}' med_values.txt > do.cl cl < do.cl imcomb s@bdfFILTER.list final.fits comb=med offset="wcs"