이번 IDL 8.1 버전에서 도입된 비디오 파일 생성 기능을 활용하여 MP4 형식의 동영상을 하나 만들어보았습니다. 참고로 동영상의 내용은 지난 주 6월 7일 오후에 발생했던 태양표면상의 대폭발 현상입니다. 고해상도 태양 관측위성인 SDO위성의 AIA라는 장비에서 파장 304A 및 171A로 관측된 이미지들을 모아놓은 것으로 UT시간으로 6월 7일 06시부터 09시까지 3시간 동안의 모습을 담고 있습니다. 즐감하시길~
이 동영상 파일을 만든 코드는 전체적으로 좀 복잡해서 그냥 비디오 파일 생성하는 부분만 발췌하여 보여드리면 다음과 같습니다. 원래 IDL 8.1의 도움말을 보면 이러한 동영상 생성 역할을 IDLffVideoWrite라는 클래스에 관한 내용에 예제 코드가 있는데, 이것을 거의 비슷하게 활용한 것입니다. 동영상의 매 프레임에 해당되는 이미지 파일들은 PNG의 형식으로 image_out이라는 폴더에 들어가있고, 반복문을 이용하여 매 이미지 파일의 내용을 읽어 IDLffVideoWrite 클래스의 객체에 차례로 집어넣는 방식입니다. 초당 프레임(FPS; Frame Per Second)은 20으로 설정하였습니다.
file = 'AIA_mov.mp4'
width = 512
height = 512
rames = N_ELEMENTS(outfile)
fps = 20
oVid = IDLffVideoWrite(file)
vidStream = oVid.AddVideoStream(width, height, fps)
FOR j = 0, frames-1 DO BEGIN
img = READ_IMAGE('image_out/'+outfile[j])
time = oVid.Put(vidStream, img)
ENDFOR
oVid.Cleanup
참고로 이 비디오 파일 생성 기능은 현재 IDL 8.1 "정식" 라이센스에서만 사용 가능합니다. 평가판 라이센스에서는 안되더군요.
'IDL > New Graphics' 카테고리의 다른 글
새로운 그래픽 체계의 그림 저장 기능 (0) | 2011.06.22 |
---|---|
새로운 그래픽의 Contour 기능 소개 [2] (0) | 2011.06.21 |
새로운 그래픽의 Contour 기능 소개 [1] (0) | 2011.06.14 |
새로운 그래픽의 Plot 기능 소개 [3] (0) | 2011.06.06 |
새로운 그래픽의 Plot 기능 소개 [2] (0) | 2011.06.03 |