반응형

전체 글 714

그래픽 창의 캡쳐(capture) 기능 (DG 체계)

IDL에서 그래픽 창에 그림을 표출한 다음 그 화면 자체를 캡쳐(capture)해야 하는 경우들이 종종 있습니다. 그림 파일로 저장하기 위한 목적일 수도 있고, 또는 얼마 전에 소개했던 동영상 파일의 제작을 위한 목적일 수도 있습니다. 사실 IDL에서 그래픽 창의 화면을 캡쳐하는 방법에 관해서는 이 블로그의 여러 게시물들에서 간접적으로 다뤄진 적이 꽤 있긴 하지만, 이번에는 캡쳐 방법 자체에 좀 더 촛점을 맞춰서 다뤄보고자 합니다. 또한 이러한 캡쳐의 방법은 그래픽 체계에 따라 다릅니다. 즉 DG(Direct Graphics) 체계 및 NG(New Graphics) 체계의 방법론이 서로 다르기 때문에 각 체계별로 나눠서 소개해보겠습니다. 그래서 오늘은 먼저 DG 체계에서 그래픽 창의 화면을 캡쳐하는 방법..

IDL/Direct Graphics 2024.11.19

동영상 파일의 제작 [3]

지난 [1], [2] 게시물들에서는 IDLffVideoWrite 및 WRITE_VIDEO를 이용하여 MPEG-4 형식의 동영상을 .mp4 파일로 생성하는 방법을 예제와 함께 소개하였습니다. 그리고 지난 회 게시물의 말미에서 애니메이션 GIF로 만드는 방법에 관하여 살짝 언급하였는데요. 그래서 지난 게시물들에서 제시했던 그래픽 표출 예제를 애니메이션 GIF 파일로 생성하는 방법을 소개해보도록 하겠습니다. 사실 애니메이션 GIF 파일을 생성하기 위하여 WRITE_GIF 프로시저를 사용하는 방법에 관해서는 제가 이미 관련 게시물을 통하여 자세히 설명한 바 있습니다. 따라서 구체적인 방법에 관해서는 그 내용을 참조하기로 하겠습니다. 앞선 게시물들에서 제시되었던 예제를 바탕으로 애니메이션 GIF 파일을 생성하도록..

IDL/New Graphics 2024.11.13

동영상 파일의 제작 [2]

지난 회차 게시물에서는 IDLffVideoWrite 클래스의 객체를 이용하여 동영상을 제작하는 방법을 소개하였습니다. 오늘은 그 두번째 방법으로서 WRITE_VIDEO 프로시저를 사용하는 방법을 소개해보겠습니다. 먼저 예제 데이터의 생성 및 표출의 기본적인 내용은 지난 회와 동일하게 시작합니다. x = FINDGEN(301) y = SIN(2*x*!DTOR)*5+RANDOMU(seed, 301) sx = 800sy = 450win = WINDOW(DIMENSIONS=[sx, sy], BACKGROUND_COLOR='khaki', $  /NO_TOOLBAR) p = PLOT(x, y, XRANGE=[0, 300], YRANGE=[-6, 6], $   /NODATA, FONT_SIZE=11, MARGIN=0..

IDL/New Graphics 2024.11.12

동영상 파일의 제작 [1]

오늘은 IDL에서 동영상 파일을 제작하는 방법을 소개해보고자 합니다. 물론 IDL에서는 여러가지 형식의 동영상 파일을 제작할 수 있지만, 여기서는 확장자가 .mp4인 파일로 저장되는 MPEG-4 형식의 동영상 파일을 제작하는 경우에 촛점을 맞추어서 살펴보겠습니다. 참고로 IDL의 동영상 파일 제작 기능은 8.1 버전에서 처음 도입이 되었고, 초창기에는 라이센스 문제 등으로 인하여 사용 범위가 다소 제한적이기도 했었지만, 최근 버전의 IDL에서는 이러한 이슈는 거의 다 사라지고 별다른 제한없이 해당 기능의 사용이 가능합니다. IDL에서 MPEG-4 형식의 동영상을 제작하는 기능은 두가지 방식으로 지원됩니다. 첫번째는 IDLffVideoWrite라는 클래스의 객체를 이용하는 방법이고, 두번째는 WRITE_V..

IDL/New Graphics 2024.11.07

플롯(Plot) 상에 축과 데이터 추가하기 (DG 체계)

지난 회차 게시물들에서는 플롯 그림을 표출한 상태에서 새로운 축과 데이터 플롯을 추가하는 작업을 NG(New Graphics) 체계에서 PLOT 함수 및 AXIS 함수를 사용하는 방법을 기준으로 몇가지 예제들과 함께 소개한 바 있습니다. 물론 이러한 작업은 NG 체계 뿐 아니라 DG(Direct Graphics) 체계에서도 가능하며 PLOT 프로시저 및 AXIS 프로시저를 사용하면 됩니다. 그래서 지난 회차 게시물들에서 소개했던 예제들과 유사한 그림을 DG 체계에서 구현해보면서 그 방법을 살펴보기로 하겠습니다. 먼저 예제 데이터를 생성하는 과정은 지난번과 같습니다. x = FINDGEN(101)y1 = SQRT(x)y2 = (x/10)^2+100 먼저 x, y1에 대한 플롯부터 표출해봅시다. WINDOW..

IDL/Direct Graphics 2024.10.30

그래픽 창 없이 그림을 표출하고 저장하기 (Z-Buffer)

우리가 뭔가 그림을 표출하고 그 내용을 그림 파일로 저장하는 작업은 IDL에서 워낙 많이 하는 작업입니다. 그리고 이러한 작업을 할 때에는 당연히 그래픽 창을 먼저 띄우고 그 위에 그림을 표출하는 것이 너무나 당연한 것이고, 그 내용을 그림 파일로 파일로 저장하기도 합니다. 그런데 오늘 소개할 내용은 그래픽 창을 띄우지 않고 그림을 표출하는 방법에 관한 것입니다. 과연 그게 가능은 한 것인가 그리고 가능하다고 해도 그게 굳이 필요한가에 대한 의문이 생길 수 있습니다. 사실 통상적인 작업에서는 당연히 그래픽 창을 띄우고 그림을 표출하여 그 그림을 보면서 여러가지 필요한 수정 및 개선을 하는 것이 당연합니다. 하지만 유저가 원하던 형태의 그림이 표출되도록 프로그램의 모든 작업 체계가 완성된 상태에서 그 프로..

IDL/New Graphics 2024.10.28