5

大きなはめ込みファイル (30,000 x 30,000 ピクセル以上) があります。IRAFはこのサイズの画像を処理できません。標準のトリミング モードを使用するときに IRAF が行うように、正しいヘッダー情報を保持しながらこのサイズのファイルをトリミングするにはどうすればよいでしょうか?

4

1 に答える 1

8

この種のトリミングは で行うことができますがastropy.io.fits、まだ簡単ではありません。はデフォルトでメモリ マッピングastropy.io.fitsを使用するため、(いくつかの実際的な制限内で)任意のサイズのファイルを処理できるはずです。Python 以外のソリューションが必要な場合は、ここで郵便切手の作成に関する詳細を参照してください。

from astropy.io import fits
from astropy import wcs
f = fits.open('file.fits')
w = wcs.WCS(f[0].header)
newf = fits.PrimaryHDU()
newf.data = f[0].data[100:-100,100:-100]
newf.header = f[0].header
newf.header.update(w[100:-100,100:-100].to_header())

便利な関数を実装するこのプル リクエストも参照してくださいCutout2D。ただし、これは astropy のリリース バージョンではまだ利用できません。その使用法はドキュメントで確認でき、WCS を含めるように変更されています。

from astropy.nddata import Cutout2D
position = (49.7, 100.1)
shape = (40, 50)
cutout = Cutout2D(f[0].data, position, shape, wcs=w)

ここにもっと例があります

于 2015-09-23T06:08:35.700 に答える