파이썬(Python)에서는 SunPy 패키지를 사용하여 태양 이미지를 손쉽게 생성하고 시각화할 수 있습니다. 이 패키지에는 다양한 태양 관측소와 태양 연구 기관에서 수집한 양성자·전자 플럭스(proton/electron flux) 등의 태양 관측 데이터가 포함되어 있어, 태양 물리학 연구 및 교육 목적으로 널리 활용됩니다.
SunPy 설치하기
SunPy 패키지는 pip를 통해 간단히 설치할 수 있습니다.
pip install sunpy
AIA 이미지란?
이번 예제에서는 AIA 샘플 이미지를 시각화해 보겠습니다. AIA(Atmospheric Imaging Assembly, 대기 성상 카메라)는 NASA의 태양 관측 위성인 SDO(Solar Dynamics Observatory)에 탑재된 관측 장비 중 하나로, 자외선 파장대에서 태양 대기를 지속적으로 촬영합니다. 특히 171Å 파장 이미지는 약 60만 도의 코로나 가스 분포를 선명하게 보여주기 때문에 태양 관측 입문용으로 가장 많이 사용됩니다.
sunpy.Map() 함수
SunPy에서는 sunpy.Map() 함수를 사용하여 지원되는 데이터 제품(FITS 파일 등)으로부터 맵(Map) 객체를 생성합니다. 맵 객체는 좌표계 정보와 함께 태양 이미지 데이터를 담고 있으며, 이를 통해 이미지 출력, 태양 가장자리(림) 표시, 격자선 그리기 등 다양한 시각화 작업을 수행할 수 있습니다.
예제 코드
import sunpy.map import matplotlib.pyplot as plt import sunpy.data.sample # 샘플 AIA 171 이미지 로드 my_aia = sunpy.map.Map(sunpy.data.sample.AIA_171_IMAGE) fig = plt.figure() ax = plt.subplot(111, projection=my_aia) # 태양 이미지 출력 my_aia.plot() # 태양 가장자리(limb)와 격자선 표시 my_aia.draw_limb() my_aia.draw_grid() plt.colorbar() plt.show()
코드 단계별 설명
1. 모듈 임포트: sunpy.map, matplotlib.pyplot, 그리고 샘플 데이터를 제공하는 sunpy.data.sample을 불러옵니다.
2. 맵 생성: sunpy.map.Map()에 샘플 AIA_171 이미지 경로를 전달하여 맵 객체를 만듭니다.
3. 좌표축 설정: projection=my_aia 옵션을 사용하면 태양 좌표계(WCS)에 맞는 축이 자동으로 구성됩니다.
4. 시각화: plot()으로 이미지를 그리고, draw_limb()로 태양 가장자리 원을, draw_grid()로 위도·경도 격자선을 추가합니다.
실행 결과

위 코드를 실행하면 태양 코로나의 고온 가스 분포가 담긴 AIA 171 이미지가 출력되며, 노란색 실선으로 표시된 태양 가장자리와 격자선을 함께 확인할 수 있습니다. 이처럼 SunPy를 활용하면 몇 줄의 코드만으로 전문적인 태양 관측 이미지를 손쉽게 시각화할 수 있습니다.