SMALL

IDL/Data Type & Format 35

클래스 기반 문법에 의한 변수 및 배열 처리 [1]

오늘은 IDL에서 변수 또는 배열을 일종의 클래스(Class) 기반의 문법으로 처리하는 개념에 관하여 간략하게 살펴보고자 합니다. 이러한 개념은 IDL 8.4 버전에서부터 도입되기 시작하였습니다. 이것은 단일값 변수 및 배열과 같은 항목 자체를 마치 하나의 객체(Object)처럼 취급하면서 그것에 대한 다양한 속성(Attribute)들의 확인 또는 메서드(Method) 형태의 명령을 적용하여 여러가지 처리를 할 수 있도록 해주는 개념으로 이해하면 됩니다. 물론 이러한 원론적인 설명만으로는 좀 부족할 것 같고 관련 예제들을 통해서 그 개념을 이해하는 것이 더 좋을 것 같습니다. 일단 다음과 같이 단일 정수형 값을 포함하는 변수를 정의합니다. IDL> var = 47 이러한 변수 var에 대하여 몇가지 속성..

ASDF 형식 파일의 생성 및 읽기

ASDF(Advanced Scientific Data Format)는 주로 천문학 분야에서 이미지 및 데이터의 교환을 위하여 많이 사용되어왔던 FITS 표준을 대체하는 역할로서 최근들어 많이 사용되고 있는 데이터 형식입니다. 제임스웹 우주망원경(James Webb Space Telescope)의 데이터 처리 파이프라인에서도 사용되고 있기도 합니다. 따라서 이러한 형식의 데이터 파일을 생성하거나 읽는 기능을 여러 프로그래밍 언어들에서 이미 지원하고 있는데, IDL의 경우도 8.9 버전부터 ASDF 형식의 파일 생성 및 읽기 기능을 지원하기 시작하였습니다. 얼마전에 IDL 8.9의 출시에 관한 게시물을 통해서도 간략하게 언급을 한 바 있는데요. 오늘은 IDL에서 ASDF 파일을 생성하고 읽는 방법에 관하여 ..

SER 포맷의 파일 읽기

SER 포맷은 천문관측 소프트웨어인 SharpCap에서 생성되는 일종의 비디오 파일 형식입니다. 즉 여러 장의 사진들을 묶어서 동영상의 형태로 합쳐놓은 방식으로서 종종 AVI 포맷과도 비교가 됩니다. 이러한 포맷은 SharpCap 이외에도 Lucam Recorder, SIRIL, PIPP 등과 같은 천문관측 이미징 소프트웨어들에서도 지원됩니다. 이러한 SER 포맷의 파일을 IDL에서 읽을 수 있을까요? 일단 IDL에서 기본적으로 지원되는 각종 파일 형식들 중에는 SER 포맷은 포함되어 있지는 않습니다. 하지만 기본 지원되지는 않더라도 IDL에서 SER 포맷의 파일을 읽는 것은 가능합니다. 왜냐하면 SER 포맷의 파일은 기본적으로 바이너리(Binary) 파일이고 그 안에 어떤 형식으로 데이터들이 저장되어있..

문자->숫자 변환 및 유의사항

우리가 작업을 하다보면 값의 자료형(Data Type)을 변환해야 하는 경우들이 종종 있습니다. 오늘은 그 중에서도 문자를 숫자로 변환하는 경우를 보고자 합니다. 특히 겉으로 보기엔 숫자이긴 하지만 실제로는 문자형으로 존재하는 값을 숫자로 변환하는 경우입니다. 예를 들면 다음과 같습니다. a = '37' b = FIX(a) HELP, b PRINT, a 이와 같이 a는 '37'이라는 문자형 값인데 FIX 함수를 사용하여 정수형 값으로 변환하는 경우입니다. 이 과정을 IDL 커맨드 입력창에서 실행해보면 결과는 다음과 같습니다. IDL> a = '37' IDL> b = FIX(a) IDL> HELP, b B INT = 37 IDL> PRINT, b 37 이와 같이 37이라는 정수형 값으로 변환된 것을 알 수..

IDL의 폰트 체계 및 활용 [3] Device Font

IDL에서 그래픽 표출 작업을 하면서 그림과 함께 문자들을 표시하는 경우가 상당히 많습니다. 주로 알파벳, 숫자 및 각종 기호들을 표시하게 되는데요. 이 때 적용 가능한 폰트(Font)들의 종류도 꽤 많습니다. IDL에서 지원되는 폰트들의 체계를 보면 크게 다음과 같은 3종의 카테고리들로 나눠집니다. 1) 허쉬 벡터 폰트 (Hershey Vector Font) 2) 트루타입 폰트 (True Type Font) 3) 디바이스 폰트 (Device Font) 그래서 각 카테고리에 대하여 순차적으로 소개를 하고 있는데, 허쉬 벡터 폰트 및 트루타입 폰트 두 종류에 관해서는 관련 게시물을 이미 올린 바 있습니다. 그런데 관련 작업을 계속 하다보니 디바이스 폰트에 관한 소개도 바로 가능하게 준비가 되었습니다. 그래..

IDL의 폰트 체계 및 활용 [2] True Type Font

IDL에서 그래픽 표출 작업을 하면서 그림과 함께 문자들을 표시하는 경우가 상당히 많습니다. 주로 알파벳, 숫자 및 각종 기호들을 표시하게 되는데요. 이 때 적용 가능한 폰트(Font)들의 종류도 꽤 많습니다. IDL에서 지원되는 폰트들의 체계를 보면 크게 다음과 같은 3종의 카테고리들로 나눠집니다. 1) 허쉬 벡터 폰트 (Hershey Vector Font) 2) 트루타입 폰트 (True Type Font) 3) 디바이스 폰트 (Device Font) 그래서 각 카테고리에 대하여 순차적으로 소개를 해보고자 하는 포부를 갖고 관련 게시물들을 올려볼까 합니다. 다만 이번 기회에는 허쉬 벡터 폰트 및 트루타입 폰트 두 종류에 관하여 주로 소개를 하고, 디바이스 폰트는 일단 보류했다가 좀 더 나중에 기회가 되..

IDL의 폰트 체계 및 활용 [1] Hershey Vector Font

IDL에서 그래픽 표출 작업을 하면서 그림과 함께 문자들을 표시하는 경우가 상당히 많습니다. 주로 알파벳, 숫자 및 각종 기호들을 표시하게 되는데요. 이 때 적용 가능한 폰트(Font)들의 종류도 꽤 많습니다. IDL에서 지원되는 폰트들의 체계를 보면 크게 다음과 같은 3종의 카테고리들로 나눠집니다. 1) 허쉬 벡터 폰트 (Hershey Vector Font) 2) 트루타입 폰트 (True Type Font) 3) 디바이스 폰트 (Device Font) 그래서 각 카테고리에 대하여 순차적으로 소개를 해보고자 하는 포부를 갖고 관련 게시물들을 올려볼까 합니다. 다만 이번 기회에는 허쉬 벡터 폰트 및 트루타입 폰트 두 종류에 관하여 주로 소개를 하고, 디바이스 폰트는 일단 보류했다가 좀 더 나중에 기회가 되..

2진법/8진법/16진법의 사용법

우리가 일반적으로 사용하는 숫자값들은 10진법(Decimal) 기반인 경우가 대부분이지만, 경우에 따라서는 2진법(Binary), 8진법(Octal), 16진법(Hexadecimal) 등의 형태로 값을 취급해야 하는 경우들도 종종 있습니다. 아무래도 가장 기본적인 것은 2진수, 즉 흔히 비트(Bit)라고 하는 형태입니다. 어차피 컴퓨터의 CPU 회로가 값을 인식하는 방식이 이것이기 때문입니다. 어쨌든 2/8/16진수의 처리라든지 진법들 사이의 상호 변환 등과 같은 여러가지 관련 작업들이 IDL에서 가능합니다. 다만 그에 따른 문법과 관련 처리법들이 따로 있기 때문에 이러한 방법들에 대한 이해가 필요합니다. 특히 비트의 형태로 값을 다루는 방법들, 즉 비트 연산, 비트 이동, 비트 추출 등과 같은 작업들 ..

HDF-EOS 형식의 파일 읽기

HDF-EOS(Hierarchical Data Format - Earth Observing System)는 Terra, Aqua, Aura 등과 같은 EOS(Earth Observing System) 위성들의 자료들의 표준 포맷입니다. 사실 HDF-EOS 포맷도 근본적으로는 HDF의 범주에 속합니다. 다만 HDF-EOS의 경우는 자유로운 HDF 포맷의 일부 형식을 강제하는 대신 EOS의 특성에 맞게 지구과학적 자료를 저장하고 접근하는 데 편리하도록 특화되어 설계되어 있습니다. HDF-EOS 포맷도 근본적으로는 HDF 포맷이기 때문에 IDL에서도 이러한 파일을 다루는데 있어서 HDF 관련 루틴들을 사용하는 것도 가능은 합니다. 하지만 IDL에서는 HDF-EOS 포맷의 데이터 처리를 위한 전용 라이브러리가 ..

HDF5 형식의 데이터 파일 읽기

HDF 형식은 산업 및 과학 분야에서 널리 사용되어온 파일 형식으로서 그 이름(Hierarchical Data Format)에서 알 수 있듯이 데이터를 계층적 구조의 형태로 저장하는 것이 핵심이라고 볼 수 있습니다. 특히 다양한 종류의 대용량의 데이터들을 한꺼번에 저장하거나 또는 추출하는데 있어서의 편의성과 속도, 그리고 플랫폼에 상관없이 유저들간의 교환이 용이하다는 등의 장점들을 갖고 있기 때문에 다양한 분야에서 널리 사용되어오고 있는 형식이기도 합니다. 원래 예전에는 HDF라는 형식으로 널리 사용되었지만, 최근 들어서는 여러가지 개선점들이 반영된 HDF5라고 하는 새로운 형식이 널리 사용되고 있습니다. 즉 HDF와 HDF5는 서로 다른 형식입니다. 물론 이러한 형식에 대한 정확한 식별은 파일명의 확장..

728x90