天文データ解析入門 その0 (目次, Google Colabolatory の環境構築)

# はじめに
この天文データ解析入門シリーズでは、天文に関する一般的な可視化ソフトの使い方から機械学習を用いた解析まで幅広く取り扱っていきます。内容は電波天文学が中心となりますが、可視や赤外線のデータなども取り扱います。

# 準備するもの
本シリーズを進めていく上で必要なツール・あると良いツールを紹介します。

## 必須

* ds9
    * 軽くて圧倒的に便利な無料のfitsの可視化ソフトです。公式のページから自分の環境にあったものをダウンロードしてインストールしてください。 
    * https://sites.google.com/cfa.harvard.edu/saoimageds9
* Python3系
    * 本シリーズで基本とする言語です。整っていない方は方法をgoogle検索して是非整えましょう。
* pip
    * Python の module (パッケージ) を簡単にインストールするものです。整っていない方は方法をgoogle検索して是非整えましょう。
* Jupyter notebook
    * 簡単にいうとPythonのコードを書いて実行する非常に便利なノートです。整っていない方は方法をgoogle検索して是非整えましょう。[google colaboratory](https://colab.research.google.com/?hl=ja) を使うのも手です。このページの下で最初の環境構築を説明します。
* Python modules
    * numpy (標準でインストール済み)
    * scipy (標準でインストール済み)
    * matplotlib (標準でインストール済み)
    * astropy
    * aplpy
    * pandas

Python module は、pipが正常にインストールされていれば、ターミナルから

```
pip install astropy
pip install aplpy
```
で簡単にインストールできます。
何らかの解析サーバーを使用していて権限がない場合は、

```
pip install --user <パッケージ名>
```
で大抵はインストールできます。

## その他あると良いもの

* casa
    * 生データからのreductionや、regridなど様々な場面で有効です。
    * https://casa.nrao.edu/
* Montage
    * fits の合成に使用します。
    * http://montage.ipac.caltech.edu/
* miriad
    * fits の回転などに便利です。
    * https://www.atnf.csiro.au/computing/software/miriad/
* Python modules
    * astrodendro (天体の構造同定)
    * pycupid (天体の構造同定)


# Google Colabolatory の環境構築
まず、google のアカウントを作ります。そして、[google colaboratory](https://colab.research.google.com/?hl=ja) にアクセスします。上の「ファイル」から「ノートブックを新規作成」を押します。

google colaboratory では「!pip」を用いることによって任意のモジュールのインストールができますが、起動ごとに毎回やる必要があり、多少面倒です。そこで、一度のインストールで恒常的にモジュールを使用する方法を以下に示します。

手順としては、google drive をマウント→ディレクトリ作成→そのディレクトリにモジュールをインストール→python pathに追加(これは毎回実行する)、です。コードの実行は、「Shift + Enter」です。

```python
# マウント (認証が発生します。)
from google.colab import drive
drive.mount('/content/drive')

# ディレクトリ作成
!mkdir /content/drive/MyDrive/python_modules

# インストールの例 (astropy は標準で入っているようです。)
!pip install aplpy -t /content/drive/MyDrive/python_modules/

!pip install matplotlib==3.5.2 -t /content/drive/MyDrive/python_modules/

!pip install astrodendro -t /content/drive/MyDrive/python_modules/

# python pathに追加 (この4行は、ノートブックごとに、冒頭で毎回実行する必要あり)
from google.colab import drive
drive.mount('/content/drive')
import sys
sys.path.append('/content/drive/MyDrive/python_modules/')
```
また、google drive にアップロードしたファイルを参照するときは、例えば、
```python
import matplotlib.pyplot as plt
import aplpy

fig = plt.figure(figsize=(16, 16))
f = aplpy.FITSFigure("/content/drive/MyDrive/hogehoge.fits", slices=[0], convention='wells', figure=fig, subplot=[0.1, 0.1, 0.8, 0.8])
f.show_colorscale(vmin=0, vmax=100, stretch='linear', cmap="Purples", aspect="equal")
```
などとします。

# 目次

[天文データ解析入門 その1 (ds9の使い方)](https://qiita.com/Shinji_Fujita/items/dfe5c4be13493b930bb8)
[天文データ解析入門 その2 (Montageの使い方)](https://qiita.com/Shinji_Fujita/items/84a440df08916732b757)
[天文データ解析入門 その3 (astropyでのfitsの開き方, plot方法)](https://qiita.com/Shinji_Fujita/items/700a99e58fc2239a0c8c)
[天文データ解析入門 その4 (積分強度図の作り方)](https://qiita.com/Shinji_Fujita/items/d09f0bef16994bb0ec38)
[天文データ解析入門 その5 (位置–速度図の作り方)](https://qiita.com/Shinji_Fujita/items/ac6351c0749d2f8db1ff)
[天文データ解析入門 その6 (astrodendroの使い方: 基本編)](https://qiita.com/Shinji_Fujita/items/5b9b86aee8ed8cfb6960)
[天文データ解析入門 その7 (fitsのregrid)](https://qiita.com/Shinji_Fujita/items/bdd114823efb7c6cee42)
[天文データ解析入門 その8 (aplpy で RGB合成図を作成する)](https://qiita.com/Shinji_Fujita/items/10c872a99bc0ecc7c8ed)
[天文データ解析入門 その9 (イメージにコントアを重ねる)](https://qiita.com/Shinji_Fujita/items/b2d157525e81290fcd0d)
[天文データ解析入門 その10 (astropy.coordinates.SkyCoordのあれこれ)](https://qiita.com/Shinji_Fujita/items/eee0bfef38fbca03c73e)
[天文データ解析入門 その11 (fitsの回転)](https://qiita.com/Shinji_Fujita/items/c7ada710f76b81cb7d44)
[天文データ解析入門 その12 (Python: よく使う list や numpy array の操作)](https://qiita.com/Shinji_Fujita/items/86ca02a36e8c34d48c97)
[天文データ解析入門 その13 (astrodendroの使い方: 中級編)](https://qiita.com/Shinji_Fujita/items/c84ed54bbe0ced5121c8)
[天文データ解析入門 その14 (astrodendroの使い方: scimes編)](https://qiita.com/Shinji_Fujita/items/87f46b9d41a7e48d0c05)
[天文データ解析入門 その15 (カタログの扱い: astroquery や pandas の使い方など)](https://qiita.com/Shinji_Fujita/items/089591427080f06037f6)
[天文データ解析入門 その16 (fitsのsmoothing (convolution))](https://qiita.com/Shinji_Fujita/items/6a515390c903fb29955b)
[天文データ解析入門 その17 (fitsの切り取り)](https://qiita.com/Shinji_Fujita/items/8e2370758a5eb3214fc4)
[天文データ解析入門 その18 (速度チャンネルマップを作る)](https://qiita.com/Shinji_Fujita/items/1e5b07d8acdee25b9874)
[天文データ解析入門 その19 (自分好みの color map を作る)](https://qiita.com/Shinji_Fujita/items/dfda02cfc1dc074e97b5)
[天文データ解析入門 その20 (pycupid: pythonでclumpfind等を使う)](https://qiita.com/Shinji_Fujita/items/9226c17601d06a785062)
[天文データ解析入門 その21 (fitsをムービーで保存する)](https://qiita.com/Shinji_Fujita/items/a72a2a10f3fed319fb62)
[天文データ解析入門 その22 (pycprops: pythonでCPROPSを使う)](https://qiita.com/Shinji_Fujita/items/7463038f70401040aedc)
[天文データ解析入門 その23 (GAIA DR3 の扱い方)](https://qiita.com/Shinji_Fujita/items/c610f797cac537c0e326)
[天文データ解析入門 その24 (FilFinder (fil_finder) の使い方)](https://qiita.com/Shinji_Fujita/items/856010bead47ff337941)
[天文データ解析入門 その25 (aplpy.FITSFigure 設定ほぼ全部盛り)](https://qiita.com/Shinji_Fujita/items/acfddc6f327c2d94f2d2)
[天文データ解析入門 その26 (Google Colabolatory 上で TensorFlow を使って自前の Numpy Array データを CNN モデルに学習させる)](https://qiita.com/Shinji_Fujita/items/b0a6db75f74bdd8d9567)


記事のリクエストや質問がございましたら本記事にコメントをいただけると、もしかするとリアクションするかもしれません。