반응형

전체 글 716

IDL 8.9 출시

IDL 8.9 버전이 ENVI 5.7 버전과 함께 출시되었습니다. 주요 내용은 다음과 같습니다. 1. 라이센싱 엔진이 이번 버전부터 새롭게 변경되었습니다. 2. 이제 ASDF(Advanced Scientific Data Format) 형식의 파일을 지원합니다. ASDF_PARSE 함수를 이용하여 ASDF 형식의 파일을 읽을 수 있고, ASDF_WRITE 명령을 이용하여 ASDF 형식의 파일을 생성할 수 있습니다. 3. 복소수(Complex Number)를 정의할 때 i, j를 사용하여 직관적으로 생성할 수 있게 되었습니다. 4. 2진수(Binary), 8진수(Octal), 16진수(Hexadecimal)를 직관적으로 정의할 수 있게 되었습니다. 이를 위해서는 숫자를 직접 표기하여 정의할 때 0b, 0o,..

IDL/General 2023.05.15

음수 범위를 로그 스케일(Log Scale)로 표시하기

IDL에서 플롯 계열의 표출을 하는데 있어서 축(Axis)의 눈금을 로그(Log) 스케일로 표시하는 기능은 이미 예전부터 지원되어오고 있습니다. NG 체계의 PLOT 함수 및 DG 체계의 PLOT 프로시저 모두 /XLOG 및 /YLOG 키워드를 사용하여 설정하면 됩니다. 간단한 예제를 하나 본다면 다음과 같습니다. x = FINDGEN(11) y = x*450+500 win = WINDOW(DIMENSIONS=[600, 500], /NO_TOOLBAR) p = PLOT(x, y, YRANGE=[100, 10000], /YLOG, YTICKUNITS='exponent', $ SYMBOL='circle', /SYM_FILLED, COLOR='crimson', CLIP=0, FONT_SIZE=10, $ MAR..

IDL/Programming 2023.04.25

배열 합치기(Array Concatenation) [2]

지난 회에서는 배열 합치기(Array Concatenation) 즉 배열과 배열을 합쳐서 더 큰 배열을 만드는 기법에 관하여 1차원 및 2차원 배열에 대한 방법들을 소개하였습니다. 오늘은 3차원 배열에 대한 방법을 소개해보고자 합니다. 아무래도 배열의 차원이 높아질수록 그 문법이 좀 더 복잡해지긴 합니다. 그러면 먼저 다음과 같이 4x5x3의 구조를 갖는 3차원 배열 a를 가정해봅시다. a = FIX(RANDOMU(-1, 4, 5, 3)*50) HELP, a PRINT, a 이러한 3차원 배열은 그 세부값들을 출력해보면 다음과 같이 각각의 층(XY 평면)별로 나타납니다. 4 5 45 28 39 26 39 38 0 14 48 25 29 34 7 34 45 8 27 32 49 41 20 38 16 23 9 ..

배열 합치기(Array Concatenation) [1]

오늘은 배열 합치기(Array Concatenation)에 관하여 살펴보고자 합니다. 이것은 어떤 배열이 있을 때 또 다른 배열을 합쳐서 더 큰 배열을 만드는 작업을 의미합니다. 이게 영문으로는 Concatenation이라고 하는데, 단어상으로는 '연결'이라는 의미이기도 합니다만, 여기서는 '합치기'라는 용어로 불러보겠습니다. 사실 배열과 배열을 합친다는 개념 자체는 그리 어려운 것은 아닙니다. 다만 그런 작업을 할 경우에 어떤 문법을 따라야 하느냐가 관건입니다. 특히나 차원이 높은 배열일 경우에는 그 문법이 복잡한 측면이 있습니다. 그러면 배열의 차원별로 알아보겠습니다. 1차원 배열의 경우는 그 과정이 비교적 단순한 편입니다. 먼저 다음과 같이 5개의 원소값들로 구성된 a라는 배열이..

HSV 및 HLS 체계 기반의 컬러테이블 생성 [2]

지난 회차에서는 IDL에 HSV 체계를 기반으로 컬러테이블을 생성하는 방법 및 예제들을 소개하였습니다. 오늘은 HLS 체계를 기반으로 컬러테이블을 생성하는 방법 및 예제들을 소개해보도록 하겠습니다. HLS라는 명칭의 이니셜들은 각각 Hue(색상), Lightness(명도), Saturation(채도)를 뜻합니다. 얼핏 보면 HSV와 비슷해보일 수도 있지만 분명한 차이가 있습니다. 일단 색상 및 채도의 개념은 HSV의 경우와 동일합니다. 하지만 명도의 개념이 서로 다르다는 점을 염두에 두면 좋을 것 같습니다. 먼저 색상의 경우는 컬러휠(Color Wheel)이라고 하는 마치 개별 색상들로 구성된 원형의 바퀴같은 형태로 구성되어 있는데, 각도 0~360도에 걸쳐 각각의 각도 값에 대하여 고유의 색상이 매칭되..

HSV 및 HLS 체계 기반의 컬러테이블 생성 [1]

IDL에서 컬러테이블(Color Table)을 사용하는데 있어서 원래 IDL이 기본적으로 지원하는 75종과는 별도로 사용자가 직접 커스텀 컬러테이블을 정의하여 사용하는 방법에 관해서는 제가 이 블로그를 통하여 여러 차례 소개해드린 바 있습니다. 그리고 이러한 작업에 있어서는 색상을 Red, Green, Blue 값으로 정의하는 RGB 체계를 기반으로 설명을 해왔습니다. 실제로도 RGB 체계가 가장 일반적이고 보편화된 색상 체계이긴 합니다. 그런데 RGB 이외에도 다른 컬러 체계들도 있는데, 바로 이번에 소개할 HSV 및 HLS 체계들입니다. 물론 컬러테이블을 만드는데 있어서 RGB 체계 기반으로도 충분하긴 하지만, HSV 및 HLS 기반의 방법도 나름의 특성과 장단점이 있습니다. 물론 IDL에서도 HSV..