천문 데이터 분석 입문의 3(astropy에서fits를 여는 방법,plot방법)

이 글부터python의fits 이미지를 사용하는 처리에 대해 쓰겠습니다.이번에는 astropy입니다.io.fits, numpy, matplotlib.pyplot, aplpy를 사용합니다.예를 들어, Spitzer의 8.0µm 데이터를 사용합니다.
https://irsa.ipac.caltech.edu/data/SPITZER/GLIMPSE/images/I/1.2_mosaics_v3.5/GLON_30-53/
GLM까지_03000+0000_mosaic_I4.fits를 다운로드했습니다.

fits 열기 방법


먼저 필요한 모듈을 가져옵니다.
from astropy.io import fits
import numpy as np
from matplotlib import pyplot as plt
import aplpy
하면, 만약, 만약...
ModuleNotFoundError: No module named 'aplpy'
이렇게 말하면 pip로 설치하세요.
pip install aplpy
astropy.io.fits를 사용하여fits를 엽니다.path는 절대 path든 상대 path든 다 돼요.
hdu = fits.open("~/your/fits/dir/GLM_03000+0000_mosaic_I4.fits")[0]
뒤에 [0]는 보통 신경 안 써도 돼요.hdu는 헤더와 데이터, hdu를 저장합니다.header 또는 hdu.데이터로 전화하면 따로 올 거예요.header는 사전이고, 데이터는numpyarray입니다.

fits plot


우선 가장 흔히 볼 수 있는 matplotlib입니다.pyplot를 사용하여plot 데이터를 시도해 보십시오.
plt.imshow(hdu.data)
plt.show()

색 범위가 좋지 않아 거의 아무것도 보이지 않는다.로그를 시도해 보세요.
plt.imshow(np.log10(hdu.data))
plt.show()

조금 봤어요.현재 축은 픽셀이기 때문에 좌표로 합니다.matplotlib도 가능하지만 aplpy라는 모듈을 사용하면 간단하게 완성할 수 있습니다.
fig = plt.figure(figsize=(8, 8))
f = aplpy.FITSFigure(hdu, slices=[0], convention='wells', figure=fig)
f.show_colorscale(vmin=10, vmax=1000, stretch='log', cmap="Greens", aspect="equal")
plt.show()

ticks가 밖으로 나가는 것을 신경 쓰는 사람은 다음과 같은 조작을 실행하십시오.
plt.rcParams['xtick.direction'] = 'in'
plt.rcParams['ytick.direction'] = 'in'
그림을 크게 하려면 Recenter를 사용하십시오.가로축의 중심, 세로축의 중심,width,height의 순서에 따라 전달한다.
fig = plt.figure(figsize=(8, 8))
f = aplpy.FITSFigure(hdu, slices=[0], convention='wells', figure=fig)
f.show_colorscale(vmin=10, vmax=1000, stretch='log', cmap="Greens", aspect="equal")
f.recenter(30.5, 0.0, width=1.0, height=1.0)
plt.show()

이외에도 색상 막대, 확대/축소 막대, 표기 등 일련의 기능을 갖추고 있다.문서를 참조하여 그리고 싶은 그림을 만들자.
https://aplpy.github.io/
3차원fits(cube)의 경우에도 기본적으로 마찬가지다. slices=[0]의 0부분을plot를 원하는 채널로 변경한다.

일반적인 오류


ALMA cube 데이터가 잘 안 열려요!


기본적으로 ALMA 데이터는 4축에 Stokes parameter를 포함합니다.그리고 세 번째 축은frequency입니다.
카사로 한 번 읽고 출력하면 대부분 순조롭게 진행될 것입니다.터미널 시작casa
importfits(fitsimage="yourfits.fits", imagename="yourfits.im")
exportfits(imagename="yourfits.im/", fitsimage="yourfits_new.fits", velocity=True, dropstokes=True, overwrite=True) 
사용자 정의 모양새를 정의합니다.
링크
카탈로그

좋은 웹페이지 즐겨찾기