배열을 수정하는 함수들

IDL을 사용하다보면 배열을 이용하는 경우가 많이 발생합니다. 그런데 파일에서 배열을 읽는다거나 했는데 배열의 순서나 방향등이 마음에 안드는 경우도 생기고, 혹은 배열을 순서대로 정리해야하는 경우도 생기지요. 오늘은 이런 상황에서 유용하게 쓰일만한 함수들을 소개하고자 합니다. 우선 처음으로 보게될 함수는 SORT입니다. 이 함수를 이용하면 배열내의 숫자를 크기별로 정렬할 수 있습니다. 아 실제로 정렬하는 건 아닙니다. 한번 코드부터 보도록 …

Continue reading ‘배열을 수정하는 함수들’ »

Repeat의 이용

여러분 모두 안녕하세요. 이번 6월은 매우 더운데 다들 지치시지는 않는지 걱정이네요. 오늘 여러분께 드릴 팁은 조건식에 따라서 반복할 수 있는 반복문 REPEAT입니다. for문을 이용해서 반복문을 이용하는게 가장 안정적이지만, 그래도 반복횟수는 모르는데 반복의 조건을 알고있다면, REPEAT문이 더욱 유용하게 쓰일 겁니다. C언어에서는 while문 같은 구문입니다. 우선 간단히 보자면,

간단히 구성을 보자면, 기본적으로 ‘repeat’는 ‘until expression‘ 을 …

Continue reading ‘Repeat의 이용’ »

TVRD함수 활용하여 그림 저장하기

오늘은 Direct graphics에 관련된 이야기를 해보고자 합니다. window창을 띄우고 그 그림이나 그래프를 저장하는데 있어서 상당히 다양한 방법을 이용하실텐데요. 오늘은 그 중에서도 IDL에 존재하는 함수를 이용한 방법을 소개하고자 합니다. 제목에서 나와있는 것 처럼 tvrd함수를 이용하는 것입니다. 이 글을 작성하는 저 같은 경우에도 Direct graphics를 이용해서 작업할 땐 주로 캡쳐하는 방법을 많이 이용했는데, 이러한 매우 근본적인 방법이 …

Continue reading ‘TVRD함수 활용하여 그림 저장하기’ »

IDL의 시스템 값들

IDL에서는 다양한 시스템 값들을 지원하고 있습니다. 저같은 경우 처음 배웠던 값이 !dtor이었는데요. 이러한 시스템 값들의 특징이라면 앞에 ! 표시를 달고 시작한다는 점입니다. 제가 저번에 올렸던 포스팅에서도 !path라는 시스템값을 이야기 했었습니다. 이러한 시스템변수는 help에서 Index를 누르시면 윗부분에 있는 ! character 밑에 줄줄히 소개되어 있습니다. 그래도 한번 각 시스템 값에 대한 이야기를 잠시 해보도록 하지요. 많이 쓰일 …

Continue reading ‘IDL의 시스템 값들’ »

file_search()와 file_which()함수

원래라면 file_search()함수만 소개할까 했지만, 워낙 내용이 적은 관계로 file_which()함수도 같이 소개해보고자 합니다. 파일을 다루기 위해서는 꽤나 중요하게 이용할 수 있을 겁니다. 우선 file_search()함수는 이름 그대로 파일을 찾는 함수입니다. 기본적으로 작업공간의 디렉토리에서 검색을 하며, 디렉토리를 입력하면 그 디렉토리에서 파일을 찾아줍니다. 다음과 같이 간단하게 함수의 이용을 알아볼 수 있습니다.

위의 예제에서는 IDL의 lib폴더내에 있는 .pro파일을 검색하는 …

Continue reading ‘file_search()와 file_which()함수’ »

Call by Value와 Call by Reference

다른 언어에 비해서 IDL에서는 Call by Value와 Call by Reference를 명시적으로 분류하지는 않고 있습니다. 이 때문에 함수에 쓰이는 인수가 함수의 작동이 끝나도 제대로 변환되어 있지 않는 경우도 있습니다. 이번 포스팅에서는 이 Call by Value와 Call by Reference를 비교해보고 IDL에서는 어떻게 쓰이는지 알아보고자 합니다. C나 C++에서는 기본적으로 함수를 작성할 때 Call by Value와 Call by Reference를 명시적으로 구분해서 사용했습니다. …

Continue reading ‘Call by Value와 Call by Reference’ »

ASSOC함수의 사용

안녕하세요 에스이랩의 막내 김종현입니다. 처음 포스팅은 정신이 없어서 소개도 없이 지나갔는데요. IDL이 주는 아니지만, 공부 많이해서 더 많은 정보를 나눌 수 있도록 노력하겠습니다. 그럼 시작하겠습니다!! ASSOC함수는 파일을 읽어서 이를 배열이나 구조체로 읽어오는 함수입니다.  기본적으로 동일한 작업은 READU같은 함수를 이용하여 사용하였지만,  이 함수를 통해서는 좀 더 다양한 작업을 할 수 있습니다. 이번 내용에서는 간단하게 BMP파일을 ASSOC함수로 …

Continue reading ‘ASSOC함수의 사용’ »

PLOT procedure를 대체하는 PLOT function

8.0버전 이전의 IDL을 쓰시던 많은 분들이 PLOT을 사용할 때 다음과 같이 프로시저를 통해서 사용하였습니다.

하지만 8.0버전의 IDL의 경우 새로 PLOT function이 생겼습니다. 이에 따라서 PLOT은 다음과 같이 사용이 가능합니다.

그래프와 배경의 색만 반전한 느낌의 그래프입니다.여기까지 본다면 프로시저와 함수의 차이가 없다고 생각되겠지만, PLOT함수는 PLOT프로시저에 비해 많은 기능을 주고 있습니다.Plot창이 떠있는 상태에서 다음과 같은 스크립트를 …

Continue reading ‘PLOT procedure를 대체하는 PLOT function’ »