0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

FITS形式のファイルの画像部分をnumpyのndarray形式のファイル(.npy)に変換する

Last updated at Posted at 2022-10-28

天文データ形式であるfitsファイルを、機械学習などでよく用いられるndarrayのバイナリファイルに変換します。

.fits→.npy

fits_to_npy.py
import numpy as np
import argparse
from astropy.io import fits

parser = argparse.ArgumentParser(description='convert fits to npy')
parser.add_argument('--source_path', type=str, required=True)
parser.add_argument('--file_name', type=str, required=True)
args = parser.parse_args()

fits_data = fits.open(args.source_path)
image_data = np.array(fits_data[1].data)
image_data = image_data[..., np.newaxis]

np.save(args.file_name, image_data)

実行例

python fits_to_npy.py --file_name=aia.npy --source_path=aia.lev1_euv_12s.2015-01-01T000049Z.211.image_lev1.fits

fitsファイルの読み込みにはastropy.ioを使っています。
また、機械学習ではwidth*height*channelというデータ構造がとられることが多いため、12行目でチャンネルの次元を追加しています。opencvなどで画像化する分にはこの行はあってもなくても変わらないと思います。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?