SMALL

IDL/Direct Graphics 30

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

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

IDL/Direct Graphics 2024.11.19

플롯(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

특정 화소들만 강조한 이미지의 표출 (DG 체계)

어떤 특정한 조건을 내걸고 그 조건을 만족하는 화소들을 판별한 후 이미지 상에서 이러한 화소들만 특별히 강조하는 표출 방식에 관한 내용이 바로 얼마전의 게시물에서 소개된 바 있습니다. 여기서는 2차원 데이터를 흑백 계열 색상의 컬러테이블로 표출해놓은 상태에서 특정한 화소들만 붉은색으로 강조하여 표시하는 예제를 소개하면서 NG 체계 기준으로 두가지의 구현 방법을 소개하였습니다. 그런데 이러한 방식의 표출을 DG 체계에서도 구현할 수 있을까요? 사실 불가능하지는 않습니다. 다만 앞서 NG 체계 기준의 방법들의 경우는 원본 이미지를 먼저 표출하고 그 위에 NaN 값들이 포함된 이미지를 중첩하는 방식이었는데, 일단 DG 체계에서는 이러한 방식이 먹히지 않습니다. 왜냐하면 이미지 배열 내에 NaN 값이 있다해도 ..

IDL/Direct Graphics 2024.06.17

DG 체계에서 여백의 설정 방법

오늘은 IDL의 DG(Direct Graphics) 체계에서 그림을 표출할 때 여백을 설정하는 방법에 관하여 알아보고자 합니다. 참고로 NG(New Graphics) 체계에서는 주로 MARGIN 키워드를 사용하여 상하좌우의 여백을 직접 설정하는 방식을 많이 사용합니다. 하지만 DG 체계에서는 여백을 설정하는 방식이 조금 다릅니다. 그러면 DG 체계에서 예제 그림을 표출해보면서 시작하기로 합니다. 간단한 예제로서 플롯(Plot) 형태의 그림을 표출하기 위한 예제 데이터의 생성 및 기본적인 표출 과정은 다음과 같습니다. DEVICE, DECOMPOSED=0 WINDOW, XSIZE=600, YSIZE=500 LOADCT, 0 !P.BACKGROUND = 255 x = FINDGEN(121) y = 1.7*S..

IDL/Direct Graphics 2024.04.09

DG 체계에서 지도와 이미지 중첩 표출 [4]

DG 체계에서 지도를 표출하고 그 위에 2차원 데이터를 중첩하는 방법에 관한 일련의 게시물들을 계속 올리고 있는데, 오늘은 4회차입니다. 지난 3회차에서 소개된 내용은 2차원 데이터가 거리 기반의 격자 분포를 하는 경우 DG 체계에서 지도상에 중첩 표출하는 방법이었습니다. 그래서 의도했던 표출 결과는 얻었는데, 다만 몇가지 보완이 필요해 보이는 부분들이 있었습니다. 오늘은 그 보완 작업을 마저 진행해보기로 하겠습니다. 먼저 지도가 LCC 투영법이라는 특성으로 인하여 내부의 경위도 격자선들이 비어보이는 부분들이 생기는데, 이를 보완하여 격자선들이 사각형 프레임 내에서 모두 채워지도록 해보고자 합니다. 이와 같이 DG 체계에서 LCC 투영법의 지도를 표출하면서 사각형 프레임 내에 경위도 격자선들이 빠짐없이 ..

IDL/Direct Graphics 2023.09.25

DG 체계에서 컬러바를 직접 제작하기

IDL에서 컬러바(Colorbar)를 표시하는 방법에 관해서는 예전에 한번 관련 게시물을 통하여 소개를 한 바 있습니다. 이 게시물에서도 언급하였듯이 원래 IDL의 DG(Direct Graphics) 체계에서는 컬러바의 표시를 위한 명령이라 할 만한 것이 딱히 있지는 않습니다. 그래서 Coyote 라이브러리에 있는 COLORBAR 프로시저를 따로 받아서 사용하는 것이 일반적인 해결책이었습니다. 다만 IDL에 NG(New Graphics) 체계가 도입되면서 동일한 이름으로 NG 체계의 COLORBAR 함수가 지원되기 시작하면서 서로 이름이 중복되는 문제가 발생하였기 때문에, Coyote 라이브러리의 COLORBAR 프로시저를 이름만 COLORBAR_COYOTE 프로시저로 바꿔서 소개를 한 것이 바로 앞서 ..

IDL/Direct Graphics 2023.09.18

DG 체계에서 지도와 이미지 중첩 표출 [3]

DG 체계에서 지도를 표출하고 그 위에 2차원 데이터를 중첩하는 방법에 관한 일련의 게시물들을 계속 올리고 있는데, 오늘은 3회차입니다. 앞서 1~2회차에서 소개된 내용은 2차원 데이터가 경도/위도 기반의 격자 분포를 하는 경우 DG 체계에서 지도상에 중첩 표출하는 방법이었습니다. 오늘은 또 다른 경우로서 바로 2차원 데이터가 거리 기반의 격자 분포를 하는 경우를 살펴보고자 합니다. 참고로 NG 체계에서 거리 기반의 격자 분포를 하는 2차원 데이터를 지도상에 중첩하는 방법 및 예제는 제가 전에도 관련 게시물들을 통하여 여러 차례 소개한 바 있습니다. 그런데 이러한 방식의 중첩 표출을 DG 체계에서 구현하려면 어떻게 해야 할까요? 물론 방법은 있습니다. 다만 이를 위해서는 제가 1회차 게시물의 서두에서 언..

IDL/Direct Graphics 2023.09.12

DG 체계에서 지도와 이미지 중첩 표출 [2]

지난 회차 게시물에서는 DG 체계에서 2차원 데이터를 지도상에 이미지의 형태로 중첩 표출하는 방법을 소개하기 시작하였는데, 중첩된 이미지 데이터가 이상하게 보이는 문제가 발생한 상태입니다. 이번 회차에서는 그 해결책을 알아보기로 하겠습니다. 우선 지난 회차에서 발생한 문제의 표출 결과는 다음과 같습니다. 사실 이 모습을 보면 가장 문제가 되는 증상들은 이미지 내부의 데이터 값의 범위에 대한 색상 배정 그리고 데이터가 존재하지 않는 짜투리 공간에 대한 값 처리 및 색상 배정 등 두가지 정도 측면에서 당초 우리가 기대했던 바와 다르게 나타나고 있다는 것입니다. 일단은 원본 데이터 배열인 data의 값 범위가 대략 43~55였다는 점을 주목해야 합니다. 이 data라는 배열 데이터는 MAP_IMAGE 함수에 ..

IDL/Direct Graphics 2023.09.05

DG 체계에서 지도와 이미지 중첩 표출 [1]

지도와 이미지 데이터를 중첩하여 표출하는 방법에 관해서는 제가 이 블로그에서 여러 차례 소개한 바 있습니다. 물론 주로 NG(New Graphics) 체계를 기준으로 관련 예제와 함께 소개를 했었는데요. DG(Direct Graphics) 체계에서의 방법에 관해서는 제대로 소개를 한 적이 없었던 것 같습니다. 그래서 DG 체계에서 지도와 이미지를 중첩 표출하는 방법에 관하여 이번 기회에 본격적으로 소개를 해보고자 합니다. 먼저 DG 체계에서 지도를 표출하는 방식에 관하여 간략하게 언급을 하고 진행하는 것이 좋을 것 같습니다. DG 체계에서 지도의 표출과 관련된 기능들을 보면 MAP_SET, MAP_CONTINENTS, MAP_GRID, MAP_PROJ_INIT 등이 있습니다. 그런데 이러한 기능들을 활용..

IDL/Direct Graphics 2023.09.01

LCC 투영법 기반의 지도 외곽 및 격자선 처리 (DG 체계)

IDL에서 LCC(Lambert Conformal Conic) 투영법 기반의 지도를 표출하는데 있어서 외곽 부분을 직사각형의 형태로 처리하는 방법에 관한 게시물을 얼마전에 올린 바 있습니다. 여기서는 INSERT_GRID_LABELS_IN_LCC_MAP_NG라는 별도의 프로그램을 추가적으로 사용하여 예를 들면 다음과 같은 표출 결과를 얻을 수 있었습니다. 그런데 여기서 제시한 방법은 NG(New Graphics) 체계 기반으로 지도를 LCC 투영법으로 표출할 경우에 대한 것이었는데요. 그렇다면 DG(Direct Graphics) 체계에서는 어떨까요? 사실 DG 체계에서 LCC 투영법의 지도를 표출할 경우에도 외곽 부분이 부채꼴과 같은 형태를 띄는 것이 기본이긴 하지만, DG 체계에서도 위의 그림과 같이 ..

IDL/Direct Graphics 2023.08.22
728x90