이 튜토리얼에서는 파이썬의 SunPy 모듈을 사용하여 태양 이미지를 플로팅하는 방법을 단계별로 알아봅니다. SunPy는 태양물리학(solar physics) 연구를 위해 개발된 오픈소스 파이썬 라이브러리로, NASA 등에서 제공하는 태양 관측 데이터를 손쉽게 불러오고 분석·시각화할 수 있게 해줍니다.
1. SunPy 설치하기
가장 먼저 아래 명령어를 실행하여 SunPy 모듈을 설치합니다.
pip install sunpy
2. 샘플 데이터 다운로드
모듈 설치가 끝나면, 실제 코드를 작성하기 전에 이미지 플로팅에 사용할 샘플 데이터를 내려받아야 합니다. SunPy는 공식 샘플 데이터 세트를 제공하며, 다음 코드 한 줄로 간단히 다운로드할 수 있습니다.
예제 코드
# 데이터 모듈 임포트 import sunpy.data # 샘플 데이터 다운로드 sunpy.data.download_sample_data()
위 코드를 실행하면 샘플 데이터의 다운로드 진행 상황이 콘솔에 표시됩니다. 다운로드가 완료되면 로컬 환경에서 바로 태양 관측 이미지를 실험해 볼 수 있습니다.
3. 태양 이미지 플로팅하기
다운로드한 샘플 데이터 중 AIA_171_IMAGE는 NASA SDO(태양역학 관측선)의 AIA 장비가 171Å 파장대에서 촬영한 태양 대기 이미지입니다. 이 데이터를 sunpy.map.Map 객체로 불러온 뒤 시각화해 보겠습니다.
예제 코드
# 샘플 데이터에서 이미지 임포트 from sunpy.data.sample import AIA_171_IMAGE # 태양 이미지 처리용 맵 모듈 임포트 import sunpy.map # 샘플 데이터로 Map 객체 생성 solar_image = sunpy.map.Map(AIA_171_IMAGE) # 이미지 플로팅 solar_image.peek()
코드 설명
AIA_171_IMAGE: 샘플 데이터 세트에 포함된 태양 관측 이미지 파일 경로입니다.sunpy.map.Map(): 관측 데이터를 좌표 정보와 함께 담는 Map 객체를 생성합니다.peek(): Matplotlib 창에 이미지를 빠르게 미리보기 형태로 출력하는 편의 메서드입니다.
4. 실행 결과
위 코드를 실행하면 다음과 같은 태양 이미지가 출력됩니다.

출력된 이미지에는 태양 코로나(corona)의 고온 플라스마 구조가 선명하게 나타나며, 이미지 하단에는 관측 시각, 파장, 좌표계 등 메타데이터가 함께 표시됩니다. 이처럼 SunPy를 활용하면 몇 줄의 코드만으로 전문적인 태양 관측 데이터를 시각화할 수 있습니다.