天文データ解析入門 その7 (fitsのregrid, reorder)

本記事では、fits の regrid の方法について紹介します。

例として、_Spitzer_ 3.6 µm, 8.0 µm, 24 µm のアーカイブデータを使用します。
https://irsa.ipac.caltech.edu/data/SPITZER/GLIMPSE/images/I/1.2_mosaics_v3.5/
から
GLM_03000+0000_mosaic_I1.fits
GLM_03000+0000_mosaic_I4.fits 
をダウンロードします。
また、
https://irsa.ipac.caltech.edu/data/SPITZER/MIPSGAL/images/mosaics24/
から
MG0290n005_024.fits
MG0290p005_024.fits
MG0300n005_024.fits
MG0300p005_024.fits
MG0310n005_024.fits
MG0310p005_024.fits
の計６つの fits をダウンロードし、つなぎ合わせた W43_24um.fits を用います ([以前の記事](https://qiita.com/Shinji_Fujita/items/84a440df08916732b757) を参照)。

現状、[casa](https://casa.nrao.edu/) でやる方法と [miriad](https://www.atnf.csiro.au/computing/software/miriad/) でやる方法が主流かと思います。それぞれインストール方法は公式のページを参照ください。

# casa 
ターミナルで casa を起動します。パスが通っている場合は、casa と打つだけです。通していない場合は、

```
your/casa/dir/casa-X.X.X-XXX/bin/casa
```
で起動します。
まず、fitsを読み込みます。

```
importfits(fitsimage="GLM_03000+0000_mosaic_I1.fits", imagename="GLM_03000+0000_mosaic_I1.im/", overwrite=True)
importfits(fitsimage="GLM_03000+0000_mosaic_I4.fits", imagename="GLM_03000+0000_mosaic_I4.im/", overwrite=True)
importfits(fitsimage="W43_24um.fits", imagename="W43_24um.im/", overwrite=True)
```
これで casa 形式 (image) になりました。最後に true と表示されていればおそらく成功です。

この GLM_03000+0000_mosaic_I4.im を W43_24um.im と同じ grid にします。
（※ この場合、元々の grid サイズがほぼ等しいのでこのまま regrid を実行しますが、 grid サイズ (≈分解能) がかけ離れている場合には細かい方に smoothing ([imsmooth](https://casa.nrao.edu/docs/taskref/imsmooth-task.html)) をかける必要があります。[天文データ解析入門 その16 (fitsのsmoothing (convolution))](https://qiita.com/Shinji_Fujita/items/6a515390c903fb29955b) も合わせて参照ください。）
[imregrid](https://casa.nrao.edu/docs/taskref/imregrid-task.html) を実行します。

```
imregrid(imagename="GLM_03000+0000_mosaic_I1.im/", template="W43_24um.im/", output="GLM_03000+0000_mosaic_I1_reg.im/", overwrite=True)
imregrid(imagename="GLM_03000+0000_mosaic_I4.im/", template="W43_24um.im/", output="GLM_03000+0000_mosaic_I4_reg.im/", overwrite=True)
```
imagename が regrid をかける image、template が合わせる先の image です。最後に true と表示されていればおそらく成功です。
これを fits に戻します。

```
exportfits(imagename="GLM_03000+0000_mosaic_I1_reg.im/", fitsimage="GLM_03000+0000_mosaic_I1_reg.fits", overwrite=True)
exportfits(imagename="GLM_03000+0000_mosaic_I4_reg.im/", fitsimage="GLM_03000+0000_mosaic_I4_reg.fits", overwrite=True)
```
何も表示されなければおそらく成功です。
もし 3D fits (cube) の速度軸だけ regrid したい場合などは、imregrid の際にオプションで axes=2 を指定しましょう。

また、速度軸を反転させたい時などは、imtrans を用いましょう。
```
imtrans(imagename="xxx.im/", outfile="xxx_vreo.im/", order="01-23")
```
などとします。2 が速度軸を示していて、マイナスをつけることによって反転してくれます。

# miriad
miriad の場合もほぼ同様です。ターミナルで miriad と打って miriad を起動します。
まず fits を読み込みます。

```
fits in=GLM_03000+0000_mosaic_I1.fits out=GLM_03000+0000_mosaic_I1.mir op=xyin
fits in=GLM_03000+0000_mosaic_I4.fits out=GLM_03000+0000_mosaic_I4.mir op=xyin
fits in=W43_24um.fits out=W43_24um.mir op=xyin
```
これで miriad 形式になりました。fits の名前が長すぎるとエラーを吐くので注意です。

regrid を実行します。

```
regrid in=GLM_03000+0000_mosaic_I1.mir out=GLM_03000+0000_mosaic_I1_reg2.mir tin=W43_24um.mir
regrid in=GLM_03000+0000_mosaic_I4.mir out=GLM_03000+0000_mosaic_I4_reg2.mir tin=W43_24um.mir
```
オプションで回転を入れたり GAL <=> RADec 変換ができたりなど、色々便利です。
(https://www.atnf.csiro.au/computing/software/miriad/doc/regrid.html)

あとは fits に戻します。

```
fits in=GLM_03000+0000_mosaic_I1_reg2.mir out=GLM_03000+0000_mosaic_I1_reg2.fits op=xyout
fits in=GLM_03000+0000_mosaic_I4_reg2.mir out=GLM_03000+0000_mosaic_I4_reg2.fits op=xyout
```

これで grid の揃った 3 色の fits が出来上がりました。
以上です。

リンク
[目次](https://qiita.com/Shinji_Fujita/items/ecb869e5b6a9fa468483)