close
接下來的動作聽說有點複雜,且許多指令都是在終端機裡做處理。
1)開啟終端機,建立一個select.csh檔,檔案內容如下,執行「vi select.csh」即可i編輯之。
區域1只需要考慮一條直線的情形。
#! /bin/csh
# select 4 columns from 2mass catalog: RA ($3), Dec($4), H-K ($8-$10), J-H($6-$8)
# using NR>47 to skip the header
awk 'NR>46 {print $3, $4, $8-$10, $6-$8 }' abcd.cat > abcd_h-k_j-h.dat
# using NR>47 to skip the header
awk 'NR>46 {print $3, $4, $8-$10, $6-$8 }' abcd.cat > abcd_h-k_j-h.dat
# select points with y<ax+b
# output files: B68_region1.reg for ds9, B68_region1.dat for xmgr
awk '$4<(0.1095/0.0656)*$3-0.07654 {print $1, $2}' abcd_h-k_j-h.dat > abcd_region1.reg
awk '$4<(0.1095/0.0656)*$3-0.07654 {print $3, $4}' abcd_h-k_j-h.dat > abcd_region1.dat
# output files: B68_region1.reg for ds9, B68_region1.dat for xmgr
awk '$4<(0.1095/0.0656)*$3-0.07654 {print $1, $2}' abcd_h-k_j-h.dat > abcd_region1.reg
awk '$4<(0.1095/0.0656)*$3-0.07654 {print $3, $4}' abcd_h-k_j-h.dat > abcd_region1.dat
#If you want to produce ds9 format region file:
echo "global color=green" > abcd_region1a.reg
awk '$4<(0.1095/0.0656)*$3-0.07654 {print "fk5; circle(",$1,",", $2,", 5\")"}' abcd_h-k_j-h.dat >> abcd_region1a.reg
echo "global color=green" > abcd_region1a.reg
awk '$4<(0.1095/0.0656)*$3-0.07654 {print "fk5; circle(",$1,",", $2,", 5\")"}' abcd_h-k_j-h.dat >> abcd_region1a.reg
2)鍵入「./select.csh」就會執行產生abcd_region1.reg、abcd_region1a.reg與 abcd_region1.dat,稍後會在ds9中載入abcd_region1a.reg。
我們可以在ds9中,用abcd_region1a.reg抓取影像中,區域1的星星。
我們可以在ds9中,用abcd_region1a.reg抓取影像中,區域1的星星。
3)同樣的方法,如果想抓取區域2的星星,就要再建立select1.csh檔,檔案內容如下:
#! /bin/csh
# select 4 columns from 2mass catalog: RA ($3), Dec($4), H-K ($8-$10), J-H($6-$8)
# using NR>47 to skip the header
awk 'NR>46 {print $3, $4, $8-$10, $6-$8 }' abcd.cat > abcd_h-k_j-h.dat
# select 4 columns from 2mass catalog: RA ($3), Dec($4), H-K ($8-$10), J-H($6-$8)
# using NR>47 to skip the header
awk 'NR>46 {print $3, $4, $8-$10, $6-$8 }' abcd.cat > abcd_h-k_j-h.dat
# select points with y<ax+b
# output files: B68_region1.reg for ds9, B68_region1.dat for xmgr
awk '$4>(0.1095/0.0656)*$3-0.07654 && $4<(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4<(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $1,$2 }' abcd_h-k_j-h.dat > abcd_region2.reg
awk '$4>(0.1095/0.0656)*$3-0.07654 && $4<(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4<(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $3,$4 }' abcd_h-k_j-h.dat > abcd_region2.dat
#If you want to produce ds9 format region file:
echo "global color=green" > abcd_region2a.reg
awk '$4>(0.1095/0.0656)*$3-0.07654 && $4<(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4<(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print "fk5; circle(",$1,",", $2,", 5\")"}' abcd_h-k_j-h.dat >> abcd_region2a.reg
# output files: B68_region1.reg for ds9, B68_region1.dat for xmgr
awk '$4>(0.1095/0.0656)*$3-0.07654 && $4<(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4<(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $1,$2 }' abcd_h-k_j-h.dat > abcd_region2.reg
awk '$4>(0.1095/0.0656)*$3-0.07654 && $4<(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4<(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $3,$4 }' abcd_h-k_j-h.dat > abcd_region2.dat
#If you want to produce ds9 format region file:
echo "global color=green" > abcd_region2a.reg
awk '$4>(0.1095/0.0656)*$3-0.07654 && $4<(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4<(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print "fk5; circle(",$1,",", $2,", 5\")"}' abcd_h-k_j-h.dat >> abcd_region2a.reg
區域2需要考慮三條直線的情形,寫法要小心,很容易出錯。
4)鍵入「./select1.csh」就會執行產生abcd_region2.reg、abcd_region2a.reg與 abcd_region2.dat,稍後會在ds9中載入abcd_region2a.reg。
我們可以在ds9中,用abcd_region2a.reg抓取影像中,區域2的星星。
我們可以在ds9中,用abcd_region2a.reg抓取影像中,區域2的星星。
5)同樣的方法,如果想抓取區域3的星星,就要再建立select2.csh檔,檔案內容如下:
#! /bin/csh
# select 4 columns from 2mass catalog: RA ($3), Dec($4), H-K ($8-$10), J-H($6-$8)
# using NR>47 to skip the header
awk 'NR>46 {print $3, $4, $8-$10, $6-$8 }' abcd.cat > abcd_h-k_j-h.dat
# using NR>47 to skip the header
awk 'NR>46 {print $3, $4, $8-$10, $6-$8 }' abcd.cat > abcd_h-k_j-h.dat
# select points with y<ax+b
# output files: B68_region1.reg for ds9, B68_region1.dat for xmgr
awk '$4>(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4>(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $1, $2 }' abcd_h-k_j-h.dat > abcd_region3.reg
awk '$4>(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4>(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $3, $4 }' abcd_h-k_j-h.dat > abcd_region3.dat
# output files: B68_region1.reg for ds9, B68_region1.dat for xmgr
awk '$4>(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4>(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $1, $2 }' abcd_h-k_j-h.dat > abcd_region3.reg
awk '$4>(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4>(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print $3, $4 }' abcd_h-k_j-h.dat > abcd_region3.dat
#If you want to produce ds9 format region file:
echo "global color=yellow" > abcd_region3a.reg
awk '$4>(0.1095/0.0656)*($3-0.2019122257)+0.8130049261 && $4>(1.009852217/0.272100313)*($3-0.223855799)+0.847487685 {print "fk5; circle(",$1,",", $2,", 5\")"}' abcd_h-k_j-h.dat >> abcd_region3a.reg
區域3需要考慮兩條直線的情形,寫法要小心,很容易出錯。
6)鍵入「./select2.csh」就會執行產生abcd_region3.reg、abcd_region3a.reg與 abcd_region3.dat,稍後會在ds9中載入abcd_region3a.reg。
我們可以在ds9中,用abcd_region3a.reg抓取影像中,區域3的星星。
我們可以在ds9中,用abcd_region3a.reg抓取影像中,區域3的星星。
7)這裡先講個小密技,我們可以用vi編輯abcd_region1a.reg、abcd_region2a.reg、abcd_region3a.reg,看這些檔案的第一列,都有global color=green的敘述(其實這個早在select.csh裡就有了),請將這三個檔案的顏色都設成不同,這樣能方便我們觀看星星。另外我們還要順便檢查這三個檔案是不是都有我們想要的坐標資訊,檔案裡如果只有一列的話,就代表一開始的select.csh檔語法有錯誤,必須回過頭去檢查。
8)以DS9開啟G1001wcs.fits(我們這幾篇文章裡用到的abc_j-h_h-k.dat就是根據G1001wcs.fits得到的)。
9)點選「Region/load regions」,然後開啟abcd_region1a.reg。
10)然後你就會發現影像裡,區域1的星星全被點選起來了!也就是綠色圈圈處。
11)一樣的步驟,我們分別載入abcd_region2a.reg與abcd_region3a.reg,每個區域的星星就會被不同顏色(就是第7點提到的)的圈圈框起來,這裡的圈圈被我分別設定成綠色、黃色跟紅色。至此,可以跟xmgr中的兩色圖比對DS9中影像的星星抓取結果。
12)然後可以回到xmgr裡,由「Data/Import/ASCII」裡將abcd_region1a.reg、abcd_region2a.reg、abcd_region3a.reg載入,就會發現上面這張圖片裡的星星,會根據你對三個區域的顏色設定而改變喔!星星們會以我們畫好的直線為界,顏色不同,清楚地分開。
11)最後提醒大家,程式裡的直線方程式都需要經過紙筆計算(因為希望得到比較精準的位數,於是我用EXCEL算),所以會用xmgr裡的Edit line去看直線通過的點坐標是什麼,此處使用者必須對直線方程式、斜率的計算非常熟悉才行。部份的計算比較麻煩,需要有些觀念與公式,這裡暫時不方便打出來,但它們卻都非常重要。
vi比較會用到的指令是下面這兩個「Esc,:,q:離開編輯」、「Esc,:,w:存檔」。
留意消光的情形。
全站熱搜
留言列表