IDL 8.8 / ENVI 5.6 Q&A (작성중:2020.08.18.)

IDL 8.8과 ENVI 5.6와 관련된 문의사항 중에 공유해야 될 내용에 대해 여기에 정리해 두고자 합니다. 당분간은 “(작성중)”이라는 제목을 유지하며 업데이트 해 나가겠습니다.

Q : IDL 8.8 Workbench의 Darkmode 는 어떻게 변경하나요?
A : IDL Workbench 메뉴에서 Windows > Preferences(맨 아래 있습니다)를 실행하고 Preferences 창에서 General 카테고리>Appearance를 선택합니다. 오른쪽에서 Theme를 Dark로 선택합니다(또는 다시 Light로 되돌릴 수 있습니다).

IDL Workbench의 Theme 변경
IDL Workbench(eclipse)의 Dark Mode

Q : ENVI Server가 무엇인가요?
A : ENVI에서 오랜 연산 시간이 걸리는 일을 실행할 때, ENVI는 그 일이 끝날 때까지 잠김 상태가 됩니다. 결국 동시에 실행할 수 있는 프로세스도 하나로 제한되며, 큰 계산을 하는 동안 ENVI는 다른 아무것도 할 수 없었습니다.
ENVI Server는 이러한 프로세스를 백그라운드로 실행할 수 있게 해 주는 장치입니다. 우리가 사용하는 익숙한 ENVI는 사용자와 Interaction이 필요한 일을 주로 수행하고(ROI 설정이나 Annotation같은 일), 빡센 연산은 ENVI Server로 보낸다는 것이 전략입니다.
ENVI Server는 ENVI Desktop과 같은 컴퓨터에 설치될 수도 있고(일반적으로 이렇게 합니다-이 경우 추가 라이선스가 필요하지 않습니다), 연산 성능이 빵빵한 컴퓨터에 ENVI Server를 구성할 수도 있습니다. ENVI Server가 부지런히 연산을 하는 동안 우리는 ENVI에서 다른 영상을 열어 조회하고 있을 수 있고, 여러개의 일을 백그라운드로 실행시켜 병렬처리할 수도 있습니다.(컴퓨터 리소스를 충분히 활용한다는 의미가 있습니다). ENVI Server 실행이요? 간단합니다. 아래 그림을 보세요.

실행 시작을 의미하는 OK 버튼 왼쪽으로 Run Task in the Background 옵션이 있습니다. 이걸 실행하면 ENVI Server로 일을 보냅니다.

Q : ENVI Server는 운영체제에 무관하게 설치할 수 있나요?
A : 현재는 Windows와 Linux에서만 ENVI Server를 설치할 수 있습니다. 이는 아래에 다루는 GSF가 Windows용과 Linux 용만 존재하기 때문입니다. Mac OS X는 앞으로 점차 Desktop OS로만 발전해 가는 방향성이 보이고 있어, 앞으로도 Mac OS X용 ENVI Server 또는 GSF를 볼 가능성은 높지 않아 보입니다.
ENVI Desktop에서 다른 컴퓨터에 설치된 ENVI Server에 작업을 보내고자 할 경우라면, ENVI Desktop과 ENVI Server가 같은 운영체제에서 운영 중이어야 합니다. 리눅스는 리눅스 끼리, 윈도우즈는 윈도우즈 끼리…

Q : GSF가 무엇인가요?
A : GSF(Geospatial Service Framework)는 ENVI의 프로세스를 서비스 형태로 제공하기 위한 제품입니다. GSF의 앞쪽(우리에게 보이는 쪽)은 웹서비스이고, 안쪽(내부적으로 하는 일)은 ENVI Task Engine을 컨트롤하는 일입니다.
예를들어, 누군가 웹페이지를 만들고, 거기에서 영상을 선택하고, 대기보정을 하거나 PanSharpening을 하는 웹서비스를 구축했다면, 그 웹서비스에서 실행 버튼을 눌렀을 때, GSF로 그 정보를 보내게 되고, GSF가 현재 ENVI Task Engine의 운영 상황을 판단하여 바로 일을 시작할지, 조금 기다렸다가 일을 시작할지 등을 관리하고, 생성되는 결과도 관리합니다. GSF만 놓고 보자면 ENVI 세계에서는 새로 개발된 것이 아니라 기존에 있던 제품입니다.
다만, ENVI 5.6부터는 ENVI Desktop(우리가 늘 쓰는 그 ENVI)에서 GSF로 이러한 작업 지시를 보내고 GSF에서 처리한 작업 결과를 가져오는 기능을 구현해 놓은 것입니다.

Q : ENVI 5.6에서 GSF를 설치하지 않으면 어떻게 되나요?
A : ENVI 서버가 필요하지 않다면 GSF는 설치하지 않아도 괜찮습니다. 그렇게 쓸 계획인 사용자도 많이 있습니다. 기존에 사용하던 ENVI와 똑같이 사용하는 데에 전혀 문제가 없습니다. GSF 가 설치되지 않았다면 ENVI Server의 기능을 사용하지 못한다는 제약이 있을 뿐입니다. 실수로 ENVI Server Background 실행을 시도한다고 해도 간단한 에러메시지(“GSF가 없어요”)를 낼 뿐, 다시 ENVI Desktop 모드로 실행하면 됩니다.

GSF를 설치하지 않은 채로 ENVI Server 백그라운드 실행을 시도

Q : 일부 도구 중에는 연산 시간이 많이 걸리는 작업임에도 ENVI Server 실행 옵션이 없는 경우가 있습니다.
A : 예를 들어, ENVI의 Classification 도구들에는 ENVI Server 실행 옵션이 없습니다. Gram-Schmidt Pan Sharpening의 경우에도 ENVI Server 실행 옵션이 없습니다. 그런데 NNDiffuse Pan Sharpening 도구에는 ENVI Server 실행 옵션이 있고… NNDiffuse Pan Sharpening은 GUI가 Task 체계에 맞추어 만들어졌기 때문입니다.
그렇기 때문에 해결책은 사실 간단한데, ENVI Toolbox에서 Task Processing 카테고리에 있는 Run Task를 이용하여 실행하면 됩니다. GUI는 약간 다르지만 입력 정보와 실행 알고리즘, 출력 정보는 완전히 같습니다. 여기서 실행하면 ENVI Server 실행 옵션을 사용할 수 있습니다.

기존의 Gram-Schmidt Pan Sharpening(왼쪽)에는 ENVI Server 실행 옵션이 없지만(좌측), Run Task에서 Gram-Schmidt Pan Sharpening을 실행하면 ENVI Server 실행 옵션이 있습니다(우측)
기존의 Maximum Likelihood 분류도구에서는 ENVI Server 실행 옵션이 보이지 않습니다(왼쪽). Run Task에서 실행하는 Maximum Likelihood 분류 Task에서는 ENVI Server 실행 옵션이 있습니다(오른쪽)

이 외에도 ENVI Modeler에서도 ENVI Server 실행을 할 수 있고, IDL 코딩으로도 ENVI Task를 ENVI Server Task로 실행할 수 있기 때문에, 사실상 시간이 많이 걸리는 모든 ENVI 연산은 ENVI Server에서 실행할 수 있는 셈입니다.

ENVI 도구 모음에서 Task Processing > Run Task를 실행하면 위의 창이 열립니다. 이 안에 사실 거의 모든 도구들이 Task단위로 재포장 되어 있습니다.

Q : SARscape도 ENVI Server 실행이 가능한가요?
A : 공식적으로 SARscape를 ENVI Server에서 실행할 수 있다는 문서는 아직 없는 것 같습니다. SARscape의 새 버전이 나올 때 공식적인 지원을 언급하게 될 것 같습니다. 다만 앞의 예와 같이 Run Task 에서 SARscape를 실행하면, Run Task in the Background 옵션을 사용할 수 있습니다.

PSInSAR의 ENVI Server 실행 옵션