РУКОВОДСТВО ПО IDL для астрономов

original:http://www.astro.virginia.edu/class/oconnell/astr511/IDLguide.html

ВЕРСИЯ: Февраль 2012

Содержание

    I. Введение

        1. Основные возможности IDL
        2. IDL в контексте
        3. IDL пакетов приложений
        4. Окружающей среды IDL
        5. IDL Ограничения
        6. Демонстрации, учебные материалы, программное обеспечение список

    II. Руководство по обработки изображения с IDL

        1. Запуск и остановка IDL
        2. Помогите
        3. Выполнения программы
        4. Данных и поиска изображений
        5. Воспроизведение изображения
        6. Данные инспекции и манипуляции
            Показать ATV изображения и инспекции инструмент
        7. Данные и изображения хранения
        8. Изображение Фотометрия
        9. Доступ к базе данных
        10. Земельные участки
        11. Графика Hardcopy
        12. IDL Советы и неприятности

    III. Приложения

        Приложение: IDL установки
        Приложение B: Пример настройки окружающей среды
        Приложение C: MOUSSE запуска Пример файла
        Приложение D: X-Windows Notes


I. ВВЕДЕНИЕ


В разделе I настоящего руководства для тех, кто не знаком с IDL или которые пытаются решить, следует ли принять его. В разделах II и III предназначены для пользователей. Хотя примеры взяты из приложения в астрономии, большая часть руководства является достаточно общей, чтобы быть полезным для работников медицинских изображений, геофизике и других областях, в которых IDL хорошо подходит.

1. Основные возможности IDL

[Вверх к содержанию]

Interactive Язык данных (IDL) является собственной системой программного обеспечения, распространяемого Exelis Visual Information Solutions, Inc (http://www.exelisvis.com), первоначально Systems Research, Inc IDL выросли из программ, написанных для анализа данных НАСА миссии, такие как Mariner и Международного проводник ультрафиолета. Поэтому ориентированные на использование ученых и инженеров в области анализа одно-, двух-или трехмерных наборов данных. Exelis утверждает более 150000 пользователей.

IDL в настоящее время доступна для Linux, UNIX / Solaris, Windows, Macintosh и версий. Драйверы устройств IDL доступны для большинства стандартных аппаратных средств (терминалов, изображения дисплеев, принтеров) для интерактивного отображения изображения или графические данные.

IDL это не просто комплекс целенаправленных процедур в стиле астрономических систем программного обеспечения, таких как Ирафского или CIAO. Напротив, это действительно компьютерным языком, легко понятным любому компьютеру грамотных пользователей. Он предлагает всю мощь, универсальность и возможность программирования на языках высокого уровня, как FORTRAN и C. Но она включает в себя три специальные возможности, которые необходимы для современного анализа данных:

    интерактивность,

    графический дисплей и

    Массив-ориентированной работы. (IDL является массив ориентированных в том смысле, что массивы можно ссылаться без использования индексов или сделать циклы и код автоматически векторизация для быстрого вычисления массива.)

Пользователи, которые знакомы с FORTRAN, C, C + + или других языках высокого уровня будет иметь небольшие проблемы понимания IDL. Его синтаксис и эксплуатации ясны, разумно и удобно (наиболее близок к FORTRAN в). Потому что это интерактивное, изучая IDL через он-лайн проб и ошибок быстро.

IDL позволяет ученым лучше понять и контроль расчетов и анализа данных, в силу большого числа специальных функций:

        быстрого реагирования и итерации
        немедленный доступ ко всем переменным (хранится в оперативной памяти),
        немедленный доступ ко всем исходным кодом (за исключением Exelis написаны собственные процедуры),
        оптимизированных операций над массивами,
        динамических переменных ввода и распределения памяти,
        по требованию компиляции и компоновки подпрограмм,
        универсальный встроенный в заговоре и графических процедур,
        интерактивная сессия журнал учета,
        Команда вызова / редактирование,
        командные сценарии,
        структуры данных,
        гибкие спецификации параметров в подпрограмму вызовов,
        структурированный синтаксис,
        полная интеграция с Windows-систем,
        поддержка всех распространенных научных ввода / вывода протоколов,
        widgit (GUI) и объектно-ориентированного программирования, а также
        большой набор математических, анализ данных, и специальные интерактивные процедуры полезности.

Функциональное описание IDL можно найти на http://www.exelisvis.com/portals/0/pdfs/idl/IDL7_FuncSumm.pdf. Больше истории, фон и контекст могут быть найдены в http://en.wikipedia.org/wiki/IDL_ (programming_language). Описание IDL командной строки среды с точки зрения пользователя, приведен ниже.

Восемь версии IDL появились на сегодняшний день. Версия 8.1 является последней.


2. IDL в контексте

[Вверх к содержанию]
Какую роль играют IDL в контексте других программ доступны для астрономов?

FORTRAN, C или C + + не может удовлетворительно служить необходимость индивидуальных пользователей для интерактивного анализа данных, поскольку они не обеспечивают стандарт интерактивной среде с помощью прилагаемого графика драйверов устройств.

Обработки данных и отображения программного обеспечения, с которой большинство астрономов знакомы, в том числе Ирафского, STSDAS, АСМП, AIPS + +, CIAO, MIDAS и SUPERMONGO, состоит в основном из коллекции специализированной, целенаправленной процедуры. Они являются интерактивными и графики ориентированных, но они работают только в предварительно скомпилированных форму, которая предлагает пользователю мало возможностей для обновления или настройки. Учредительные процедуры функционировать как "черные ящики" и не предоставляют пользователю легко понятным доступ к внутренней работе. Эти пакеты могут быть выполнены из сценариев, но они не предназначены в качестве основы написанных пользователем приложений. Они достаточно сложны, что профессиональные программисты, необходимых для поддержания и укрепления их. Они медленно корректировать с требованиями пользователя. С другой стороны, не только IDL обеспечивают большую прозрачность, гибкость и эффективность, но и всей компьютерной грамотностью сообщество пользователей может быть обращено на расширение и совершенствование IDL приложений.

    Для этих задач (например, CCD обработки данных), где больших астрономических пакетов сокращение или отдельных утилит, таких как DAOPHOT или SExtractor предлагают мощные, надежные и удобные пакеты для стандартных астрономических приложений, эти системы выбора. IDL не следует рассматривать в качестве альтернативы есть. Вместо этого следует использовать в качестве средства преодоления пробелов в этих пакетов и расширение их возможностей.

Сравнение с другими популярными системами:

    Mathematica, Maple, MATLAB и обеспечивают мощные интерактивные возможности для математических вычислений и отображения. Первые два из них также предлагают символические манипуляции и уравнение решения проблем, которые IDL нет. Однако эти системы в большей степени ориентированы на математическом анализе, чем анализ данных. Они предлагают меньше возможностей, чем IDL для отображения и обработки изображений, и они являются менее универсальным для пользователей написанные программы и подать I / O. Они предлагают ни один из специализированных утилит необходимых астрономов (например, ПОДХОДИТ изображения и таблицы файлов ввода / вывода, системы координат и астрометрии, фотометрии и спектроскопии пакеты, исчезновение законов и K-поправки, databasing и т.д.). Для яблоки с яблоками сравнения этих четырех систем в различных приложениях см. в Университете Колорадо прикладной математики страница (http://amath.colorado.edu/computing/mmm/).

    SUPERMONGO и PGPLOT широко используются пакеты для создания графических дисплеев ранее вычисленных данных. IDL предлагает сопоставимых возможностей, но в связи с полностью программируемым, язык высокого уровня, так что вычисление, обработку данных и отображения одновременно доступны.

Внутренние возможности IDL в сочетании с его обширной библиотеки пользовательского кода значительно повысить эффективность ученого.

    Новые возможности могут быть добавлены с помощью IDL в малую часть времени, которое потребуется, чтобы сделать программирование в эквивалентной (неизбежно "слепой") неинтерактивном языков или пытаясь обойти ограничения Ирафского, MATLAB, и т.д. Без оставляя IDL, тест наборов данных могут быть созданы и отображены, и программы могут быть написаны, выполненный, отлаженный и пересмотрены с высокой эффективностью. IDL код может быть записан в качестве лишь 1/5 времени эквивалентного FORTRAN или С.

    Встроенный в журнале учета и команды вызова / редактировать особенностями IDL так важны для эффективного и надежного анализа данных, что является загадкой, почему большинство других астрономических программных пакетов не предлагают их.


3. IDL пакетов приложений

[Вверх к содержанию]

Благодаря универсальности в IDL, транспортабельность и простота в использовании, есть большие, написанные пользователем, публичная библиотека программных интерактивных IDL, в настоящее время более 10000 программ.
Многие астрономии ориентированные подпрограммы IDL и пакеты находятся в общественном достоянии.

    Досрочное IDL были написаны в Goddard Space Flight Center для анализа изображений и двумерных спектров в поддержку Международного проводник ультрафиолета, Astro, Hubble Space Telescope (GHRS и ИППП), и других космических миссий.

    Другие пакеты были написаны группы, связанные с Sloan Digital Sky Survey, Чандра, ROSAT, COBE, Ферми, GRO, HST / NICMOS, HST / ACS, SOHO, ISO, космического телескопа Спитцера, Green Bank (Radio) телескопа, Долина Оуэнс радио обсерватории субмиллиметровом Array, Лос-Аламосе, Ливерморской и NRL, в частности. Существует также большое количество связанных дистанционного зондирования, медицинских, геофизических и экологических исследований IDL программного обеспечения. Эти пакеты содержат много программ, представляющих общий интерес (например, статистический анализ, databasing), а также специальные функции.

    В отличие от Ирафского, STSDAS и АСМП, нет центральной точки распространения для "уполномоченных" IDL программного обеспечения, кроме Exelis поставляемых внутренней языка IDL. Тем не менее, ни же нужно зависеть от небольшой группы экспертов программистов, чтобы исправить ошибки, объяснить работу программы, либо предоставить новые возможности.

    В силу публично-доступных приложений, которые охватывают спектр от EM гамма-излучения в радиодиапазоне, IDL стала ближе всего к «универсальной» астрономические системы анализа данных.

Код IDL источника пакетов приложений будут автоматически доступны, так что пользователь может использовать процедуры, как написано или, наоборот, легко модифицировать их компонентов (как можно было бы FORTRAN подпрограмм), чтобы настроить их.

IDL идеально подходит для обмена программным обеспечением через Интернет. Потому что без предварительной компиляции не требуется, установка нового пакета, например, это просто вопрос сдачи ASCII исходные файлы на вашем пути IDL.

Кросс-платформенной разработки IDL гарантирует, что вы можете спокойно переносить код между средами (например, с рабочего стола ОС Solaris на ноутбук Macintosh).

C или FORTRAN программы могут быть выполнены из IDL и обмен данными между системами.

Для примера IDL вычислительных и графических приложений, запуск idldemo демонстрации с командной строки.

См. ниже для источников кода IDL приложениях.


4. СРЕДА IDL

[Вверх к содержанию]
Как только вы начинаете IDL и начать печатать на вашей консоли, вы общаетесь с главным уровне сколь угодно больших компьютерных программ, над которыми у вас есть (почти) полный контроль.

    По мере ввода, каждая строка интерпретируется и немедленно казнен. Вами команд похожи на тех, кто в FORTRAN или С программой, основное отличие в том, что каждая строка должна стоять в одиночестве (вы не можете, к примеру, возвращаемся к ранее команды).

    Вы можете динамически создавать, изменять или удалять данные элементы. В отличие от FORTRAN и C, вам не нужно указывать переменную характеристики заранее. Память расширяется по мере необходимости для сохранения новых переменных. Все распространенные типы элементов возможно на других языках (например, байт, целое число двойной точности с плавающей точкой, строки, логические, массивы из 1-D 8-D, сооружения) имеются.

    Вы можете командовать массив операций без ссылки на индексы (например, pix_3 = pix_1 + pix_2), а код будет автоматически векторизация для быстрого выполнения.

    У вас есть прямой доступ к:

        Полная математическая функциональность других языках высокого уровня, как FORTRAN и C.

        Большой набор утилит для графических дисплеев на вашем компьютере терминал (изображения, графики, анимации, графического интерфейса).

        Утилиты для входного файла / вывода в различных форматах, соответствующих стандартных принтерах и других вспомогательных устройств. IDL опоры ПОДХОДИТ, а также все стандартные форматы файлов изображений (например, JPEG, GIF, PNG), он также поддерживает анимацию.

        Большой набор мощных математических средств. Например, большинство функциональных возможностей вычислительной Рецепты доступны.

        Большой набор специальных функций, чтобы помочь смысле мгновенное состояние ваших программ, имеют дело с обработкой ошибок, а в противном случае оптимизации интерактивная среда вычислений.

    Существует сложная он-лайн справочная система.

    Вы можете выполнить ранее записанные файлы команды в форме «основной программы» или «процедуры» (подпрограммы). Они могут использовать весь арсенал программирования структуры (петли, блоки, общие блоки и т.п.) других языках высокого уровня.

    С помощью одной команды, вы также можете выполнить "скрипты" --- файлы, которые содержат списки команд, аналогичных тем, которые вы должны ввести дюйма

    Сценарии и процедуры могут быть легко созданы путем копирования из интерактивной сессии, с помощью встроенного в IDL журнал полезности.

    Вы можете сохранить результаты интерактивного вычисления в любое время во время сессии в различных формах, все подходящие для ввода последующих сессий IDL или других программных пакетов. Мгновенный, формат без сохранения данных (и программ) в сессии можно с помощью команды IDL сохранения.

    Вы можете выполнять IDL от стандартного X-Window ("командной строки" режим), или вы можете ссылаться на более сложные GUI называется "IDL Workbench", которая предлагает целый ряд полезных подокна и мышью, команд контекстного меню. Если вы хотите, вы можете запрограммировать собственные приложения с графическим интерфейсом.

Люди, которые знакомы с Ирафского, CIAO или AIPS сразу поймут основных новых функций в среде IDL.

    Большинство расчетов с этих пакетов начинаются и заканчиваются данные хранятся в виде файлов, артефакты той эпохи, когда компьютеры были ограничены объемом памяти случайного доступа. Большинство команд, поэтому предполагают использование громоздких имен файлов.

        В отличие от всех активных данных в IDL, как правило, хранятся в оперативной памяти, где имеет непосредственный доступ и может рассмотреть, управлять, переименовать или изменить их по своему желанию, без передачи файлов.

        Это имеет важные дополнительные преимущества, которые IDL программистам не нужно беспокоиться о файле форматирования результатов промежуточных вычислений и потребляют массу памяти для их хранения.

    IDL передает "практический" чувствовать, и соответствующего уверенность, что вы знаете (или может узнать), что происходит, это в значительной степени отсутствует в этих других систем.

    Синтетический тест наборы данных могут быть быстро созданы для интерактивного реальность проверки выполнения программы.

    Подпрограмма параметров и "ключевые слова" заменить на более рациональный путь, "параметр-набор" файлов, занятых в Ирафского-подобных систем. Это increaes эффективности для опытных пользователей, но при отсутствии входного параметра запрос может быть неприятной для новичков.

    С помощью встроенной утилиты IDL журнал, вы можете сохранить точный отчет о ваших команд и ответов на IDL ... что делает его более вероятно, что ваша работа действительно воспроизводимыми.

    С помощью встроенного в IDL команды вызова / редактирование функции, она тривиальна для перебора команд, тем самым снижая опечатки, облегчая изучение пространства параметров, и ускорить повторяющиеся задачи.

        Это позволяет быстро, интерактивное создание специального назначения "отзыва на основе мини-сценарии» вместо написания внешних программ (например, для вывода графики).

    В отличие от большинства других пакетов, астрономии, которые требуют обширной предварительной компиляции и связи программных компонентов, новый IDL программы могут легко быть включены во время интерактивного сеанса.

        Вы можете создать новые возможности в виде подпрограммы, так быстро, как вы можете думать и введите, а затем связать его в свой интерактивный сеанс с одним. Команды пуска.

        Даже новички оценят легкость, с которой ускоритель команд или сценариев может быть изготовлена ​​для ускорения рутинных задач.

    Кроме того, вы можете загрузить и сразу же начать использовать IDL программ (в ASCII-файлов) вы найдете в Интернете, так что у вас есть прямой доступ к огромному, международные научные библиотеки программного обеспечения.

    Вы можете изменить функционирование любой пользователем рутины. Хотя вы не можете изменять внутренние процедуры IDL, вы можете легко создать "обертку" для этих программ, которые изменяют их по умолчанию, производительность или ускорить использование. Ваша способность настроить вычислений чрезвычайно усиливается в IDL.

IDL ориентированного анализа изображений и обработки сигналов, а по сравнению с Ирафского и т.д., это открывает новое измерение возможностей, чтобы сделать других видов важных численных расчетов с большой эффективностью и для создания графического или табличного представления о них. В связи с этим, он дублирует большую часть функциональности Mathematica, Maple и MATLAB (правда, без символических манипуляций).

    Простые примеры могут включать в себя вычисления элемента объема в зависимости от красного смещения в различные космологии, расчет формы линии с простым методам радиационной передачи и по сравнению с наблюдаемыми спектрами, делая быстрые Монте-Карло, моделирование Мальмквиста предвзятость и другие эффекты, выбор, генерация тормозного излучения или синхротронного спектра, и так далее.

    Большое разнообразие таких задач, для которых (если они провели тщательный расчет на всех) многие астрономы написали бы автономно FORTRAN или C программы, могут быть обработаны с красивыми эффективность IDL и сразу же включается с соответствующим анализом данных задач.

Основные IDL функциональность не изменилась за последние несколько основных версий. Вместо этого дополнения участие таких областях, как графический интерфейс и поддержка объектно-ориентированного программирования, которые направлены больше на разработчиков программного обеспечения, чем пользователи заинтересованы в анализе данных.


5. IDL Ограничения

[Вверх к содержанию]

IDL имеет много достоинств, но каковы его недостатки?

Очевидное ограничение, а также существенным препятствием для некоторых людей, в том, что IDL является запатентованная система, которая означает, что каждый сайт должен приобрести лицензию IDL. Некоторые астрономы возражают в принципе платить за программное обеспечение.

    Но, разумеется, вы получите то, что вы платите. Даже наши якобы "свободного" программного обеспечения пакетов, таких как Ирафского, CIAO или AIPS + + нести огромную цену сообщества, взимаемых косвенно на всех нас. Цена покупки IDL должны быть взвешены против пользователей усилия, необходимые для получения того же уровня производительности обучения или адаптации менее способных системы.

    Мое личное мнение таково, что с самым дорогим элементом любой такой системы всегда ученый трудоемкости, доллар инвестиций в IDL четко обосновано. Текущие цены сопоставимы с 1,5 месяцев заработной платы постдок, и для этого вы получаете доступ к, возможно, 1000 человеко-лет добра, астрономически-ориентированного программного обеспечения. Можно было бы иметь очень хороший постдок не рассматривать IDL сделки.

IDL является интерпретируемым, а не компилируемый язык. Это означает, что большие программы IDL могут выполняться медленнее, чем эквивалентные составлены программы, написанные на FORTRAN или С.

    Однако, это также является важным источником эффективности IDL в. Основная задача рабочей ученые приближаются программное обеспечение должно быть, сколько собственных прошествии времени, прежде чем они получают данный результат. Скорость исполнения является вторичной, тогда как скорость кодирования, настройка и проверка программного обеспечения является основным. Программное обеспечение усилия большинства ученых не доминирует крупный "трубопровод" вычислений и приложений, использующих CPU или памяти ограничен. Вместо этого он посвящен умеренных масштабах расчетов, интерактивная проверка данных и оценки, по сравнению с теоретическими моделями, особых случаев не поддерживается крупными пакетами приложений, производства графики для публикаций и переговоры, и так далее. Ситуация усложняется тем, между настольным ПК, ноутбуком, и / или лаборатория компьютеров, астрономы часто иметь дело с несколькими операционными системами на ежедневной основе.

    Эта среда ставит во главу угла программного обеспечения универсальности, удобства, прозрачности, модульность и мобильность --- именно там, где IDL отличается.

    Присущая векторизации встроенного программного обеспечения IDL будет часто компенсируют свои интерпретации структуры в условиях конкуренции с FORTRAN или С программами, которые не были должным образом оптимизировать их авторов.

IDL лучше всего работает на средних размеров наборов данных (скажем, до 1 Гб) и где не надо ссылаться на отдельные элементы массива. Пользователи необходимости пакетной обработки больших объемов данных с более сложные алгоритмы могут найти FORTRAN или C процедур для более предпочтительным. Тем не менее, они могут быть связаны в окружающей среде IDL интерактивным и выполняться в рамках IDL.

    На самом деле, сочетание IDL как "интерфейсные" пользовательский интерфейс с большим набором мощных, не IDL номер хруст программы предлагает почти идеальный пакет: вычислительную эффективность вместе с универсальностью и удобством в дисплей / оценки и большой базу потенциальных разработчиков программного обеспечения.

Благодаря оптимизации для интерактивных вычислений, IDL не является системой для крупномасштабных численных вычислений (например, гидродинамические или N-моделирования тела). Тем не менее, она ценна как средство для изучения новых вычислительных подходов в меньших условиях, когда сырье скорость не важна, и он также отлично подходит для визуализации, анализа, редактирования и отображения числовых данных устанавливает порожденных программного обеспечения для моделирования.

Проблема для новичков в том, что с помощью IDL может быть трудно найти на новой установке. Есть, однако, консультанты по адресу Exelis, веб-сайтах советы, большое количество он-лайн или печатную документацию и примеры тысячи рабочих IDL процедур в публичных библиотеках, которые могут помочь решить многие трудности, программное обеспечение.

Пакеты данных сокращение не доступны в IDL для большинства конкретных приборов доступны на крупных обсерваторий (например, ПЗС-мозаика изображений, мульти-объект спектрографов, эшелле спектров и т.д.).

    Для обычного сокращения данных из стандартных приборов, где потребности обычных пользователей были размещены через много итераций, Ирафского, STSDAS, АСМП, CIAO, и другие существующие пакеты вполне удовлетворительным. Несмотря на то, IDL может предложить более дружественные или рационализации условий для опытных пользователей, нет веских причин, чтобы переписать в IDL хорошие пакеты, которые уже существуют на других языках.

    Это этап анализа данных, а не к сокращению фазы, в которой универсальность IDL является наиболее полезным. IDL астрономии пользователей Библиотека поддерживает стандартные форматы данных производства на больших астрономических пакетов снижение (в том числе FITS изображения и таблицы файлов).

    Если вы являетесь молодым наблюдения астронома, у вас практически нет выбора, кроме как ознакомиться с Ирафского / STSDAS (UVOIR), AIPS (радио), CIAO (рентген) и т.д., поскольку они обеспечивают первичную обработку данных стандартизированных процедур в области. Основные решения, следовательно, является то, что другие системы наиболее выгодно учиться. IDL является главным кандидатом.

Наконец, быстро размножающихся набор IDL приложениях процедуры одновременно сила и слабость. Пока один имеет доступ к широкому спектру полезных программ, это не всегда полностью протестированы с авторами правило применить к проблемам ограниченный характер. Самая сложная часть использования IDL часто определить, какие процедуры доступны для данного приложения и выбрать подходящий для использования.

В целом, в обмен на улучшение гибкости и силы, IDL требует более высокого уровня компьютерных навыков, чем у систем, таких как Ирафского, АСМП, или CIAO.

    Пользователь IDL должно взять на себя большую ответственность за достоверность результатов. С другой стороны, интерактивной среде IDL предлагает гораздо более надежным и эффективным методом проб и ошибок, исследование функции программы на реальных и синтетических данных, чем имеется в типичной анализа данных пакетов. Это гораздо проще диагностировать трудности и проверки надлежащего выполнения программ в IDL.

В целом, IDL является бесценным инструментом для большинства наблюдений или теоретических астрономов.


6. Демос, учебники, список программного обеспечения

[Вверх к содержанию]
Ресурсы: В списках важнейших астрономии ориентированных IDL ресурсы (справочники, файлы справки, демонстрации, учебные пособия, программное обеспечение), кроме тех, упакованных с распределением Exelis, см.:


Демонстрации: Чтобы почувствовать, что IDL может сделать, попробуйте запустить пакет стандартного IDL демо поставляется Exelis. Начните с LINUX строке (в X-Window) и тип idldemo.

Учебники: набор из трех вступительных упражнений IDL, которые вводят его основные черты можно найти на UVa ASTR 511 домашнюю страницу. Другие сайты, предлагающие IDL руководства связана с библиотекой астрономии пользователя.

Список программного обеспечения: Шесть различных уровней IDL код будет полезна для Вас:

    Внутренняя IDL: написанная Exelis и описана в руководствах IDL и интерактивная справочная система вызывается? команды. Внутренний код IDL является собственностью. В UVa, внутренняя IDL поддерживается ИТС на все сервера университета. 50 пользователей могут иметь одновременный доступ. Информация об установке UVa можно ознакомиться здесь.

    Пользователь IDL Библиотека: процедуры, представляющих общий интерес (статистика, преобразования изображений и т.д.) проверяются и поддерживаются Exelis, но не собственности. Упакованный в рамках стандартной поставке IDL. По умолчанию они находятся в каталоге $ IDL_DIR / Библиотека.

    Пользователь IDL астрономии Библиотека: большой набор подпрограмм, пригодных для анализа данных, обработки изображений и databasing, в основном, написанные учеными Центра космических полетов Годдарда. Содержит много применений широкий интерес, а также специализированных астрономических процедур. Обычно хорошо документированы внутри, так и хорошо проверена в стандартных приложениях. Обновления как правило, происходят несколько раз в год. Предполагается, IDL v6.1 и выше. Кодекс и другие документы доступны через интернет-браузер или FTP из http://idlastro.gsfc.nasa.gov. Функциональный список доступен на сайте AstUseLib. Обновление перечислены в обратном хронологическом порядке, в пресс-файл. В UVA, AstUseLib процедуры хранятся в / Astro / IDL / Astrolib.

    MOUSSE (Multi-Option UIT программного обеспечения системы охраны окружающей среды): набор подпрограмм, в значительной степени написана ультрафиолетового телескопа группа изображений в GSFC. Те процедуры, которые не были переданы AstUseLib но которые остаются полезными могут быть получены (по отдельности или в архивный файл) от: http://www.astro.virginia.edu/class/oconnell/astr511/IDLexercises/minimousse. Список файлов MOUSSE подпрограммы на 1996 год (в том числе и затем переведен в AstUseLib), отсортированных по функции, приведены в "Текущие программы мусс".

    Программное обеспечение от мирового сообщества пользователей IDL: AstUseLib предоставляет большой набор ссылок на другие сайты, распространяющие полезных программ IDL.

    Личная процедуры, написанные Вами. IDL пользователям быстро обнаружить преимущества написания собственного кода IDL, даже если они никогда не продвинуться дальше сценарии, простые процедуры ускоритель, или измененные версии программы пользователь библиотеки. Это удобно, хотя и не существенно, чтобы держать все эти процедуры в одном каталоге. В этом документе мы обращаемся к этой папке, что "каталог IDL". По умолчанию система UVa IDL файл среды предполагает, что каталог будет называться, или псевдоним, IDL в вашем домашнем каталоге.

Благодарности: В любом использовании опубликованных работ IDL программное обеспечение, написанное другим, вы должны признать автора. Если вы используете программное обеспечение Годдарда, библиотека GSFC Пользователь астрономии в группе и куратор Уэйн Ландсман должны быть признаны. Модифицированные версии программного обеспечения других должны распространяться на авторство списка в заголовке каждого дня.


II. РУКОВОДСТВО ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
С IDL

[Вверх к содержанию]

Этот раздел представляет собой введение в IDL внутренних и пользовательских приложений поставляется процедуры часто используется в 2-D обработки изображений и связанных с ними видов оценки данных и вычислений. Только самые общие параметры для каждой команды в списке.
Предполагается:

    IDL 6.1 или выше, Linux Workstation, или MAC OS-X окружающей среды.

    Все описания ниже для командной строки IDL окружающей среды и основные «прямой графика" режиме выполняется из X-окна. См. раздел "X-Windows Примечания" в конце рецензии.

    Если не указано, все не внутренние процедуры, перечисленные ниже, из библиотеки астрономии пользователя.

Это руководство ориентировано на UVA / LINUX установка IDL. Тем не менее, я постарался четко различать детали, которые являются специфическими для локальной системы, так что другие пользователи смогут использовать руководство.


1. ЗАПУСК И ОСТАНОВКА IDL

[Вверх к содержанию]
Чтобы войти в IDL: тип IDL на LINUX строки из X-Window. Это начинается сессия IDL работает в "режиме командной строки" в окне терминала, из которого она была вызвана. Я рекомендую новичкам IDL планируют изучить основы в этой среде, хотя они, безусловно, должны изучить варианты перечислены ниже.

    В версии 5 и 6, вы можете воспользоваться графическим интерфейсом, "IDL Development Environment". Для ввода этого типа idlde. IDLDE предлагает ряд удобных функций для опытных пользователей.

    Начиная с версии 7, более сложный графический интерфейс, который называется "IDL Workbench" заменил среды разработки. Опять же, чтобы вызвать Workbench, введите idlde. Вот скриншот сессии Workbench IDL. Если вы хотите изучить Workbench подход, попробуйте упражнения предлагается в главе 2 версии 7 Приступая к эксплуатации.

    Другой альтернативой является использование IDLWAVE Это интегрированный редактор / IDL выполнение установки на базе GNU Emacs. Много мощных функций, удобством в IDLWAVE полезно главным образом для опытных программистов IDL. Вот скриншот IDLWAVE сессии.

    Описание ниже для командной строки среды вызывается с помощью команды IDL и использовать «прямой графика» команды (в отличие от "объектно-ориентированного графика» используется для создания GUI дисплеев). Тем не менее, основные команды, введенные во время интерактивного сеанса являются одинаковыми для всех средах (например, в Workbench вы должны ввести их в окно командной строки, напротив IDL> строке).

Устранение неполадок при запуске

    Если вы получаете сообщения жалуется на "сервер лицензий" или о том, что вы были перенесены в "7-минутный демо-режим», то есть проблемы с лицензированием программного обеспечения, которое дает право индивидуальным пользователям доступ к IDL исполняемых файлов. Это может быть потому, что слишком много пользователей (в UVa более 50) пытается получить доступ к IDL (в этом случае, вам просто придется подождать). Кроме того, существует, возможно, был отказ в лицензии демон, который предоставляет Вам ссылки на исходный код IDL. Вам необходимо на системном уровне помощь для решения последней проблемы. В UVa, IDL исходный код находится в ведении ИТС в каталоге / общие / RSI.

    Если вы не можете получить доступ к определенной процедуры, убедитесь в том, как вы определили все необходимые переменные среды и псевдонимы, чтобы указать правильно различных каталогах IDL. См. раздел "Настройки" раздел в конце этой рецензии. Неправильный путь является одним из наиболее распространенных источников проблем в работе сессий IDL.

        Если вы входите на UVa астрономии LINUX сети и конкретно не определяет никаких переменных IDL окружающей среды, вы будете автоматически настроить для запуска последней версии IDL с соответствующей ссылки на все существующие каталоги программного обеспечения, в том числе библиотеки астрономии пользователя, мусс, и ATV.

    Если в среде Windows, не реагирует должным образом, проверить, чтобы убедиться, что вы работаете в X-окна, и окна параметры были правильно установлены для рода визуальная среда дисплей вы собираетесь использовать (например, 8-ный псевдо-, 24-битный полноцветный и т.д.). LINUX xdpyinfo команды терминала список поддерживаемых режимов дисплея. IDL помощью команды / разработчика будут перечислены текущие свойства экрана на себя IDL. Более подробную информацию см. в разделе Отображение изображения ниже.

    Если у вас есть проблемы с цветами на вашем терминале изменении или "мигать", когда вы переместите курсор во время сессии IDL, см. раздел Отображение изображения ниже.

    Ваш личный «IDL каталог", если у вас есть, не будут доступны, если это не в текущем каталоге или он включен в переменную окружения IDL_PATH оболочки. В UVA, это будет автоматически, если каталог находится в корневом каталоге и называется, или псевдоним, "IDL". (См. файл установки среды пример ниже).

Для настройки среды IDL, вы можете выполнить любое количество специальных инструкций в начале каждой сессии.

    IDL всегда будет выполнять специальные "Автозагрузка" файл, определенный в $ IDL_STARTUP переменной окружения. Стандартная версия этого файла должны быть выполнены до MOUSSE подпрограммы будет работать правильно. Это делается по умолчанию для пользователей UVa астрономии. См. раздел "Настройки" ниже. Вы можете изменить файл запуска, как вам нравится (например, открыть специальный заговор окна или установить главный уровне общих блоков).

    Вы также можете выполнить личный загрузочные файлы для дальнейшей настройки сессии. Они, как правило, командные файлы (см. раздел «Реализация Программы" ниже), выполненные с помощью команды @ [имя файла].

Чтобы дать LINUX системных команд из IDL: введите $ в качестве первого символа в командной строке

Чтобы прервать и возобновить IDL: использовать стандартные ^ г и Ф. LINUX команды.

Чтобы прервать рутину IDL: тип ^ с. Для продолжения же рутина, типа. Кон. Чтобы выйти из рутины после прерывания и возврата в главное уровне, тип retall.

    Если вы находитесь в режим курсора, вы можете переместить курсор в активном окне и нажмите кнопку мыши для завершения прерывания. В некоторых командах (например, массив расчетов или I / O) прерывание может потребоваться некоторое время, чтобы вступить в силу.

Чтобы повторить или редактировать и выполнять ранее команду:

    Во время интерактивного сеанса, ввод командной строки хранятся в буфере отзыва команды (как в LINUX Tcsh). Вы можете использовать "стрелка вверх" ("стрелка вниз") для перемещения в обратном направлении (вперед) с помощью команды буфера вспомнить и редактировать команды. Использование EMACS, такие как редактирование команд. По умолчанию длина буфера команд 20 команд. (Это полезно, чтобы установить это на более высокий номер, определяющий системные переменные! EDIT_INPUT = 100 в загрузочный файл. Это делается по умолчанию в файлах MOUSSE запуска). Напомним, / редактирования исключительно полезным средством итерации в IDL сессии.

    В редактировании, будьте осторожны, чтобы не дать ^ D команды пустой строкой, так как это прекратить заседание!

Чтобы продолжать долго заявление на следующей строке: конец строки с знак доллара ($). Вы можете сделать это в любой точке линии, где пространство будет разрешено только в строковую переменную.

Чтобы дать несколько команд в одной строке: разделить их с амперсанда (&). Например:

    х = а + Ь и у = корень (х)

    Набор и связанные команды в одной строке представляют собой «микро-программа", которая может быть выполнена, а затем редактировать и повторно выполняется с несколькими нажатиями клавиш.

Чтобы оставить IDL: тип выхода или ^ г. Все окна и данные в оперативной памяти будут очищены. Если вы хотите, чтобы сохранить данные, используйте команду Сохранить или другие команды записи в файл перед выходом.



2. ПОМОЩЬ

[Вверх к содержанию]
Exelis документации

    IDL тщательно задокументированы в электронных учебных пособий. Exelis выпускает полный комплект учебных пособий в формате PDF с каждой лицензией. Если PDF-версии были установлены на вашем компьютере, они могут быть доступны через LINUX idlman команды. Наиболее важные учебные пособия Использование IDL, IDL HandiGuide / Краткий справочник, дом IDL Applications / Application Programming и руководство IDL ссылку. Они доступны в режиме онлайн из сессии IDL через средства Hyperhelp. (Примечание: названия некоторых руководствах изменилось с номером версии).

        Вступительное IDL руководство называется Приступая к работе с IDL --- Нажмите для PDF версии. Печатные версии старше IDL Основы пособие для V3 и V4 проведет вас через ряд интересных примеров приложений и получить полезные советы.

        Самый лучший способ напомнить себе, быстро функционирования внутреннего IDL процедуры состоит в ссылке на IDL Краткий справочник. К сожалению, это "быстрые" руководство стало довольно громоздки, и, по крайней мере, ссылки на основные функциональные IDL, что может быть проще использовать одну из старых версий IDL HandiGuide.

        Вы, вероятно, будет полезно сделать распечатку Краткий справочник или HandiGuide разделы под названием «Функциональная список", "Синтаксис", "Заявления", "Команды исполнительный", "Специальные символы", "Индексы", "Операторы" "Системные переменные" и "Графика информации". Это составит лишь около 30 страниц.

    Браузер доступ к документации:

        Exelis IDL документация Распределение сайта

        Чтобы получить доступ к документации по IDL_5.1 в HTML, используя веб-браузер, нажмите здесь. и закладку на страницу.

        Библиотека IDL астрономии пользователя Копия IDL 6,4 Документация

Другие Помощь IDL ресурсы:

    Мой IDL ресурсов страницу

    Библиотека пользователя IDL астрономии Ресурсы страницу

    Comp.lang.idl-pvwave новостей

    Койот Руководство по программированию IDL (David Фаннинг)

    Быстрый Ray Sterner Руководство по Синтаксис IDL

Определение номера версии IDL

    В LINUX строке введите IDL, номер версии отображается на терминале в начале каждой сессии IDL.

    Или: проверьте каталог, в котором оболочка LINUX переменной $ IDL_DIR пунктов.

    Или: в течение сессии IDL, тип печати, версию или помощи, версия / ул, чтобы отобразить информацию о версии и предполагалось, операционная система хранится в системной переменной версию!.

Учитесь на примере

    Один из лучших способов узнать, как писать и использовать IDL программы просто для проверки существующих программ IDL в AstUseLib каталогов. Вы можете больше их в Linux, или использовать обычный AstUseLib getpro, чтобы скопировать их на локальный каталог. Для просмотра общественных процедур во время сессии IDL, типа. Работать-т [обычный имя].

Информационные команды

    idlhelp или idlman: учитывая, с LINUX строки, эти команды открыть PDF версии стандарта руководства IDL (если они были загружены на вашей системе).

    ? : С учетом изнутри IDL, это вызывает объект IDL HyperHelp. Нажмите на "Индекс" на вкладке список всех записей (список общих дискуссий, а также отдельных подпрограмм, последние указаны в заглавных букв).

    [Команда]: обеспечивает HyperHelp информации по данной внутренней команды IDL. Не работает пользователем процедур. Примечание: нет места или кавычки между ними? и имя.

    [Команда без аргументов]: Большинство AstUseLib и других пользователем процедуры кодируются так, что если вы введете имя подпрограммы без аргументов, список ожидаемых аргументов печатается на экране. Не работает внутренний IDL процедуры (см., однако помощь, / роу ниже). Не работает на большинство функций (в отличие от процедур).

        Это полезно конвенции кода в своих программах. Используйте функцию n_params ощущать отсутствие входных параметров, как показано в следующем:

          если (n_params (0) уравнение 0), то начинать
                 печать ", последовательность вызова: имя_программы, var1, var2, var3"
                 возвращать
               ENDIF
          

    Человек, [имя-команды строки]: команда MOUSSE человек будет печатать информацию заголовка имени рутины в окне командной строки IDL. Она работает на любой правильно отформатированные IDL подпрограммы в IDL_PATH. Например, если вы хотите получить информацию о AstUseLib команда FITS_READ, вы должны ввести:

    Человек, «fits_read
        Обратите внимание, что аргумент мужчина должен быть IDL строка --- т.е. оно должно быть заключено в кавычки (но задний кавычки можно опустить). Не входите в. Про суффикс имени файла.

        Человек работает в режиме, находя первый файл с именем "[команда] за". В IDL_PATH и перечислив все эти строки в файле между двумя линиями, начинающиеся с "; +" и ", -" в первых двух колонках . Настоятельно рекомендуется размещать заголовки такого типа в собственном *. Про процедуры. Существует стандартный внутренний формат заголовка, принятые большинством кодеров IDL, но вы не должны следить за этим в собственных подпрограмм.

        К сожалению, внутренняя IDL процедуры не могут быть доступны человеку.

    $ Подробно [каталог / command.pro]: перечислены все местные программы. Вы можете определить LINUX переменных оболочки с именем $ ATV_DIR, $ ASTUSE_LIB и т.д., чтобы она указывала на соответствующие каталоги, чтобы не помнить, какие они.

    getpro, [команда]: пишет копию любого неимущественные процедура файлов в текущем каталоге. Не работает на внутренний ПО IDL. Вы можете просмотреть или изменить процедуру изменить свою функцию по желанию. Если вы не изменили имя, и поместить его в путь IDL перед его прежнее место, то ваша версия будет составлен и выполняется вместо номинальной. Это может быть безопасным, чтобы изменить имя (как имя файла и имя процедуры в файле), чтобы предотвратить непреднамеренные ошибки.

        Примечание: один дефицит текущего пользователем процедура документации является то, что зависимость (подпрограмм называется данная процедура) не указаны. Если вы используете getpro получать и редактировать поставляется обычный для себя по-разному, это может иметь непредсказуемые последствия для функционирования других процедур. Один из методов поисков такого взаимодействия будет grep, ASCII файлов в библиотеке каталогов для других ссылок на процедуру вы собираетесь изменить. Самый быстрый способ определить, что подпрограммы вызываются данной программы является. Запуска программы в качестве первого шага в сессии IDL. Каждая подпрограмма указан на экране, как он составлен.
    . Во т [команда]: альтернативный способ получения листинга на рутину. Это будет компиляция [command.pro] и одновременно передавать список на экран с номерами строк добавляется (те же номера, как напечатано в заявлениях IDL ошибки, поэтому она является полезным для отладки). Чтобы сохранить список в файл, используйте форму. Стоков л (имя файла) [команда]. (Предупреждение:. Если вы по ошибке пропустить файл здесь, вы можете начать перезапись [команда] файл, если он находится в текущем каталоге)

    печати, [переменная (ы)]: отобразить значение переменной любого активного (ы) на вашем терминале. Работы для любого типа переменной, но будьте осторожны в случае больших массивов (!)

        Форматирование: векторы-строки печатается на экране, векторы-столбцы выводятся внизу экрана.

        Используйте Printf команду для отправки вывода выбранного файла или другого внешнего устройства.

    помощь: список всех активных переменных, их характеристики, составленные программы, информация о складских помещений и т.д.; различные варианты. Но не объясняет, команды. Есть много дополнительных ключевых слов для использования с помощью. Примеры приведены ниже. Чтобы получить полный список типов? Помочь.

        помочь, / роу: отпечатки список аргументов для всех скомпилированных процедур (кроме внутренних процедур IDL). Список процедур и функций в отдельности.

        помочь, / си: выводит текущие значения всех "системных переменных", которые являются специальными переменными, всем известно процедур. Названия они начинаются с "!", Например, ! Каталог,! Путь, и т.д.

        помочь, / REC: выводит содержимое буфера команд отзыва в обратном порядке

        помочь, / разработчика: отпечатки параметров для текущего графического устройства

        помочь, / память: список текущее использование памяти

    печати, г или печати, р:! распечатать системные переменные, которые управляют дисплее устройства и построения среды, соответственно. См. IDL руководствах.

    печать, путь: напечатать текущий список каталогов путь искали * про процедуры.. Поскольку многие случаи неудачных или отсутствует программное обеспечение происходит, потому что ваш путь неправильно установлен, полезно помнить, чтобы проверить! Путь, если вы столкнетесь с проблемами. Если! Путь строка слишком длинная для печати, использовать strmid рутины, чтобы и печатать выписки из него.

    $ Printenv: будут перечислены все параметры оболочки по умолчанию, в том числе по умолчанию IDL каталога, если оно определено.

    журнал, [имя файла]: Запуск утилиты журнал, который записывает в файл все записи, которые делают и большинство IDL ответов. Некоторые ответы (например, в помощь) не регистрируются, чтобы предотвратить захламление файлов.

        Любой текст, Вы входите на данной линии предшествует точка с запятой будут проигнорированы компилятором и включены в файл журнала в качестве комментария --- так что вы можете аннотировать сеанс интерактивного к содержанию вашего сердца.

        Ваш файл журнала будут записываться и закрывается при вводе журнала снова или выйти из вашего IDL сессии.

        Трудно переоценить значение сохранения IDL файлов журнала для серьезной работы. Это хорошая практика всегда использовать файл журнала, так что вы можете проверить или воспроизвести то, что вы сделали, восстановить ошибки, и так далее. Если вы редактируете из ошибок и нежелательных помех ваших файлов журнала, вы будете иметь удобный работает запись вашей работы.

        Журнал файлы позволяют быстрое воссоздание сессии IDL, полностью или частично, или (если деятельность стоит экономить и повторения) могут быть изменены в виде основной программы, подпрограммы или сценарий.

        Внимание: обычный журнал будет перезаписывать существующий файл с данными [имя файла] без предупреждения. Использование уникальных имен для каждой сессии. Кроме того, в файле журнала могут быть потеряны в случае аварии IDL или сбоя системы (например, отключения электричества). Для длинных сессий, вы можете планировать более чем на один файл журнала.

3. Выполнения программы

[Вверх к содержанию]
Все внутренние программы IDL собраны и готовы к исполнению, когда вы начинаете сеанс. Другие программы, как правило, составлены только тогда, когда вы их запросите. Список всех составлен без внутренних процедур представлена ​​при вводе помощь / роу.

Примечание: все IDL основных программ, подпрограмм ("Процедуры"), и функции считаются в файлах с расширением явное "профессионала.».
Переменные

    Создание:

        Чтобы создать или изменить переменные, просто использовать их в операторе присваивания. Память для каждого устанавливается автоматически в сторону и расширяется до бесконечности. Без предварительной декларации переменных необходимо. Тип новой переменной выводится из контекста. Более подробную информацию о типах переменных в IDL, см. "Часть II: Компоненты языка IDL" в руководстве по программированию приложений. Например:

            г = 1.0e-3 создает плавающей точкой скалярных
            с = 3.0d10 создает двойной точности с плавающей точкой скалярных
            = [1,2,3] и = [4,5] создает, а затем расширяется целочисленный вектор

            TestData = fltarr (512256) создает 512x256 2-D плавающей точкой массива с нулевыми элементами.

                Этот массив будет 512 элементов широкий (количество столбцов) и 256 элементов высокого (кол-во строк). Обратите внимание, что этот столбец / строку назначение конвенции обратный от FORTRAN и нормальной матричной, но что она соответствует нормальной F (х, у) графическое обозначение. IDL массивы хранятся с первым индексом изменения быстрее. Это позволяет ускорить отображение изображений, так как элементы на каждой горизонтальной линии сканирования хранятся непрерывно.

                Отметим также, что (опять же в соответствии с графическими стандартами) первый элемент любого вектора IDL или массива всегда с индексом 0 не 1. Например, в массиве г = [20,30,40,50], г [0] = 20, а г [3] = 50. Но г [4] не определен.

            TestData = findgen (512256) создает 512x256 2-D плавающей точкой массив, каждый элемент установлен в значение его 1-D индекса (начиная с 0). Таким образом, TestData (100,0) = 100,0 при TestData (0.100) = 51200,0.

            NAME = "Максвелл" создает строку

                Если вам нужно создать длинную строку (например, в формат отчетности), можно определить части струны на отдельной строке, а затем объединить их. (Например, stringtot = string1 + string2).

            "Структуры" в IDL являются множества других переменных (произвольной смеси), которые могут быть отнесены к одной именем. Они могут быть очень полезны в задачах анализа данных.

        Помощью команды выдает список активных переменных и их свойства.

    Удаление:

        Для удаления переменных (например, когда у вас слишком много памяти в использовании), используйте delvar. Вы можете переписать содержимое любой переменной, просто используя оператор присваивания. Быстрый способ очистить массивы просто установить их равными скалярные (например, = 0). Если вы используете большое количество файлов, то это тоже хорошо, чтобы предотвратить ошибки файловой квоты время от времени давая близко, / все команды.

    Системные переменные:

        Эти специальные переменные, имена которых предшествуют! (Например,! Help_path), которые повсеместно известны всем IDL процедур. Около 30 из них предопределены и оказания помощи в различных аспектах работы программы, в основном графика вывода. Вы можете создавать свои собственные переменные системы с помощью команды defsysv. Вы можете изменить значение переменных системы (за исключением "только для чтения" переменных) с помощью операторов присваивания. Чтобы просмотреть текущие значения всех системных переменных, тип помощи, / си.

Математические операторы и функции

    IDL поддерживает полный набор арифметических, реляционные, логические, мин / макс, и матричных операторов. Среди прочего:

          + - * / * + + - MOD> IF THEN NOT AND эквалайзер GE LT # ... и т.д.

        См. раздел Создание IDL Applications / Application Programming для полного описания.

    IDL обеспечивает более 750 внутренних математических и других функций, не говоря уже о сотнях других присутствующих в библиотеке пользователя в IDL. Например:

        SQRT EXP ALOG ALOG10 SIN ATAN ASINH GAMMA ROTATE RANDOMN
        GAUSSFIT POLY_FIT INT_3D INTERPOLATE СНП STRMATCH ..., и так далее.

        См. Руководство по IDL Ссылка для деталей.

    Многие операторы и математические функции принимают вектор или массив аргументов, а также скаляров.

    Типичная команда IDL линии может выглядеть следующим образом:


         = [45, 90, 135, 180] * (! pi/180.) и у = грех (а)

         г = ((х-хе) ^ 2) / (2,0 * сигма ^ 2) и gaussfun = ехр (-г) / (сигма * SQRT (2.0 *! пи))

         sm_im = гладкой (мкм, 5)

         если (photon_count л 30), то ran_count = randomn (семена, Пуассона = photon_count)

        Здесь, и у вектора, первый определяется эта линия, хс и сигма предопределены скаляры, х является стандартным и может быть скаляр или вектор, а г и gaussfun будет того же типа, им является предопределенным вектор или многомерных массив, и sm_im будет того же типа; photon_count и ran_count скаляры и photon_count предопределен; выход randomn целое, если ключевое слово Пуассона установлен, но он автоматически преобразуется в число с плавающей точкой, если семена не определено, оно используется в качестве выходного параметра для создания серии случайных чисел при последующих вызовах (см. справочную листинг randomn).

Исполнительный команды

    . Перспективе [имя]: компиляция процедуры IDL (ы) или функции (ы) в файл [имя] профи.. Если это основная программа, а также выполняет его. Обратите внимание на срок в качестве первого элемента этой команды.

        IDL найдет первый файл с таким именем в пути IDL. Будьте осторожны, используя имена для ваших собственных процедур, которые являются такими же, как собственных или поставляемого подпрограмм библиотеки (если только вы намеренно собираетесь заменить их).

        Программа файлы могут содержать более одного IDL программы. Просто объединить программы вместе. Все будет составлен. Команды пуска и признанные отдельно в будущем вызовы. Однако, не рекомендуется укладывать программы таким образом. Среди прочего, вы теряете возможность чтения внутренних заголовков с человеком команды (см. выше).

        Вы не должны давать отдельно. Выполнить команду, чтобы выполнить подпрограмму, которая находится в вашем пути и имеет имя файла совпадает с его именем процедуры, за исключением добавил расширение. Про. Просто введите имя команды, со всеми необходимыми параметрами и IDL будет автоматически искать пути для такой файл и выполнить его. Если имя файла не совпадает с именем процедуры в нем, то вам необходимо. Запустить файл по отдельности.
        Вы должны использовать. Запустить [имя] Команда для выполнения основной программы в первый раз. Для повторного выполнения, вы можете использовать. Идти.

        . Работа [имя] Команда компиляции, но не выполнять процедуры или функции файл.

        Вы должны повторно запустить любую команду, которой процедура файл, который вы редактировали во время сессии или изменения не вступят в силу.

    . Против: Продолжение программы прервано запрограммированные команды остановки.

    . Пойти: Перезагрузка предварительно скомпилированных основной программе с самого начала.

    @ [Имя]: Выполнить "партия" файл [имя] про содержащий список команд IDL в том же виде, как они будут введены с клавиатуры.. Может быть использован для выполнения большой работы фона или конкретного пользователя файл инициализации в начале сессии. Пакетные файлы часто используются, чтобы дублировать или повторять набор команд, полученных от ранее IDL сессии (например, для вывода графики). Такой набор называется «сценарий».

        Каждая строка выполняется отдельно, так что несколько команд линия с участием сделай петли и т.д. не могут быть включены в сценарий. (Но подпрограмм, которые вызываются из пакетного файла можно, конечно, включают в себя такие функции.)

        Вы можете настроить общие блоки, компиляции процедуры, и т.д. с помощью пакетных файлов. Текст после точки с запятой (;) на данной строки игнорируется компилятором.

    Эффективный способ обновления или выполнить часть сценария --- например, последовательность команд получены с помощью журнала утилиты --- это запустить редактор сценариев в одном окне, во время выполнения IDL в другой и резка-и-вставить обрывки кода между ними. Этот метод особенно полезен, когда у вас есть большое количество опций (например, делать статистики, гистограмм и графиков на файл данных, содержащий множество различных переменных).

выполните: выполните команду выполняет все строки, содержащей соответствующую команду IDL. Синтаксис

    Результат = execute ([строка])

    Здесь результат будет 1, если команда прошла успешно и 0 в противном случае.

    Это дает мощное средство адаптации работы программы на непредвиденные расходы во время выполнения. Например, вы можете создать новую переменную, чье имя и характеристики основаны на информации, чтение из файла с содержимым неизвестного заранее. Используйте встроенные утилиты строками для создания командной строки.

Программы

Программы составлены текстовые файлы команд IDL. Они могут храниться в любом месте пути IDL. Существуют три различных типа программ, каждая из которых взаимодействует немного по-другому с активной сессии IDL. Кодирование правила немного отличаются в каждом конкретном случае.

    Основные программы: основная программа просто файл команд IDL, который может быть составлен и выполняется работа команды.. Основные программы ведут себя так, как будто вы вводили те же команды с клавиатуры, кроме того, что вы имеете полный доступ к нескольким записи линии, блоки, петли и т.д., которые не могут быть использованы с терминала. Основная программа будет распознавать любые переменные или процедуры уже активны в основном уровень вашей интерактивной сессии, и они остаются активными, когда программа завершается.

        Главные программные файлы не имеют специального заголовка. Просто начните с первого заявления исполняемый файл. Основной файл программы необходимо закрыть с конца заявлении.

        Основные программы не может быть выполнена процедура или функция.

    Процедуры: IDL "процедуры" работают как подпрограммы на языке Фортран. Все входы и выходы должны быть указаны в командной строке, которая вызывает процедуру (или прошли через общие блоки и переменные IDL системы). Процедуры могут быть вызваны из основного уровня или любой другой процедуры. Порядок вызова выглядит следующим образом (обратите внимание на отсутствие круглых скобках):

            PROCEDURE_NAME, input_parm_1, input_parm_2 ... output_parm_1, $
            output_parm_2 ... keyword_1 = value1, keyword_2 = value2 ....

        Параметры для ввода / вывода, разделенных запятыми. Если параметр последовательности слишком велик для одной строки, разбить его на несколько линий, используя продолжение знак доллара конвенции (как здесь). Информация также может быть принято общим блокам или системные переменные.

        Процедуры и функции не может распознать переменные активное участие в интерактивной сессии, если они передаются в качестве параметров, в общие блоки, или, как системные переменные.

        Кроме того, основной уровень IDL не может распознать переменные, которые определены в процедуры или функции, но не прошли вызова параметры, общие блоки, или системные переменные обратно в основную программу. Внутренние переменные равны нулю на нормальный выход из процедуры.

            В процессе отладки процедуры, вы будете хотеть быть под управлением on_error, 0 (по умолчанию). Если происходит ошибка в процедуре, это остановит выполнение на уровне процедуры и позволяют осмотреть все ее локальные переменные.

        Как и в FORTRAN, обычные параметры должны быть введены в указанном порядке. Скользящий параметры могут быть опущены, если есть по умолчанию для них закодированы в подпрограмме.

        Ключевые слова являются параметрами, которые передают информацию на подпрограммы, но в отличие от стандартных параметров, перечисленных в предыдущем примере (input_parm_1 ... output_parm_2 ..), они не являются обязательными. Они не должны появляться на вызов подпрограммы, и если сейчас они могут появляться в любом порядке. Поэтому они представляют собой мощный расширения жесткого вызова подпрограммы конвенций других языках высокого уровня, и они особенно полезны в случае сложных задач обработки данных. Значения ключевых слов, как правило, определяются операторы присваивания:

        PROCEDURE_NAME, parm_1, parm_2 ..... KEYWORD_1 = 100., KEYWORD_2 = "Дамбо", ...

        Кроме того, в случае коммутаторы, ключевые слова могут быть установлены в значение 1, используя следующий синтаксис:

        PROCEDURE_NAME, parm_1, parm_2...../KEYWORD_1, .....
        Ключевое слово имя вызывающего оператора может быть усечена до максимально короткие строки, так как позволяет ключевое слово, чтобы быть однозначно идентифицированы.

        Keyword_set (имя) может быть использован в подпрограмму смысл того или иного ключевого слова был установлен пользователем в текущий вызов в подпрограмму.

        IDL поддерживает "ключевое слово наследство", что ключевые слова, которые может и не быть определены в объявлении процедуры, но которые включены в команду, которая называется процедура может быть передан через другие процедуры, которые делают их распознать. Это придает значительную гибкость для написания интерактивного программного обеспечения. См. IDL руководствах.

        Порядок файлов должны начинаться с специальный заголовок, а именно:

        PRO Имя parm_1, parm_2 ... keyword_1 = keyword_1 ...
        и должен закрыть с возвращением и конце заявления.

    Функции: IDL "функции" выполняет как функции на языке Фортран. Они возвращаются выход в одну переменную, которая появляется в левой части оператора присваивания:

    result = имя_функции (parm_1, parm_2 ... keyword_1 = keyword_1 ...)
        Скобки необходимы, и параметры внутри них должны быть разделены запятыми. Что касается процедур, только параметры, указанные в вызывающей последовательности или прошли через общие блоки или системные переменные будут известны функции.

        Не вводить в заблуждение формат вызова функции. Функции могут возвращать большие объемы информации. Переменной в левой части может быть массивом или структуры. Параметры в скобках может быть использована для получения вывода (как в число параметров функции, где). Информация также может быть принято общим блокам или системные переменные.

        Обратите внимание на путаницу, которая может возникнуть, потому что формат вызова функции похож на оператор присваивания с участием массив на правой стороне. В IDL V5 или более поздняя версия, формат по умолчанию для определения индексов в массивах в настоящее время используются скобки, а не скобками --- например, массив [I, J, K] --- хотя более поздние версии по-прежнему мириться с использованием скобок. В старых версиях IDL, путь, чтобы избежать путаницы между массивами и функциями предварительного компиляции (без внутренних) функций с помощью. Работать, прежде чем собирать любые процедуры, которые их используют или пытаются использовать их в интерактивном режиме. Вы получите "Неопределенная переменная" сообщение об ошибке, если вы пренебрегаете это сделать.

        Функция файлов должны начинаться с специальный заголовок, а именно:

        Имя функции, parm1, parm2 ...
        и должен закрыть с возвращением [выход] и конце заявления.

Примеры программ

Чтобы проиллюстрировать некоторые различия между основной программы, процедуры и функции, вот три соответствующей версии код для определения длины первого измерения данной величины (скалярной или массиву) с помощью встроенного в размер функции. Каждая версия предполагается, будут храниться в файле с именем get_dim1.pro на вашем пути IDL.

    [См. определение размера функции в файле IDL помощи. Обратите внимание, что форма его выход - с промежуточной переменной в примерах - в зависимости от числа измерений в исходных переменных. Его первый элемент содержит число измерений (ноль для скаляр); его второй элемент длины первого измерения. Обратите внимание, что любой текст после точки с запятой (;) не является обязательным и игнорируется компилятором.]

    Основная программа


             , Основная программа: get_dim1.pro
             S = размера (a_in)
             если (а [0] экв 0), то d1 = 0 еще d1 = с [1]
             конец

    Процедура


             PRO get_dim1, a_in, d1
             S = размера (a_in)
             если (а [0] экв 0), то d1 = 0 еще d1 = с [1]
             возвращать
             конец
                

    Функция


             Функция get_dim1, a_in
             S = размера (a_in)
             если (а [0] экв 0), то d1 = 0 еще d1 = с [1]
             возвращение, d1
             конец

Для выполнения этих трех подпрограмм во время интерактивной сессии, а также для печати на терминальном окне команду результирующее значение для первого измерения, то команды будет выглядеть следующим образом. Во всех случаях, a_in входных переменных должны уже были определены в ходе сессии. Обратите внимание, что вы не должны дать. Выполнить команду для компиляции процедуры или функции до тех пор, как его имя соответствует его логическому имени (за исключением расширением. Pro).

    Основная программа


              . Перспективе get_dim1
              печати, d1

    Процедура


              get_dim1, a_in, d1
              печати, d1

    Функция


              печати, get_dim1 (a_in)

Советы

    Добавить комментарий к программе файлы и скрипты с помощью точки с запятой (;). Любой текст на данной строке после запятой игнорируется компилятором. Исполняемые операторы могут предшествовать точка с запятой.

    retall: важная утилита, которая позволяет вернуться к основной программе, если произошла ошибка в подпрограмме. По умолчанию в этом случае остается под контролем подпрограмма (так что вы можете отладить процедуру путем изучения текущих значений переменных, например).

        Опасности, если вы не вернетесь в главное то, что вы будете выполнять другие задачи (например, чтение новых данных) под управлением подпрограммы, но позже выйти из рутины, что приводит к удалению всех этих данных. Введите retall избежать подпрограммы.

        В качестве альтернативы можно установить on_error, 1 в начале сессии, которая автоматически возвращается в главное уровне после того, как сообщение об ошибке. on_error, 0 устанавливается режим по умолчанию (пребывание в подпрограмме).

        Вы можете проверить, где вы находитесь, набрав помощи. В первой строке печатного информационного блока список вашего текущего местоположения (имя процедуры и строки).

    Если с помощью курсора, не забудьте поместить его на активное окно (определяется процедура wset или канал) до нажатия кнопки, результат ошибки в противном случае. Вернуть курсор в окно командной строки, когда закончил с курсором функции.

Импорт программного обеспечения

    Есть множество сайтов в Интернете, которые распространяют IDL программ. Чтобы использовать эти все, что вам нужно сделать, это загрузить их, распакуйте (при необходимости) исходных файлов формата (ASCII), и поместить их в директорию в вашем пути IDL. Путь-поиск протокол, описанный выше в. Перспективе команда будет найти и выполнить каждый файл программы, когда вы просите об этом.

    Вы можете сделать это до или во время интерактивного сеанса IDL (если вы не можете изменить свой путь IDL во время сеанса). Вы должны, конечно, что у вас есть все вспомогательные программы, необходимые новое программное обеспечение и на вашем пути.

4. ДАННЫЕ И поиск изображений

[Вверх к содержанию]

[Вниз к данным и хранения изображения]
Передача данных в памяти

    Во время активной сессии, IDL поддерживает соответствующие данные в оперативной памяти хранятся в переменных с произвольными именами выбранных пользователем. Первым шагом в анализе данных IDL, как правило, таким образом, чтобы считывать данные или графические файлы из дискового пространства в переменных IDL в оперативной памяти. Эти переменные можно манипулировать по своему усмотрению, используя арифметические, добыча, сжатие, расширение, переименование, преобразование, и множество других встроенных и пользовательских функций поставляется. Они могут быть записаны на диск в виде файлов в различные форматы.

    Заметим, что это, в отличие от Ирафского и большинство других стандартных программных пакетов астрономии, где нет промежуточного хранения данных, все манипуляции начинается и заканчивается с данными, хранящимися в файлах, и надо обратиться к наборам данных по именам файлов на всех этапах Анализ процесса.

    IDL может читать / записывать файлы до 2,2 Гб (и более на некоторых платформах). Тем не менее, ваш компьютер может иметь ограничения, которые предотвращают доступ к файлам этой большой. См. раздел "Файлы и I / O" глава Построение приложений IDL / Application Programming руководства для получения информации о работе с большими файлами.

        (В некоторых случаях это может быть предпочтительнее не иметь IDL прочитать весь файл в памяти Здесь вы можете вместо этого использовать ASSOC функции передать только часть файла, как это необходимо;. Данные не будут проведены в оперативной памяти. )

    Обратите внимание, что любой файл должна быть предоставлена ​​в виде строки в команды, описанные ниже. То есть, оно должно быть заключено в кавычки (если вы используете предопределенные строки переменной). Пример: fits_info "m87_nucleus.fits (задний кавычки можно опустить, если это последняя запись в строке). Wildcard обозначения могут быть использованы с процедурами, которые могут принять несколько входных файлов (например, fits_info "М87 *. Приступов).

Каталог Подпрограммы

    SD, [каталог] или CD, [каталог]: изменение каталога в директорию образа диска, как CD в Linux. Имя каталога должно быть строкой. SD, без аргументов, что эквивалентно $ PWD.

        Примечание: $ кд команда оболочки не изменится по умолчанию IDL каталога.

    каталог: список содержимого текущего каталога.

    печати, file_which ([имя]): выводит местоположение файла с заданным именем. Этот файл должен находиться в папке на вашем пути.

ASCII-файлов

    ASCII-файлов состоит из буквенно-цифровых отформатированных и связанных с ними символов. Их легко читать и редактировать, и они легко передаваемой между операционных систем. ASCII-файлы широко используются для хранения скромные объемы данных и, как правило, используется для вывода информации из электронных таблиц, цифровых астрономических каталогах и т.д.

    Основные рутинной IDL для чтения текстовых файлов является readf. Он обычно используется в формате ключевое слово, которое определяет структуру файла.

        Формат отчетности в IDL очень похожи на те, в коде примера FORTRAN или С. прочитать файл, содержащий имена целей, координаты и яркости может выглядеть следующим образом:


               get_lun, блок
               openw, блок "InputFile"
               т = (a15, 3x, f9.5, 3x, f9.5, 3x, F6.2) "
               для г = 0, numtarg-1 сделать readf, единицы измерения, формат = форма, $
                       targid [я], radeg [я], decdeg [я], vmag [я]
               близко, блок
         

        При таком подходе количество линий передачи данных в файл (numtarg) должны быть определены заранее. Внутренняя утилита IDL, которые могут помочь в решении этой задачи для ASCII-файлов file_lines.

        Потому что за заявление, в этот сценарий относится к отдельным элементам массива предназначенный для хранения входящих данных, эти массивы должны быть предварительно определены для размещения количества элементов Ожидается, что в InputFile. Например radeg = fltarr (numtarg). Массивы также могут быть определены будет больше, чем записи в любых возможных входной файл, а затем усеченный после выполнения сценария.

        Альтернативный подход, который не требует знания файл длину, чтобы прочитать файл строка за строкой, проверяя "конец файла" знак, а затем сталкиваться каждый вектор после каждого успешного прочитать, например: targid = [targid, NEWID], где NEWID является последним значением читать.

    В зависимости от структуры исходного файла, readf также может быть использован в свободном формате режим, в котором в формате ключевых слов не требуется и файлы элементов, разделенных запятыми или пробелами. См. IDL руководства.

readcol очень удобная утилита AstUseLib для чтения текстовых файлов, состоящих из отдельных столбцов числовых данных без указания формата. Пример использования readcol приведены в Построение Примере 4.

    Синтаксис: readcol "[Имя файла], v1, v2, v3, v4 ...

    Колонны могут быть отделены пробелами или запятыми (или другие символы, указанные Необязательное ключевое слово, разделитель), но не должны быть выровнены.

    Вектор переменных, в котором столбцы читаются readcol не должны быть определены заранее.

    Открытие и закрытие команды, входящие в состав readcol, поэтому не отдельных команд не требуется.

    readcol принимает упрощенной спецификации формата и может читать буквенно-цифровых полей, а также числовые поля (впрочем, не пробелы или запятые могут появляться в буквенно-цифровых полей).

    readcol хорошо подходит для чтения, разделенных запятыми значений файлы, созданные электронные таблицы.

    readfmt является соответствующий AstUseLib утилита для фиксированного формата записи. Вы должны указать формат, но процедура будет выполняться гораздо быстрее, потому что она не имеет для проверки структуры каждой строки ввода.

    И readcol и readfmt процедуры имеют приятная особенность, что они будут пропускать строки комментариев (или другой линии с несовпадающих форматов), не задыхаясь.

Двоичных файлов

    Двоичные файлы хранят данные во внутреннем представлении используется оперативной памяти компьютера. Они более компактны и быстрее читать и писать, чем текстовые файлы, потому что характер преобразований не требуется. Двоичные файлы, таким образом, предпочитали хранить большие объемы данных, например, изображения. Тем не менее, обычные двоичные файлы не обязательно переносимы между операционными системами.

    Основные рутинной IDL для чтения неформатированных двоичных файлов является readu.

    IDL поддерживает создание и чтение портативный двоичные файлы с дополнительным ключевым словам XDR используется с открытой процедурой. См. IDL руководства.

    Типы файлов обсуждаются в остальной части этого раздела, все измененные двоичные форматы, которые являются стандартными или внутренне документально, что они являются портативными среди компьютерных операционных систем.

ПОДХОДИТ файлов

Стандартный формат данных для большинства астрономических наборов данных на сегодняшний день является гибкая транспортная система изображения (ПОДХОДИТ) формате. IDL астрономии пользователей Библиотека содержит большой пакет подпрограмм для манипулирования FITS файлов. Внутренняя IDL поддерживает множество других общих научных форматов данных (см. руководство для деталей) с аналогичной функциональностью.

    ПОДХОДИТ коммунальные услуги информацию о файле

        fitsdir: список (по выбору) ключевые слова из заголовков FITS файлов в текущем каталоге.

        fits_info и fits_help перечень информации о структуре FITS файлов (количество расширений, размеры заголовков и массивы, и т.д.), не читая весь файл. Это может быть важно, чтобы подтвердить тип файлов (изображения, таблицы и т.д.), с которыми вы имеете дело. fits_info будет работать на список файлов.

        headfits (функции) будет читать полный заголовок FITS файла на диске в переменную IDL (без чтения данных). Вы можете просмотреть содержимое заголовка или печати или hprint команды (последний предназначен для FITS заголовки). headfits будет работать на сжатые файлы (*. Z или *. GZ).

            Например: hprint, headfits ('m87_nucleus.fits.gz)

    ПОДХОДИТ процедуры чтения файла. Есть несколько различных наборов утилит для доступа к FITS файлов. Для сравнения их преимуществах и недостатках см. http://idlastro.gsfc.nasa.gov/fitsio.html. Два наиболее широко используется, вероятно, fits_read и mrdfits.

        fits_read, [имя файла], [изображение имя переменной], [заголовок имя переменной] ... : Читайте FITS файла на диске в IDL изображение и заголовок переменных.

            Пример: fits_read "m87_nucleus.fits, M87, hdm87 / noscale
            Эта команда считывает данные изображения в FITS файла изображения m87_nucleus.fits в текущем каталоге, в активной переменной М87 и соответствующий раздел заголовка файла в активный переменная массива строк hdm87. M87 будет иметь характеристики (байт, целого, плавающего и т.д.) FITS файла данных.

            Дополнительный noscale ключевое слово, используемое здесь, мешает (по умолчанию) автоматическое масштабирование, который преобразует изображение значений потоков с использованием калибровочных параметров в заголовке. Для многих целей, масштабирование неприятность.

        fits_read может работать с расширениями и групп в FITS файлов. Среди альтернатив, fits_read является лучшим выбором для текущего HST наборы данных, например.

        Соответствующей подпрограмме писать FITS файла fits_write (см. ниже).

    ПОДХОДИТ стол коммунальные услуги. Существует целый набор библиотек астрономии пользователя процедуры для чтения, записи или манипулировать ПОДХОДИТ ASCII или двоичный таблицы. Для получения дополнительной информации см. http://idlastro.gsfc.nasa.gov/ftp/pro/fits_table/aaareadme.txt.

        Например, чтобы прочитать FITS файла, содержащего двоичные таблицы источников и извлечь информацию о координатах:

             
                   fits_read "sources_file.fits, стол, hdtable

                   tbhelp, hdtable, список содержимого каждого поля
                                      , Из заголовка

                           , Экстракт РА и ОИК векторов, основанных на
                           ; Tbhelp список:

                   рад = tbget (hdtable, таблица 1)
                   скончавшийся = tbget (hdtable, стол, 2)
                      

        Кроме того, можно выполнять те же добыча следующим образом:


                    ftab_help "sources_file.fits; Список содержимого
                    ftab_ext "sources_file.fits", "РА", "Dec ', рад, скончавшийся
                 

    ПОДХОДИТ заголовок добычи ключевое слово / манипуляции. Есть много команд, в основном, начиная с приставкой SX, которые позволяют добыча и обработка FITS ключевых слов.

        Например, для извлечения и печатать имя цели из FITS переменной заголовок:

            Тарг = sxpar (hdm87 "TARGNAME) и печать, Тарг.

        Чтобы добавить комментарий к истории FITS переменной заголовок:

            sxaddhist, '22 августа 2004: вычитается среднее фоне неба, hdm87

        Чтобы добавить новый параметр в заголовке FITS переменной или изменить существующие, использовать sxaddpar.

СОУ и Ирафского файлы: Эти форматы файлов, в которых хранятся данные и заголовок сегментов в отдельности, в настоящее время устарела, но AstUseLib имеет чтение / запись программы для них. Смотрите strd и irafrd соответственно.

Другие форматы изображений:

    Пользователи дали IDL процедуры читать большинство других стандартных форматов хранения изображений. См.: read_gif, read_jpeg, read_srf, read_tiff, и т.д. Есть соответствующие процедуры записи для всех из них.

    Exelis также предоставляет читателю внутренний файл, который будет читать наиболее коммерчески важных типов файлов изображений. Команда checkim = query_image ([имя файла], информация), чтобы определить, является ли конкретный файл в подходящем формате. Если да, то возвращается значение checkim будет 1 (0, если нет). Более подробную информацию о файловой структуре, тип печати, информация, / ул. Используйте read_image функции, чтобы прочитать файл и связанные таблицы цветов, если таковые имеются (см. файлы справки и следующий раздел для получения информации о цветовой таблицы).

Endian-преобразования

    "Endian" относится к хранению конвенция, принятая для нескольких байт количествах памяти системы управления вашего компьютера. Если самый младший байт хранится первым, это "от старшего к младшему" конвенции. Если младший байт хранится первым, это "прямой порядок байтов" конвенции. Как и следовало ожидать, производители не смогли договориться о универсальный стандарт для порядка байтов. Таким образом, вы, скорее всего, придется столкнуться иногда с необходимостью преобразования порядка байтов для считывания данных из файлов, создаваемых на других компьютерах. Это не является проблемой при чтении / записи FITS файлов. Но она может возникнуть при чтении других типов бинарных файлов, написанных на различных архитектуры компьютера. Признак "байтов-Несс несоответствие" необычно больших или малых чисел в данных, в которой они не ожидали.

    IDL включает swap_endian функция, которая позволяет изменять хранение конвенции данных в сессии. Она также позволяет идентифицировать конвенции, принятой на вашем компьютере, как показано в следующем:


        = 3.0e5; определить большое количество
        б = swap_endian (а, / swap_if_big_endian) и печати, б
             , Если б отличается от, ваша машина Big Endian
             , Если б такая же, как, ваша машина обратным порядком байтов

    Если ваша машина не совпадает с компьютера, который соответствующего файла данных, а затем использовать swap_endian поменять хранимых данных.


5. Воспроизведение изображения

[Вверх к содержанию]
Большая часть власти интерактивных вычислительных исходит от вашей способности сделать немедленные проявления участков или изображений на вашем терминале. Аппаратные соображения посягают больше на создание таких дисплеев, чем на других аспектах интерактивных вычислений.

В этом разделе описываются основные механики графическое изображение и основные IDL командной строки процедуры для создания изображения дисплеев. Если вы заинтересованы только в получении быстрого отображения астрономических изображений, перейти к описанию инструмент ATV дисплей в следующем разделе. Для создания участков, см. 10. Участки ниже.

Цветной графический дисплеи

    Цветные мониторы используют трех цветовых инжекторов --- красный, зеленый и синий (RGB) --- каждый из которых может быть скорректирована до 256 различных уровней интенсивности на данном экране месте. В принципе, поэтому они могут отображать 256 ^ 3 = 16,8 миллионов цветов в любую точку. До последних десяти лет или около того, однако, большинство компьютерных мониторов были способны отображать только один байт (8 бит или 256 различных уровней) информации в данном месте. Они известны как 8-битных мониторов. Пользователи вынуждены были выбирать только 256 из 16,8 миллиона возможных значений цвета для своих дисплеев. Такая ограниченная среда дисплей называется псевдо-цвет или индексированных цветов дисплея. Большинство IDL (и других научных обработки изображений), программное обеспечение, написанное до 2001 года предполагает, псевдо-цветными дисплеями.

    Современные компьютерные мониторы, вероятно, в том числе тот, который вы используете, особенность 24-битных дисплеях. Это означает, что они способны использовать все возможные 3-х цветовых сочетаниях. IDL изображение отображается с помощью этой максимальной цветовой палитры, как известно, как полноцветные дисплеи.

    Наивно, можно было бы ожидать, что все, с надписью "истина" надо быть лучше, чем то, с надписью "псевдо". И вы были бы правы --- если вы заинтересованы в обработке коммерческой цифровой камеры или сделать гламурную пресс-релиз версии астрономических изображений. Но это не главная забота большинства астрономов. Вместо этого, вы обнаружите, что работа с дисплеями в псевдо-цвет (родной для 8-битных мониторов или эмуляции 24-битных мониторов) является наиболее подходящим и удобным.

        Причинами являются, во-первых, о том, что человеческий глаз не может различить даже 256 уровней интенсивности или цвета, так что дополнительные цветовое разрешение возможно в 24-битных дисплеев редко научную ценность. (Эстетика другой вопрос.) Во-вторых, большинство изображений, представляющих интерес для вас будет внутренне однотонные. На самом деле, основные работы анализ изображений в астрономии на основе серого дисплеями. Наконец, использование полноцветные дисплеи требует создания 3-мерного массива (три элемента необходимы в каждой точке х, положение у кормить три форсунки цвета), в то время как научные изображения, которые вы начнете, как правило, от 2-мерной. Преобразование вперед и назад между 2-D и 3-D добавляет ненужных осложнений.

    Соответственно, большинство последующих обсуждений, направленных на дисплеях indexed-color/pseudo-color, будь то на 8-битных или 24-битных мониторов.

Просмотров массивы и таблицы цветов

    Массив, который посылается на ваш монитор для отображения аппаратных должны быть массив, а это значит, что ее значения элемента всегда находятся в диапазоне 0-255.

    24-битных мониторов: На 24-битный монитор выводится массив всегда 3-D IDL массива, одно из измерений которого всегда 3. Каждый индекс в этом измерении кодов для одной из трех форсунок цвета. Массив структура может быть им (3, ширина, высота), им (ширина 3, высота), или им (ширина, высота, 3). В последнем из этих форм, плоскостей красного, зеленого и синего цветов изображения хранятся последовательно. В первом из этих форм, "цвет-тройки" на каждом пикселе хранится вместе, то есть за первые шесть элементов в хранилище будет r_00, g_00, b_00, r_10, g_10, b_10, где r_00 является красный интенсивности (0,0) пикселей, и так далее. Введенные значения конвертируются непосредственно в яркостей 3 монитора инжекторов цвета.

    В случае цветной фотографии, например, 24-бит монитора может отобразить всю палитру цветов, встроенным в изображение, и, следовательно, 24-битные дисплеи называют «истинного цвета" дисплеями. Тем не менее, цвета не обязательно должны соответствовать воспринимается них. Наиболее широко используются полноцветные изображения формата на сегодняшний день является формат JPEG (хотя это обычно не используется для научных данных).

    8-битных мониторов: На 8-битный монитор выводится массив всегда 2-D IDL массива, им (х, у) = п, где называется индексом отображения на пиксель (х, у) . Введенные значения индекса должны быть преобразованы в яркости для 3 форсунок цвет с помощью посредника известный как поиск в таблице цветов.

        Цвет таблицы: Таблица цветов состоит из трех байт вектора R, G, B, каждый 256 элементов долго, содержащий значения от 0 до 255. Если данный пиксель содержит значение индекса п, красного, зеленого и синего форсунок, что пиксель устанавливаются значения [R [п], G [п], B [п]]. В результате появления на экране компьютера, поэтому зависит как от значения массива и таблицы цветов.

        Для «серого» цвета стол, R [п] = G [п] = B [п]. Если три вектора содержат различные элементы, цветной дисплей появится. Эти цвета не имеют необходимого отношения к внешнему виду и свойствам объекта на изображении, поэтому такие дисплеи называют «псевдо-цвет" дисплеями, в целом, они называются "индексированные цвета" дисплеями. Тем не менее, есть прямое соответствие между значениями индекса в массиве изображений и цвета, которые появляются на экране. Хотя это не добавляет основной информации, псевдо-цветной дисплей 1-массив может быть очень полезно в изучении тонких структур в сложных изображений, например. Псевдо-цветными дисплеями не должны появляться "неестественной", они могут приближены полноцветный дисплей, но по своей природе ограничен только 256 уровней цвет / интенсивность. Формат GIF сохраняет изображение в 2-D индексироваться форме прилагаемой таблице цветов.

        На 24-битных мониторов, таблица цветов используется в "эмулируемого" Индекс-цветном режиме комплекте с устройством, разложить = 0 команда (см. следующий пункт). Но цветовые таблицы не имеют никакого эффекта в стандартных полноцветный режим, описанный выше.

    Индексированных цветов дисплеи на 24-битных мониторов: Потому что индексированные / псевдо-цветными дисплеями более полезным во многих научных приложений, чем истинный цвет, IDL позволяет эмулировать индексированных цветов дисплея на 24-битных мониторов. В этом режиме вы снова должны предоставить 2-D массив изображения и таблицы цветов поиска (как и для 8-битных мониторов). На дисплее команд будет использовать таблицу цветов для создания 3-D полноцветные изображения, которое будет отображаться на мониторе так же, как псевдо-цветное изображение появился бы на 8-битных мониторов. Для того, чтобы использовать этот режим, вы должны объявить устройства, разложить = 0 (подробнее в следующем разделе).

Установка Visual Mode Display на вашем компьютере

    Первый шаг заключается в определении которой «визуальные классы дисплей" ваше оборудование может поддерживать. В LINUX строке введите xdpyinfo. (Вы должны быть в X-окна, чтобы использовать эту команду.) Это выведет список возможных конфигураций дисплея в вашей системе. Запись "класса: Псевдоцвет, глубина: 8 самолетов" означает, что ваша система поддерживает 8-бит псевдо-цветными дисплеями. Запись "класса: TrueColor, глубина: 24 самолетов" означает ваша система поддерживает 24-битные полноцветные дисплеи. Некоторые системы поддерживают оба из них.

        На Apple MAC OS-X системы, стандартный X-11 пакет может быть установлен на различных визуальных классов. Начало X-окна. Нажмите на X11 ===> Настройки === Выходные>. "Цвета" меню дает вам выбор числа возможных цветов. "256 цветов" псевдо-цветном режиме. "Миллионы цветов" истинно-цветном режиме. (Большинство X-11-релизы поддерживают оба.) Сделайте свой выбор. Вы должны выйти из X-11 программы и перезапустить его, чтобы изменения вступили в силу. Вы можете проверить свой выбор, давая xdpyinfo команды в X-Window.

    Определить визуально класс для сессии. Начать IDL. Первой командой вы даете, который ссылается на функцию витрины или устройства утилита определяет визуальный класс дисплей, который будет использоваться на протяжении всего сеанса. Вы не можете изменить класс после первой команды. Таким образом, обычно лучше поставить явных команд конфигурации с помощью устройств вызова в файл запуска, который выполняется перед интерактивная сессия начинается. Три соответствующих форм устройства разговора, являются следующие:

        Для 8-бит псевдо-цвет: устройство, сохраняют = 2, pseudo_color = 8

        Для 24-битный цвет: устройство, сохраняют = 2, true_color = 24, разложить = 1

        Для 24-битных эмулируемой псевдо-цвет: устройство, сохраняют = 2, true_color = 24, разложить = 0

    Сохранить = 2 Ключевое слово запросы IDL для обработки "резервное хранилище" для экрана (который содержит копии части экрана, которые были перезаписаны), что позволяет избежать сбоев, которые могут возникнуть, если вместо того, чтобы ваши окна системы делает резервную копию.

    Эти команды должны быть предоставлены до того, как окно создано во время сессии.

    При отсутствии прибора команды, по умолчанию предполагается, на 24-битных мониторе true_color = 24, разложить = 1.

    Чтобы проверить текущее состояние вашего графического устройства, тип помощи, / Dev. (Примечание: эмулируемого псевдо-цветном режиме указывается запись "пикселей Графика: Комбинированный".)

    Хотя вы не можете изменить визуальный класс после того, как ее первое внедрение в течение данной сессии, в 24-битном режиме, вы можете переключаться между устройством, разложить = 1 и устройство, разложить = 0, как хотелось бы.

    Зарезервировано цветов на 8-битных мониторов: С 8-битный монитор, максимальное количество цветов, доступных для всех приложений, 256. Когда IDL вызывается, она, как правило, смогут получить только часть из них, скажем, 210, для его использования с вашим менеджером окон, потому что другие приложения (Firefox, Acrobat и т.д.) будут уже зарезервированы некоторые цвета. Число будет варьироваться в зависимости от количества конкурирующих приложений. Стандарт передачи изображений и отображение процедуры, как и tvscl tvlct принимать это во внимание при использовании меньшего количества цветовых уровней, но приспосабливая их к полным динамическим диапазоном возможно на ваш терминал. Например, цвет векторов может быть всего 210 элементов долго, но это будет колебаться в значение индекса от 0 до 255. Количество цветов содержится в системной переменной! D.n_colors или могут быть отображены с помощью / разработчика.

    "Цвет мигает": Если на всю 8-битный терминал из мигает или изменяет цвет при наведении курсора на окно IDL, то IDL использует "частные таблицу цветов", который будет применяться ко всей экране, когда курсор активирует его. Это, вероятно, означает, IDL пытается использовать больше цветов, чем были свободны в общей таблицы цветов. Чтобы смягчить проблему, попробуйте следующее:

                   Выход IDL
                   Перезагрузка IDL
                   В первые две команды, типа:
    Устройство, сохраняют = 2, pseudo_color = 8
                       окна, 0, кол = к

    ... Где к минимальным количеством цветовых уровней вы думаете, будет приемлемо в дисплеях.

    Цвет мигать не будет происходить на 24-битных мониторов даже имитация псевдо-цветном режиме.

Преобразование изображения для дисплея

    Самая трудная часть отображения изображений выбора диапазона изображения значения, которые нужно отобразить, а затем сделать их отличными на экране.

    Массив вы посылаете ваш дисплей должен быть 2-D массив (псевдо-цвет) или 3-D массив (полноцветный). Описание ниже для внутренней или эмулируемой псевдо-цвет, основываясь на 2-D изображений и включать использование таблицы цветов. Существуют различные утилиты для преобразования исходного массива (часто с плавающей запятой) в необходимый формат и автоматически отображая его с заранее определенными таблицами цвета.

    Во-первых, вы должны принять решение о размере и форме дисплее. В зависимости от применения и размер (в пикселях) вашего монитора, вы можете сжать оригинальный образ или извлечь подмассивы от него. Для того, чтобы проверить пиксельная структура изображения, вы можете расширить изображение так, что один оригинальный пикселей занимает, скажем, 10x10 пикселей область на экране. Основные утилиты для извлечения или увеличение изображения обсуждается в разделе «Данные инспекции и манипуляции" ниже.

    Далее, вы должны определить диапазон исходных значений изображения, Imin в IMAX, вы хотите увидеть. Человеческий глаз не может нормально выделить 256 уровней либо серого или цвета, и астрономических изображений, часто содержат гораздо больше, чем 256:1 диапазон интенсивности. Лишь в редких случаях вы хотели бы, чтобы отобразить весь спектр значений, представленных в изображении. Обычно существует значительная фоне неба или смещения / темновой ток пьедестал, который необходимо вырезается. Часто самые высокие значения изображения, вызванного космическими лучами или другие артефакты и лежат гораздо выше значений научный интерес.

        Для определения соответствующих мин / макс значения можно перейти путем проб и ошибок, перебора изображений. Более объективные методы включают использование гистограммы изображения значение, определение режима фоне неба и его стандартное отклонение, а также создание участков образца ломтиками поперек изображения. Или, вы можете положиться на любого из нескольких программ в пользовательской библиотеки.

    Далее, вы должны принять решение о преобразовании или масштабирования между значениями изображение и отображение значений. Наиболее распространенным является линейной функцией преобразования, в котором нулевой точке определяется Imin и наклон определяется IMAX-Imin. Оригинальный диапазон значений изображение делится на 256 равных бункеров для отображения. Контрастности на дисплее увеличивается с наклоном, которая обратно пропорциональна IMAX-Imin. Большинство изображений дисплей процедуры (такие, как tvscl) используют линейные преобразования.

        В зависимости от распределения интересных значений изображения в выбранный диапазон, нелинейные преобразования могут быть более полезными. Например, чтобы увеличить контраст при более низких значениях изображения и уменьшить его на более высокие значения, можно использовать преобразования, такие как alog10 (F), F = 0,3, или ASINH (е). Сегментированный линейной или шаг преобразований может быть полезным. Независимо от специальных превратить вас применять к изображению, вы можете использовать стандартный (линейный) процедуры для отображения преобразованного значения.

        Кроме того, в псевдо-цвет можно использовать линейное преобразование изображения ценностей, но манипулировать таблицы цветов для достижения нелинейной дискриминации в изображение. В некоторых ситуациях это может быть предпочтительнее, но это, как правило, сложнее, чем просто изменение математического преобразования.

    Наконец, вы должны выбрать таблицу цветов для отображения и применить его. Появление изображения может резко измениться в зависимости от настроек таблицы цветов. В псевдо-цветном режиме таблицы цветов хранится отдельно от оборудования и всегда готова быть применены к изображению. В таблице цвета по умолчанию является линейной серого хода от 0 до 255. IDL обеспечивает в общей сложности 41 предопределенные таблицы цветов, и есть различные инструменты для изменения тех или создания новых.


Команды изображения Дисплей:

Основной вывод графики IDL процедур для открытия, отображения и настройки окна изображения дисплея окна, которое создает новое окно, и размеры его, wset, который определяет "текущее" окно и wshow, который показывает (или скрывает) в текущем окне . wdelete удаляет окно. Эти процедуры используются в сочетании с двумя основными изображение дисплея процедуры ТВ и tvscl.

    Например, чтобы открыть окно 512x512 с номером 9 в нижнем правом углу терминала:

              
                  окна, 9, XPos = 750, YPos = 50, xsize = 512, ysize = 512 $
                     Название = 'IDL Окно изображения "
                  wset, 9
                  wshow

    (Все аргументы в окне рутина не являются обязательными).

    Основной ТВ и tvscl команды не изменить размер текущего окна размер отображаемого массива.

Процедуры чан, cdel, CTV, ctvscl описанные ниже MOUSSE версии IDL внутренних оконных / отображения процедур. Они предлагают важные особенности удобства, которые делают работу с изображениями быстрее (например, масштабирование размеров окна на размер изображения, сочетания множества окно и показать функции, произвольные мин / макс значения для отображения и т.д.). Эти процедуры используются специальные общие блоки, а также для инициализации тех, необходимо запустить файл Мусс запуска (см. Приложение C). Описание ниже для этого набора заменители внутренних процедур.

        Примечание: CTV и ctvscl предназначены для 8-бит псевдо-цветной или 24-битный эмулируемой псевдо-цветными дисплеями только. Они не поддерживают полноцветные дисплеи. Если вы хотите показать внутренне полноцветные изображения, вы должны использовать телевидение и tvscl.

    чан, N (по аналогии с внутренней wset): выберите N окно для отображения. Это становится «активным» окно, то есть для ввода / вывода Курсор будет работать только на активное окно. Создает и показывает окно, если оно не было раньше (т.е. заменителей окна и wshow функций). N может быть от 0 до 31. [Несмотря на дисплее будет автоматически открыт любым дисплеем процедуру в первый раз она называется, вы должны использовать процедуру канал первым, если вы хотите воспользоваться муссом функциональность. Это также хорошая идея, чтобы сохранить имидж и построение витрин отдельно.]

    cdel, N (по аналогии с wdelete): Удалить окно л. Вы также можете бросить курить или сворачивания окон во время сессии IDL с помощью регулярных функций оконного менеджера.

    CTV, изображение (по аналогии с ТВ): дисплей изображение в текущее окно (окна или 0, если другое окно было открыто) без масштабирования путем передачи значений пиксела изображения непосредственно в окне буфера. Изображение буфер будет содержать байт (изображение) --- я. Е. Значения от 0 до 255 --- только и "перенос" для значений 256 и выше. Только! D.n_colors различных значений может быть отображен (определяется монитор). Размер окна регулируется в соответствии с исходным изображением (в пикселях). Среди прочего, CTV могут быть полезны для поиска интересных особенностей низкий контраст изображения с большим динамическим диапазоном.

    ctvscl, изображение (по аналогии с tvscl): как для CTV исключением того, что буфер значения масштабируются линейно между небом значение (настроена на отображение значения 0), а также высокая точка определяется дисперсии потоков в изображении. Существует нет упаковки. Максимальное количество цветов уровня отображается на экране! D.n_colors. ctvscl как правило, гораздо более полезным, чем CTV, она имеет ряд дополнительных возможностей, вы можете исследовать.

        Если вам не нравятся значения по умолчанию, вы можете указать максимальное и минимальное значения данных, используя дополнительные ключевые слова макс и мин. Например

        ctvscl, M87, мин = 30, макс = 8000
        Легко повторять дисплеев ссылаясь на командную строку и редактирование мин, макс значения.

            На этом примере вы можете увидеть преимущества масштабирования изображения в удобных значений в диапазоне от 0 до нескольких тысяч, а не по фактическим значениям потока. Чтобы изменить масштаб, используйте команды типа М87 = 1.0e15 * M87. В самом деле, если качество дисплея ваша единственная забота, нет никакого смысла в сохранении фактического значения потока в рабочей набор изображений. Только помните, не использовать изображение для масштабных вычислений, где единицами материи.

        Примечание: внутренние рутины IDL tvscl не принимает мин / макс ключевые слова и всегда весы от 0 до максимального значения, данные в изображении. Если это не подходит, вы должны самостоятельно обрезать изображения до ввода в tvscl. Из-за этого, на дисплее после команды ctvscl, изображение будет отличаться от tvscl, образ.

Команды Таблица цветов

    Команду, чтобы изменить («нагрузка») хранится таблица цветов является tvlct, R, G, B, где вы должны быть определены три вектора заранее.

        Для записи текущей таблицы цвет векторов (например, для проверки их состояния или в качестве основы для их пересмотра), используйте tvlct, RR, GG, BB / получить.

    Набор из 41 готовых таблиц цвета поставляется с IDL, они могут быть загружены с loadct, N команда, где N изменяется от 0 до 40. По умолчанию серого загружается командой loadct, 0.

        Вы можете попробовать и загрузить поставляемый таблиц в использовании графический интерфейс внутренней xloadct рутины.

        Вы можете исследовать соответствия между цветом и индекс, используя Дэвид Фаннинг cindex рутины.

    В большинстве 8-битных мониторов, на дисплее будет автоматически обновляться каждый раз, когда таблица цветов изменяется (в loadct, N команды, например). Тем не менее, на 24-битных мониторов необходимо перезагрузить изображение для того, чтобы изменения в таблицу цветов вступили в силу (даже имитация псевдо-цветном режиме).

    Различные инструменты доступны для настройки поставляется таблицы цветов или создания новых. К ним относятся xloadct, xpalette, стрейч, и Дэвид Фэннинг в xcolors.

    Самый быстрый способ обратить вспять стандартный белый на черном цвете таблице от 0 до черного цвета на белом смысле предпочитают астрономы, которые более чувствительны к слабой особенности, заключается в следующем. Это было бы полезно, чтобы код процедуры или скрипта.

           
                      loadct, 0
                      tvlct, RR, GG, BB / получить
                      RR = обратном (я)
                      tvlct, я, я, р-р

Другие полезные команды Display

    Для отображения логарифмически растягивается изображения: ctvscl, alog10 (изображение). Очевидно, что вам нужно убедиться, что изображение не содержит нуля и отрицательных чисел. Быстрый способ обрезать низкие значения является использование синтаксиса alog10 (изображение> к). где А является скаляром. Обозначения (х> у) означает «максимум пару х, у."

    Используйте предопределенные таблицы поиска для преобразования изображения значения, например, их логарифмов. Быстрее, чем на самом деле преобразования значений с помощью alog функции. Например: для целых массивов изображений со значениями в диапазоне от 0 до 1000, попробуйте следующее:

      
                т = findgen (1000) и т [0] = 1
                quiklog = alog10 (т)

                ctvscl, quiklog (изображение)

        Примечание: В IDL, форма array1 (массив2) возвращает значения array1 в элементах указанного значения в массив2. array2 должно быть целое число или длинное слово целого массива.
    CImage = tvrd ([аргументы]): Скопировать содержимое активного окна изображения буфера в переменную CImage. Будьте уверены, что нужное окно активно (например, с помощью каналов, N), и что окно полностью видна на экране терминала перед вызовом tvrd.

        tvrd полезно сохранить внешний вид дисплея после того, как манипулировать ввода изображения или таблицы цветов или аннотированный дисплей, он является основным инструментом в процедуры, которые делают печатном графики дисплеев. Однако это тот случай, когда поведение определяется визуальным классом ваш графический дисплей.

        8-бит псевдо-цвет: окна буфера содержит 2-D байт изображения, которая копируется с помощью команды CImage = tvrd (). Обратите внимание на пустые скобки (если вы хотите скопировать все окно). В этом случае CImage является 2-х байт масштабного вывода изображения на последний звонок на ТВ или tvscl процедур. Если вы также сохранить текущую таблицу цветов с tvlct, RR, GG, BB / получить, вы можете позже воспроизвести внешний вид дисплея с помощью команд

                        ТВ, CImage
                        tvlct, RR, GG, BB

        Вы можете сделать постоянную копию экрана в файл GIF с командой write_gif "copy.gif, CImage, RR, GG, BB. С серого цвета таблицы, массив c2image = я (CImage) будет воспроизводить то, что вы видели на экране.

        24-битный эмулируемой псевдо-цвет и полноцветные: Окно буфер содержит 3-D изображение, которое копируется командой CImage = tvrd (правда = N). Здесь ключевое слово истинного (значения 1-3) определяет, над которой измерение в полученном массиве цвета будут чередоваться. Появление на дисплее могут быть воспроизведены с помощью команды телевизор, CImage, правда = N. Вы можете сделать постоянную копию экрана в файл JPEG с командой write_jpeg "copy.jpg, CImage, правда = N. Потому что JPEG является "потерей" формате, копия точно не будет, если вам нужны точные версии (которые могут быть прочитаны в одной из последующих сессий IDL), вы можете сохранить в формате TIFF.

        В 24-битных разложить = 0 режим, цветовые таблицы были использованы для создания 3-D изображение дисплея, но вы не можете "поддержать их" из CImage для того, чтобы восстановить 2-х байт версии, которая была создана оригинальная tvscl команды. Можно, однако, создать 2-D изображение, которое приближается к оригинальной версии следующим образом: newver = color_quan (CImage, N, RR, GG, BB). Здесь, RR, GG, BB представляют таблицы цветной печати необходимы для правильного отображения 2-D массив newver. Вы можете снова отобразить новое изображение или сохранить его и таблицы цветов в формате GIF.

        Дэвид Фаннинг tvread является более сложной, аппаратно-независимая версия tvrd функции для 8 - и 24-битных мониторов и, возможно, записывает различные типы выходных файлов.

    мигает, windowlist: мгновение между окнами. Windowlist является вектор, содержащий число окон мигать (по порядку). Например мигает, [0,2,1]. Для сравнения различных экспозиций одного и того же поля (например, два различных фильтров), вам нужно будет настроить масштабирование двумя независимыми с ctvscl перед вызовом мигать. Для завершения необходимо ввести в окне командной строки, которая может потребовать от вас использовать оконный менеджер, чтобы привести его. Blink скорость можно регулировать.

    TVBox ...; ... tvcircle; tvellipse ..., и т.д.: рисовать различные фигуры в активном окне, например, для поиска точечных источников, определенных других процедур. Чтобы удалить их, необходимо заново загрузить изображение в окне. Настройте цвет или темноту пометки с помощью ключевых слов цветом.

    xyouts ... Запись текста в активном окне. Различные шрифты доступны. Для удаления ранее написанный текст, Вы должны повторно загрузить в окно.

    дворняги, типа: выберите графический курсор типа

    Чтобы ознакомиться с позицией курсора на активное окно: Используйте курсор рутины.

    set_plot, [имя устройства]: позволяет изменить текущее устройство вывода. Как правило, вы будете использовать X-окна графического вывода, для которого команда set_plot », х. (Это будет установлен по умолчанию, когда вы начинаете IDL сессии). Единственный тип устройства вывода вы часто иметь дело с является PostScript файла. Вы можете переключать вывод в файл PostScript, набрав set_plot ", пс. Вернуться к X-окна, набрав set_plot », х. (Команда канала автоматически возвращает вас к X-окна по умолчанию). Вы можете определить, в настоящее время предполагается, параметры устройства, набрав помощь, / Dev. set_plot поддерживает целый ряд других устройств, а также (см. IDL руководства).

Изображение объекта Graphics Display Software

    Описание выше для основного IDL "прямой графика" команды дисплей, но изложить соображения, лежащие в основе любой системы изображений. IDL также предлагает аппаратно-независимый "графический объект" в режим программирования, который является основой для создания более сложных дисплеев GUI. Вам нужно некоторый опыт работы с IDL, прежде чем сделать свой собственный объектно-ориентированного программирования. Тем не менее, целый ряд приложений с графическим интерфейсом находятся в открытом доступе, например: поставляется "Workbench" Окружающая среда и инструмент iImage дисплей; imdisp Лиам Gumley в и Дэвид Фаннинг tvimage. Вы должны изучить эти и рассмотреть их сильные и слабые стороны. Большинство таких инструментов, которые не ориентированы на астрономических изображений. Важным исключением, ATV, описанный в следующем разделе.

Ссылки на изображения дисплеи

    В конце концов, вы можете прочитать больше, чем здесь о методах вывода изображения, хотя я рекомендую, чтобы новые пользователи просто окунуться вперед и опыт успехов и неудач на своей первой. Хорошее введение в цветных дисплеев в IDL Дэвид Фаннинг "Работа с цветом" рецензия. Также см. его "Color Советы" страницы. Основные введение Exelis является глава 5 «Основы графического дисплея" в использовании IDL руководства. Более подробную информацию о изображение дисплея и использование цвета может быть найден в режиме он-лайн справочная система в разделе "Обучение IDL / IDL Показать понятия"; примеры главным образом связаны с полноцветными графическими форматами (например, JPEG, TIFF, PNG). V7.0 ручной обработки изображений включает преобразование изображения методы интерес еще в науках о Земле и медицины, чем астрономия. Для общего фона на специально астрономической обработки изображений, см. табл ректора и др., "обработки изображений для создания презентационного качества астрономических изображений", AJ, 133, 598, 2007,. И Р. Lupton и др., «Подготовка. Красно-зеленый-синий изображения из данных ГТД, "PASP, 116, 133, 2004 год.


6. ПРОВЕРКА ДАННЫХ И МАНИПУЛЯЦИИ

[Вверх к содержанию]
Инструменты, описанные здесь, ориентированы на анализ 2-D изображения, но большинство из них полезны для любого типа массива данных.

Массив манипуляции:

    Вы можете работать на имидж массивы, используя любой обычный IDL, которая принимает 2-D входы, включая полный набор стандартных арифметических и других математических функций. Большинство таких процедур являются массив-ориентированных и не требующих для беспокойства делать циклы или элемент структуры массивов.

    Большинство IDL математических функций, вести себя разумно и дать вам результаты, которые вы интуитивно ожидаете. Например если б это массивы с одинаковыми размерами, то С = A * B производит массив с такими же размерами, в котором каждый элемент является произведение соответствующих элементов а и Ъ. (Есть отдельные операторы - #, # # --- для других типов матричного умножения.)

    Многие виды обработки изображений может быть выполнено с одной линии команды в IDL. Например:

        Пограничный обнаружения: ctvscl, сдвиг (1,1)

        Нерезкого маскирования: ctvscl,-гладкая (A, K) показывает разницу между исходным изображением и вагон-сглаженная версия с длиной сглаживания пикселей к. Это быстрый, но сглаженных изображений включает в себя воздействие резких структур (например, звезд). Лучше, хотя и медленнее, чтобы выполнить, является ctvscl,-средний (A, K).

    Изменения, конечно, сделал для временных наборов данных, хранящихся в памяти. Исходные файлы, данные которого были переданы в сеанс IDL не влияет (если вы называете специальные процедуры манипуляций файл). Однако это также означает, что стационарная версия модифицированного изображения не хранятся в конце сеанса IDL, если вы намеренно сохранить набор данных или записи новых файлов вывода (см. следующий раздел).

    Если вы хотите сохранить применимость изображение заголовка манипулировать изображения, то вы должны обновить заголовок после каждого изменения. Вы можете добавлять комментарии к существующим заголовком, используя sxaddhist рутины. Изменения, которые не влияют на ключевые слова, включенные в заголовке (например, небо вычитание, удаление фоновых звезд) можно просто документально этот путь. Тем не менее, изменения в потоке масштаба или, тем более, формат изображения (за счет добычи, вращение, rebinning и т.д.) обычно требуют, чтобы ключевые слова быть изменен для того, чтобы позже подпрограммы будет функционировать должным образом. Специальный набор AstUseLib процедур, в том числе hextract, hrot, hastrom, hrebin и т.д. будет делать стандартные манипуляции с изображениями и изображения заголовков одновременно. Астрометрические информацию, например, будут сохранены.

Данные проверки:

    печати, не более (а), печати, не менее (а), печати, минимакса (а), печати, средний (а), печати, разница (а), печати, средний (а), печати, момент (а): печать различные статистические свойства изображений массива. (Момент печатает первые четыре минуты.)

    Для оценки уровня фона, используйте небо.

        Небо работает оценки режима изображения значения. В связи с этим предполагается, что существует еще очень много пикселей вблизи уровня фоне неба, чем есть источник пикселей. Это не будет хорошо работать в случае очень низкое небо фон, где небо гистограмма не гладко непрерывным.

    Чтобы извлечь и изучить подмассива, вы можете использовать стандартный индекс IDL нотации. Например

             = часть изображения [100:200,150:250]

        извлекает 101x101 подмассива с картинки. Вы можете интерактивно определять края сферу интересов использованием curval или курсора.

    Чтобы увеличить (или компресс) массива: новые = Rebin (изображение, N, M). N и M должны быть кратные текущий размер изображения. Сжатие часто необходимо с изображениями, которые слишком велики, чтобы уместиться на экране монитора (как правило, ограничивается примерно 1000x900). Пакеты, как ATV и SAOimage этого сжатия автоматически.

        Для увеличения, добавить ключевое слово / образца, если вы хотите сохранить первоначальную структуру пикселей. Это заменяет ближайший сосед выборки для билинейной интерполяции, который является по умолчанию.

        Для regrid изображение без кратных оригинальном формате, используйте frebin или congrid Если вы собираетесь сделать поток меры из сжатых или расширить изображение, убедитесь, что масштаб результата, так что поток сохраняется в данном регионе исходной изображения. Например, если вы используете Rebin сжать MxM изображение изображения NxN использованием образцов = 0, каждый пиксель в результате чего изображение будет содержать среднее соответствующих пикселей в оригинале, так что общий поток раза меньше k2 , чем в оригинале, где А = M / N.

    Отметка значения в заданном диапазоне: использовать функцию где. Например: для выделения пикселей, содержащих -666 флаг:



           TX = изображение, создать временную копию (если вы этого не сделаете
                             ; Ум развращает исходный массив)
           искатель =, где (TX экв -666); создать перечень соответствующих пикселей
           TX [поиска] = 10000; выделить их (мы считаем нормальными значениями TX
                             , Являются << 10000)
           ctvscl, штат Техас, = 0 мин, макс = 9000; флагом пикселей теперь выделяются
       

    Для преобразования координат между десятичными и sexigesimal форме, используйте шестьдесят [десятичной sexigesimal] десять [sexigesimal в десятичную], или radec [RA и ОИК из градусов в sexigesimal]. Например:

        radegrees = 15.0 * десять (22,30,17.5)

Специальные мониторы и участки

    Чтобы построить весь столбец: сюжет, образ [N *], для построения значений между рядами R1 и R2 в столбце: сюжет, образ [N, r1: r2].

    Чтобы построить ряд: сюжет, образ [*, N].

    Для интерактивного выбора сюжета и строк или столбцов с помощью курсора: попробуйте профилей.

    Чтобы построить среднюю из 5 соседних столбцах: сюжет, ср (изображение [c0: c4 *], 0). За 5 соседних строках: сюжет, ср (изображение [* r0: r4], 1].

    Чтобы извлечь кусочек изображения с произвольной начальной и конечной точек (выбранных из курсора в активном окне и, помеченные буквой «резинка»): срез = профилей (изображение). Вы можете построить добычи.

    curval, изображение: считывать изображение значений в каждом пикселе в интерактивном режиме с курсором в текущем окне. Для преобразования потоков, RA, DEC, используя информацию из заголовков изображений, использовать curval, образ диска, образ, в котором образ диска является ассоциированным переменной заголовка. Внутренняя рутина IDL для считывания изображения значений rdpix.

    tvlist, изображение: печать матрицы изображения значений в окрестности курсора в текущем окне. Опции для записи в файл. imlist похож, но координаты вводятся в (не использовать окно / курсор).

    зум: отображает увеличенную часть изображения в текущем окне по центру курсор. Средняя кнопка мыши изменения коэффициента масштабирования. Правая кнопка выхода. Работы по копированию отображаемой в данный момент окна буфера, а не исходные значения изображения, и текущая версия работает только для псевдо-цветными дисплеями. Увеличенный окно обращается в нуль на выходе. Ключевое / непрерывное может быть использован для следить за движением курсора.

    Сглаживание изображений часто бывает полезным в борьбе с низкой контрастностью или зашумленных данных. Различные варианты доступны в IDL, наиболее широко используются гладкие и средний, которые дают среднее вагон и средние значения, соответственно.

        Чтобы отобразить изображение сглаживается 5x5 пиксель вагона в одну строку: ctvscl, гладкий (изображение 5).

    поверхности, изображение: производит участка поверхности (прогноз 3-D) изображения. См. IDL пособий для многих усовершенствований доступны в построении поверхности (например, shade_surface).

    plothist, изображение: оценка гистограммы значений пикселов в изображении и построить результат. По умолчанию гистограмма идет от минимального до максимального массива с бен размере 1,0 единицы. Необходимо ограничить xrange, когда массив содержит небольшое количество реальных или ошибочных значений, которые являются очень большими или очень маленькими. По умолчанию предполагается, что массив содержит целые значения. Дополнительные параметры настройки отключений и биннинга. Гистограмма функция вызывает сильные эмоции, вникать глубже в разделе "Гистограмма: Breathless ужас и отвращение", руководство Дж. Смит.

    контуром, изображение: участок контура диаграммы. Чтобы задать контур уровня, использовать уровни ключевых слов. Например построить 10 уровней контура при значениях 25, 50, 100, 200 ...:


                           NUP = findgen (10)
                           clev = 25. * 2 ^ NUP
                           контуру, изображения, уровня = clev

        В качестве примера размещения участка линии контура на изображении дисплей, см. заголовок imdisp рутинной Лиам Gumley в.

Показать ATV изображения и инспекции инструмент

    ATV является IDL графический интерфейс программы, написанной Аароном Барт который сочетает в себе возможности вывода изображения с большим количеством образа приспособления для контроля только что описал. Он предназначен для астрономических изображений, и его внешний вид и поведение похожи на SAOimage (например, здесь).

    ATV является быстрый и простой способ проверки изображения (яркость, х или у профилей, морфология и т.д.), делать грубый анализ, как получить FWHM и диафрагмы фотометрии источников, а также извлечение РА, DEC позиционной информации из заголовков. Она ориентирована на оптический / ИК-изображений, но будет работать на любом виде 2-D изображение. ATV является лучшим местом для начала, если вы хотите изучить графический интерфейс IDL дисплеев для астрономии. Код общедоступной, и вы можете легко настроить поведение по умолчанию, если вы того пожелаете.

    В UVa, ATV программное обеспечение хранится в / Astro / IDL / ATV и включена по умолчанию на вашем пути IDL. Для запуска ATV, типа ATV.

        Для просмотра существующих изображений IDL массив ATV, типа ATV, изображение

        Для просмотра изображений непосредственно с FITS файла на диске, типа ATV, [filename.fits] или воспользоваться меню "Файл" выпадающего меню.

    ATV позволяет масштабирование и бродить изображений. (Он автоматически сжимается или извлекает из образов слишком велик для экрана). Вы можете настроить масштабирование изображения, например, с "Min / Max" коробки запись и выбрать между линейной, журнал, или ASINH масштабирования. Вы можете интерактивно настраивать zeropoint и контраст в цвете таблицы (набор MouseMode на "Color" и переместите курсор на изображение, удерживая левую кнопку мыши).

    Использование одного нажатия клавиши, вы можете отобразить строку участок (г), столбец участка (с); поверхности участка (ов), контур участка (т), гистограмма (ч), или местная статистика изображение (я). Вы также можете быстро сделать извлечение из спектра спектральных изображений (х).

    Команда делает с апертурой фотометрии (DAOPHOT-стиле, с вычитания фона) на выбранном компактный источник, с возможностью отображения радиального профиля источник. Фотометрии, в том числе FWHM, может быть сохранена в файл.

    Изображение отображается в ATV можно легко хранить в PostScript, ПОДХОДИТ, JPEG, TIFF, PNG и формат выходного файла. Вы можете отметить дисплей или добавить overplots перед выводом.

    ATV против SAOimage (ds9): по умолчанию в ATV производства лучше начальными проявлениями UV / оптический / ИК-изображений, чем в SAOimage и дисплеи проще настроить. Средства ATV инспекции не будут найдены в SAOimage. Тем не менее, SAOimage поддерживает идентификацию "регионы" для извлечения другого программного обеспечения и более легкий для мигают два и более изображений и в принятии быстрых RGB композитного из 3-цветных изображений.

    ATV ссылки (UCI)

        Общая информация

        Инструкции о том, как использовать ATV

Изготовление синтетических изображений для тестирования программного обеспечения:

    Вы можете мгновенно создавать тестовые изображения с таких команд, как тест = findgen (512 512).

    Эксперимент с дисплеем / курсор процедуры использования тестовых изображений, содержащих "горячих пикселей", например, Тест = fltarr (512512) +1000. И тест [150250] = 20000., Ступени, градиенты, и так далее.

    Для создания 16-уровня "тестовый образец" ступенчатого, единые части изображения 100x100 пикселей с управлением от 0 до 240:


        PATT = bytarr (400400)
        Q = bytarr (100,100) +16
        для г = 0,3 сделать для = 0,3 сделать PATT [я * 100, * 100 у] = (я +4 * J) * д
        CTV, PATT

    Синтетические точечных источников могут быть созданы быстро, поставив "горячих пикселей", где желаемое, а затем convol-Винг результат с функцией рассеяния точки.

    IDL на генераторы случайных чисел могут быть очень полезны в таких приложениях. Например, чтобы добавить гауссовские фотонного шума на массив, содержащий предсказал фотон имеет значение:


        б = размер (массив)
        шум = SQRT (массив) * randomn (семена, б [1], б [2])
        noisyarray = массив + шум

        (Здесь, значения каждого пикселя в исходном массиве, как предполагается, будет больше, чем ~ 30 пунктам. В противном случае используется ключевое слово Пуассона для моделирования фотонный шум).


7. Данных и изображений ХРАНЕНИЕ

[Вверх к содержанию]

[До данных и поиска изображений]
ASCII-файлов

    Лучший способ сохранить небольших наборов данных (например, фотометрии выход) в виде ASCII-файлов, так как они легко редактируются и транспортировать (см. выше). Пример сценария для записи файла, содержащего имена целей, координаты и яркости может выглядеть следующим образом:


           get_lun, блок
           openw, блок "OutputFile"
           т = (a15, 3x, f9.5, 3x, f9.5, 3x, F6.2) "
           для г = 0, numtarg-1 сделать Printf, единицы измерения, формат = форма, $
                   targid [я], radeg [я], decdeg [я], vmag [я]
           близко, блок
     

    Примечание: Вы можете проверить выходной формат, делая пробную печать на терминал, с помощью заявления, как:


           т = (a15, 3x, f9.5, 3x, f9.5, 3x, F6.2) "
           для г = 0, numtarg-1 делают печать, формат = форма, $
                   targid [я], radeg [я], decdeg [я], vmag [я]
        

    forprint это удобная утилита для AstUseLib печати нескольких векторов либо экран или текстовый файл, формат ключевых слов не нужно задавать.

Двоичных файлов: см. описание бинарных файлов выше. Основные рутинной IDL для написания неформатированных двоичных файлов является writeu. Для создания файлов, которые являются переносимыми между операционных систем, использование дополнительных ключевых слов XDR с открытой процедурой.

ПОДХОДИТ файлов: Чтобы написать FITS файлов из переменных IDL, использовать fits_write.

    fits_write, [имя файла], [образ переменной], [заголовок переменной]: Запись изображения на диск в формате FITS. Полученный файл будет иметь имя [имя файла]. Припадков.

    Если изображения были изменены, и вы не использовали AstUseLib заголовок отслеживания таких команд, как hextract, hrot, hastrom, hrebin, и так далее, то вы должны создать новый заголовок (используйте mkhdr) или обновить существующий должным образом соответствуют сохраненных изображений. fits_write будет дополнительно производить простой заголовок, или вы можете использовать команды SX *, такие, как sxaddhist или sxaddpar это сделать. Это особенно важно, чтобы убедиться, что параметры BITPIX, NAXIS * и DATATYPE правильно ввели. fits_write пишет в текущем каталоге.

SDAS или Ирафского файлов: Используйте stwrt и irafwrt соответственно. Эти (не рекомендуется) процедуры каждый производит два выходных файлов (* ХХХ * и HHD для SDAS,.... * И * IMH пикселей для Ирафского).

Другие форматы

    Выход в другие популярные, но конкретно не астрономические, форматы файлов поддерживаются IDL. Смотрите write_gif, write_jpeg, write_png, write_tiff и т.д. В качестве альтернативы можно write_image, внутренние процедуры IDL, который также пишет выходных файлов в таких форматах. IDL также поддерживает запись MPEG анимации.

    См. описание выше о том, как использовать tvrd скопировать содержимое отображается изображение окна переменная IDL в рамках подготовки к записи в файл.

    GIF формат является хорошим способом для хранения линии графика или обработанных изображений (в 2-D формате) со специальными таблицами цвета встроенные. JPEG, в котором хранятся изображения в 3D-формате, является естественным средством для сохранения полноцветные изображения, хотя алгоритм сжатия используется, чтобы уменьшить размер файла может поставить под угрозу качество (это может быть изменено). TIFF файлы сохраняют изображения в 3D-формате без потери формы, они используются для публикации качество изображения. GIF и JPEG являются наиболее широко используемым по умолчанию форматов для Интернет-браузеров. К сожалению, ни один из этих, ни других популярных коммерческих форматов, предоставляют возможность сохранять данные заголовка.

Мгновенный хранения данных сессии

    Внутренняя IDL сохранить команду спасет переменных и программ из текущей сессии в специально структурированных двоичных файлов. Все эти материалы могут быть восстановлены в одной из последующих сессий IDL с помощью одной команды восстановления.

    Вы должны удалить все избыточные или иным неинтересны переменных (особенно больших массивов) перед вызовом сохранения. Обзор сохранить ключевые слова перед использованием. В системе Linux, выходной файл будет находиться в универсальном формате XDR, которые могут быть перенесены на не-LINUX компьютеров.

    сохранения могут быть очень полезны для хранения промежуточных результатов, но не рекомендуется для постоянных записей. Почему? С одной стороны, это слишком легко забыть, что все переменные, означает, если вы потратите время, чтобы написать FITS или ASCII файлы, вы, скорее всего, документировать работу. С другой стороны, сохранение поощряет впитывая накопитель с резервными копиями массивы, которые могут быть незначительно изменены с их исходные значения. Это более эффективно, чтобы создать сценарий, который позволяет сравнительно простые изменения изображения в рамках подготовки к дальнейшей обработке, а не для хранения промежуточных версий. И, наконец, восстановление файлов, сохранить, зависит от наличия IDL --- не гарантируется, если двигаться в другом месте. Стандартный IDL ПОДХОДИТ или текстовый файл написания процедур предпочтительнее для постоянных данных.

    По умолчанию имя выходного файла idl.dat, и это имя файла будет заменена на следующую сохранения. Лучше изменить что-то информативным как ngc1068.sav.


8. IMAGE ФОТОМЕТРИЯ

[Вверх к содержанию]

    Родные IDL поддается без излишеств прямоугольной апертурой фотометрии с помощью простых команд, таких как среднее = общий (массив) / n_elements (массив), где массив представляет собой фрагмент большого изображения (определяется, например, с помощью простой нотации индекс: массив = bigarray [x1: x2, y1: y2]). Рафинированный версии этой простой подход может быть найден в ср.

    Фотометрии точечных источников:

        AstUseLib содержит версии IDL в DAOPHOT 1987 FORTRAN версия, описанная в http://idlastro.gsfc.nasa.gov/contents.html # C2. Он выполняет диафрагма фотометрии и PSF-фотометрии установки на точечные источники. Это функционально очень похожи на DAOPHOT-87, но предлагает дополнительную гибкость в среде IDL интерактивным. Основные процедуры поиска и апертуры особенно полезны. Код IDL исходные тексты доступны.

        Эти процедуры не включают в себя улучшенные особенности DAOPHOT 1991 или более поздних версий. Для этого ФСФ-монтаж деконволюции смешанных изображений, вы можете попробовать Starfinder IDL пакет или использовать более современные автономные DAOPHOT или DOPHOT релизов. Основные процедуры IDL остаются очень полезными в предварительной оценке кадров данных, перед установкой свободные механические шкурников, и при анализе результатов. (Выходные файлы стандартных программ фотометрии можно легко считываются обратно в IDL.) IDL является также отличным способом для создания синтетических наборов данных с известными свойствами, на котором для проверки фотометрии операций пакета.

    Поверхностная фотометрия: число основных процедур, таких как dist_circle и dist_ellipse доступны для поддержки поверхности фотометрии, но нет "официальных" AstUseLib программы поверхностной фотометрии. Несколько индивидуальных пользователей, в том числе РВО, имеют свои собственные процедуры, которые другие могут использовать на «на свой страх и риск" основе.

    Зритель ATV изображение содержит интерактивные круговые утилита фотометрии диафрагмы, полученных от DAOPHOT, что очень полезно для изучения потоков, полуширины, а фон выбранного компактных источников. ATV делает дополнительный дисплеи профиля источника.

    Ряд других пользователей письменных пакетов фотометрии, в основном, для точечных источников, доступных через AstUseLib сайта.


9. Доступ к базе данных

[Вверх к содержанию]
Благодаря усилиям Дон Lindler, Уэйн Ландсман и другие в GSFC, Библиотека пользователя IDL астрономии предлагает удобный и мощный доступ к он-лайн базы данных. Информация от них может быть непосредственно включены в ваш сессий IDL. Например, обычный imdbase отмечает расположение источников в выбранный каталог на текущем экране изображение (если у вас есть точные астрометрии для вашего образа.)

Индивидуальные команды в базе данных пакета описаны на домашней странице библиотеки пользователя IDL астрономии. Более подробная информация приведена в 2001-АУЛ описание базы данных информационно-2001.pdf.

Базы данных должны были положить в специальный IDL-читаемом формате, прежде чем вы сможете получить к ним доступ (команды для этого являются частью пакета). Выбор базы данных IDL, представляющих общий интерес является доступной из библиотеки пользователя IDL астрономии. В UVA, около 95 таких баз данных, взвешенных по отношению к УФ науки, имеются. Они в настоящее время связаны с: / Astro / IDL / zdbase.

Для того чтобы использовать базы данных, необходимо определить переменную окружения $ ZDBASE чтобы она указывала на каталог, содержащий их.

Чтобы посмотреть, какие базы данных доступны, используйте команду dbhelp, 1. Чтобы посмотреть, какая информация содержится в базе данных и отображать информацию о выбранной записи (номера здесь 10,100,1000), тип

   Dbopen, [имя базы данных]
             dbhelp 1
             dbprint [10,100,1000], '*

Чтобы получить и использовать данные записи, вам необходимо использовать более сложные команды, описанные в документации, приведенные выше.

Создание новых баз данных с помощью предоставленных инструментов является относительно простым, так что вы можете конвертировать другие наборы данных для онлайновых баз данных IDL, как вы хотите.


10. УЧАСТКИ

[Вверх к содержанию]
IDL делает участков по умолчанию в "текущие" терминал графики окна, которая может быть скорректирована в размер, местоположение и т.д., используя те же основные команды, как и для изображения дисплея (см. выше). Участки масштабируется до размеров текущего окна.

Основные команды IDL для создания участки сюжета, для создания нового сюжета, и Оплот, для overplotting на существующем участке. Назначения для участка (терминала, PostScript файл и т.д.) определяется команда set_plot (см. следующий раздел).

Это, однако, это лишь верхушка огромного айсберга. IDL содержит много вариантов для создания участков --- так много, на самом деле, это самая трудная часть работы можно отслеживать множество дополнительных параметров. Опции в виде ключевых слов могут быть указаны в вызовах функции построения. Кроме того, они могут быть использованы в виде системных переменных, таких как! P.title, которые будут применяться ко всем последующих вызовах участок до изменилось.

    Стандартное построение графика и ключевых слов можно найти в Приложение В к v7.0 IDL справочник или он-лайн, набрав? Участок, а затем выберите "Графика Ключевые слова".

    Наиболее часто используемые слова и построение системных переменных следовать. Все они являются необязательными. Примеры использования приведены ниже.

        psym или p.psym: определяет тип символа. Значение 0 (по умолчанию) производит сплошной линией с не дискретными символами точки, значения от 1 до 7 выбора других типов (не связанных) символов. 8 указывает, что пользователь установил специальный символ использованием usersym или plotsym процедур. 10 участков гистограммы. 9 не определено. Для нанесения символов, соединенных линией, можно сначала построить с psym = N, то Оплот с psym = 0.

        xrange и yrange: 2-х элементов векторов дает минимальный и максимальный для каждой оси. Если не определено, автомасштабирование произойдет. Соответствующие переменные системы! X.range и! Y.range.

        / Xlog и / или / ylog: установить эти ключевые слова для использования базы-10 логарифмической заговор на соответствующей оси.

        LineStyle: Выбор стиля линия (сплошная, пунктирная, штрих-пунктирная и т.д.), если psym = 0.

        XStyle и ystyle: набор параметров осей (например, точный диапазон, а не округляется)

        ! P.title, x.title и y.title: струны для сюжета название (по центру верхней оси абсцисс), ось х титул, у оси название.

            (Для аннотации участков кроме как на оси, используйте xyouts команды.)

        шрифт или p.font: Определяет шрифт, используемый для аннотации. Внутренняя IDL поставляемые шрифты "вектор тяги Херши" шрифты. Они являются достаточными для панелей, являются аппаратно-независимыми, и необходимы при принятии 3-D участков. Но лучше использовать "железо" шрифты поставляются поставщиками графики для опубликовать качество работы. Оборудование шрифты, связанные с каждым из различных поддерживаемых устройств вывода. ! P.font = -1 (по умолчанию) выбирает вектор тяги шрифтов;! P.font = 0 выбирает аппаратные шрифты. Для выбора конкретного шрифта, как только вы выбрали аппаратную определенный шрифт, использование устройства set_font = "[имя]" команды.

            За помощью в выборе шрифтов см. showfont (вектор тяги), xfont (X-окна терминала), так ps_show_fonts (PostScript) процедур. Для X-окна, вы можете также ввести xlsfonts на LINUX строке, чтобы получить список доступных имен шрифтов. Для получения дополнительной информации об обработке шрифтов в IDL, типа? Шрифтов.

IDL по умолчанию не так "хорошо", как в SUPERMONGO, например. Тем не менее, можно быстро настроить для получения как сложный стиль графика, как вам нравится. Все функциональные SUPERMONGO и других научных графических пакетов присуща IDL. Многие из 2-х и 3-D графика процедуры показаны на IDL Демонстрации, которые поставляются с системой.

Цвет таблицы для участков:

    Сюжет команды принимают ключевые слова фоне, который устанавливает цвет фона сюжет, и цвет, который определяет цвет, используемый для линий и символов. По умолчанию на псевдо-цвет X-витрины, фон имеет значение индекса 0 и цвет имеет значение индекса 255. Эти Поэтому отображения "снизу" и "поверх" текущей таблицы цветов, соответственно. [Таблицы цветов объясняется в изображение дисплея.] Внешний вид вашего участка будет зависеть от того, таблицы цветов вы загрузили (например, с loadct, N). По умолчанию таблица (N = 0) дает черный фон и белые символы. На дисплее будет меняться, если вы используете другую таблицу цветов или участок / фона индексы. Вы можете создать специальный набор таблиц цветов, чтобы произвести определенный набор, скажем, 10 стандартных цветов для вашего участка.

    Примечание: это простой в использовании псевдо-цвет или эмулируемой псевдо-цвет (устройство, разложить = 0) для участков. В 24-битный цвет (устройство, разложить = 1, необходимо указать цвета длинное слово целые числа.

Пример построения сценариев для отображения участков, на ваш терминал следовать. Это включает в себя смесь собственных IDL и AstUseLib процедуры:

    Сюжет аналитическая функция, с помощью маркировки по умолчанию оси.


    х = findgen (10000) / 10. ; Создание независимой переменной,
                                   , При этом работает в диапазоне от 0 до 1000
                                   , А в интервалах 0,1

    у = х * грех (Х/15.); Создайте функцию интерес

    Сюжет, х, у, участок функции по отношению к
                                   ; Независимой переменной с твердой линии.
                                   ; Участок появится в текущем окне
                                   ; (Или окна 0, если ни одна из них открыты) с топорами
                                   ; Масштабируется в соответствии с максимальным х, у диапазонах.
                             
    сюжет, х, у, xrange = [0,50], заговор с целью ограничить х значений в диапазоне
                                   , [0,50]. У колебаться автоматически масштабируется.

    Сюжет, х [99:199], у [99:199] Ограничить сюжет к 100 через
                                   ; Двухсотый элементов массивов.

    сюжет, х, у, xrange = [0,5], psym = 1; Ограничить заговор х значений между
                                   , 0 и 5, и сюжетные отдельно
                                   , А также знаков.

    Оплот, х, у, добавить непрерывную сюжетную линию к предыдущему экрану,
                                   , С использованием существующих масштабах оси

    Сюжет, х, 1 + у ^ 2, / ylog, участок новой функции (определяется как положительный
                                   , Определенный), используя базы-10 журнала шкале
                                   , У оси


    Участок поверхностной яркости галактики данных (величины) с ошибками по сравнению с радиусом в одну четверть мощности. Использование дискретных символов (не связанные линии). На этом участке, галактика со стандартным "Вокулера" профиль яркости будет производить прямой линии. Этот пример также показывает, как можно быстро редактировать минусы данных из участков.

    Предположим, что (упорядоченная) векторы СО, рад, и sberr уже существуют, с СО и sberr в единицах эрг / с / см ^ 2 2/Angstrom/arcsec и рад в единицах угловой секунды. Предположим, что из-за плохих точек данных вы должны обрезать заговор с целью устранения первые 3 записи, и те после 20-го.

     

    журналы = -2,5 * alog10 (SB (3:19)) -21,1; преобразование СО до величин в угл ^ 2
                                       , В STMAG системы, игнорируя плохие данные.
                                       , Берет на себя всю СО записей> 0.
                                     

    r25 = рад (3:19) ^ 0,25; Вычислить корень четвертой степени из радиус-вектор,
                                       , Игнорируя плохие записи данных

    Magerr = 1,086 * sberr (3:19) / SB (3:19); Преобразование неопределенности
                                        , В СБ величин

    ! Y.range = [25,18]; установить нестандартный оси ординат диапазон, в
                                   , Этом случае величина имеет масштаб
                                   ; Меньше (ярче) более высокие значения
                                   , На оси ординат

                                   ; Сделать названия

    Пример! P.title = 'Яркость Профиль "
    ! X.title = 'Радиус (угловых секунд) = 0,25 "
    ! Поверхности Bright (журналы / угл ^ 2) '= y.title

    plotsym, 4,1.5 / заполнить, выбрать заполненных треугольников для построения символов,
                                   , 50% больше, чем по умолчанию

    ploterror, r25, журналов, Magerr, psym = 8
                                  ; Сделать сюжет на экране терминала с ошибками;
                                  ; Psym = 8 указывается, созданные пользователем символ, который
                                  , При этом была определена plotsym.
                                  ; Нет соединительных линий между точками.
                                  ; Если psym были опущены или установлен в 0, не
                                  ; Символы будут построены и точки
                                  , Будут соединены прямыми линиями.

    xyouts, 1.5,20 ", NGC 4151; добавить ярлык в участок.
                                  ; Позиционных параметров (блоков данных) установите
                                  ; Крайнее левое положение отображаемой строки.
                                  , Выберите эти строки так ясно из
                                  , Данные и топоры.

     

    Сделать контур участка сглаженного изображения.

     
    чан, 3; Открытого заговора Окно 3

    ! X.title = 'X'; Сделать названия
    ! Y.title = 'Y'
    ! P.title = 'Контуры для изображения "

    площадь; Установить пропорции, чтобы площадь участка
                                        ; (Обратите внимание, что необходимо также дать этой команде
                                        , После PostScript устройство называется
                                        ;. При принятии печатном)

    smooth_one = гладкий (изображение 5), гладкие изображения на 5 пикселей вагон

    clev = [10,20,40,80,160], определяют уровни суд контур - предположим
                                        , Эти значения охватывают диапазон интересов

    контура, smooth_one, уровень = clev; ли быстрый тест контура участка. Проверьте и
                                         ; Итерации clev за лучший внешний вид
     
    контура, smooth_one, уровень = clev / следовать, делать более точные (медленный) участок,
                                            , С этикетками
     

    Читайте, сортировки и участок данных из текстового файла, и сделать пробный показ полином соответствует

    Пусть х есть вектор, содержащий значения в диапазоне от 0 до 5, и что у есть соответствующие зависимой переменной. Предположим, что они должны быть прочитаны из ASCII-файл с именем xy.dat, который содержит х и у, в отдельных столбцах. xy.dat может содержать начальный раздел пояснительного и другие заголовки сепаратор, поскольку ни один из них содержат только один или два числа с плавающей точкой (с readcol ошибетесь тех, для линий передачи данных). Столбцы данных не должны быть выровнены. По умолчанию, readcol рутина будет читать в численном х, у данных игнорируя любые строки, содержащей символы алфавита. Нет этикетки нанесены на график в этом примере.

     
    readcol "xy.dat, XX, YY, Чтение данных из файла. Обратите внимание, что формат
                                   , Заявление и «открытой» команды не требуется,
                                   , И не делать хх и уу должны быть предварительно определены

    индекс = вид (хх); сортировки массивов в порядке возрастания х
    х = хх (индекс)
    у = гг (индекс)

    чан, 1; Открытого 1 Окно для построения

    сюжет, х, у, psym = 5; участок данных с открытым треугольников

    quadcoeff = poly_fit (х, у, 2); Получить коэффициенты для наилучшего квадратичного
                                   ; Полином нужным
    печати, quadcoeff; Распечатайте эти выход (опция) [Примечание:
                                   ; Quadcoeff вектор]

    TX = findgen (101) / 20. ; Создание независимой переменной вектора оборудованная
                                   ; Значения (единый интервал х 0,05 единиц)

    quadtesty = поли (штат Техас, quadcoeff); Создать оборудованная квадратичного значения

    Оплот, штат Техас, quadtesty, psym = 1; Overplot квадратичной сочетается с плюса

    cubcoeff = poly_fit (х, у, 3); Получить коэффициенты для кубических нужным
    cubtesty = поли (штат Техас, cubcoeff); Создать оборудованная кубических значения

    Оплот, штат Техас, cubtesty, psym = 3; Overplot кубических значений с небольшими точками

                                   ; [Предположим, что квадратичная припадок адекватного]

    дельта = у-поли (х, quadcoeff) Вычислить разницу между данными у и
                                   , Лучшие квадратичной нужным

    NIX =, где (ABS (дельта) GT 2.), найдите тех, у значений, которые являются более
                                    , Чем на 2 единицы от наилучшего

    вес = fltarr (n_elements (х)) +1. ; Создать вес вектор, соответствующий
                                    ; Х с блоком записи

    Вес (NIX) = 0.0; Дайте девиантного точки нулевой вес

    newquadcoeff = polyfitw (х, у, вес, 2); Получить улучшить квадратичной coeffs.
                                        ; Использованием весов просто назначены

    Окончательный = поли (штат Техас, newquadcoeff); создать улучшенные подходят значения

    канала, 2; Открытое 2 Окно для окончательного, чистый участок.
                                   , (Окно 1 сохраняется для сравнения).

    сюжет, х, у, psym = 5, xrange = [1,3.5]; участок данных с открытым треугольники
                                   ; Окна 2.
                                   ; Предположим, интерес ограничивается только
    , Часть из данных рентгеновского диапазона.

    Оплот, штат Техас, окончательной, psym = 0; Overplot окончательный сочетается с твердой линии
     

    Различают два образца в виде гистограммы участок

    Предположим, у вас измерений количества вал для двух образцов объектов с подобным диапазоном значений, и вы хотите сравнить гистограммы два в одном сюжете. Самый простой способ сделать это в IDL является создание союза двух наборов данных за первый участок, а затем overplot затененных гистограмма второго набора. Если данные состоят из двух векторов, val1 и val2,


         allval = [val1, val2]
         plothist, allval бен = 0,2, xrange = [0,8]
         plothist, val2 бен = 0,2, / над / заливка, fcolor = 200

    В результате заговора, val1 записи будут линейный, а val2 записи будут оттенены заполнения значение цвета 200 (на экране внешний вид будет зависеть от предварительно загруженных таблицу цветов).

        По умолчанию plothist будет построить полный диапазон значений в данных. В гистограммы, это часто нежелательно, так как экстремальные значения обычно имеют небольшое население. Это полезно для ограничения диапазона для лучшего отображения важных ценностей, здесь мы использовали xrange, чтобы сделать это.

    Кроме того, в случае подмножества данных значений, которые следует отличать от некоторых Второй параметр:


         plothist, val1, бен = 0,2, xrange = [0,8]
         хорошо =, где (параметр GE 0)
         plothist, val1 (средний), Бен = 0,2, / над / заливка, fcolor = 200

        Здесь вектор параметров должна иметь ту же длину, val1, и мы предполагаем, что множество интерес определяется с неотрицательным значением параметра.


11. ГРАФИКА печатном

[Вверх к содержанию]

Наиболее распространенный способ получения печатном или постоянного хранения графики вывода (участков или изображения) заключается в использовании PostScript-файлы, так как это может быть напечатана на самой лазерных принтеров. PostScript файлы могут быть позже отредактированы и переформатировать, хотя специального (не IDL) программ не требуется.
IDL также поддерживает вывод GIF, JPEG, TIFF, PNG и другие форматы файлов. GIF и JPEG являются стандартными для браузеров Интернета. GIF рекомендуется для рисования линий и хранения участке производства. TIFF рекомендуется для высокого качества, полное воспроизведение цвета (например, транспортировка графических файлов с поставщиками для печатном или публикации).

Вы всегда должны экспериментировать на экране терминала с сюжетом формат перед сбросом в выходной файл. Это легко сделать при разработке набора команд, которые вы хотите в то время как построение на экране, затем ввести set_plot "пс (в случае выхода PostScript) и повторяя команды с помощью буфера команд вызова.
Для более сложных участках, используйте утилиту журнал, а затем редактировать и повторно выполнить полученный файл (или вырезать и вставлять через окна).

Команда set_plot определяет, какие устройства вывода графики используется. Наиболее распространенные версии этой команды:

 
        set_plot "х: Отправить вывод в X Windows (по умолчанию)
        set_plot "пс: Отправить вывод на PostScript-файл" idl.ps "

Последующие команды для отправки данных в файл PS (в основном) так же, как для размещения данных на экране монитора, так как мониторы и PS файлы являются взаимозаменяемыми устройствами вывода для IDL.

Вы всегда можете проверить свойства текущего устройства вывода графики, набрав помощь, / Dev. Вы можете изменить эти настройки с помощью устройства команды. Аппаратного / программного интерфейса иногда нетривиальных, и вы хотите, чтобы планировать значительное кривой обучения, делая вещи, которые не являются "ваниль". Перед отправкой больших заданий на принтеры, продавцы и т.д., не забудьте проверить файлы с помощью LINUX Ghostview, XV, или других программ экране.

Вот некоторые графические методы вывода для распространенных ситуаций:

    Для того, чтобы через Postscript участка.

        Тип set_plot "пс отправить выход на« idl.ps "

        При желании, внести коррективы в график размера, пропорций, ориентации, букв шрифтов и т.д., используя устройство команды

        Дайте набор построение команды здесь --- как на экран сюжет, все системные переменные будут по-прежнему в силе

        Тип устройства, / закрытия, чтобы закрыть файл idl.ps. (Примечание:. PostScript файл на самом деле не записаны на диск до завершения будет дана команда)

        Введите $ idl.ps р распечатать файл на принтере по умолчанию.

        Следующее построение команды заменит idl.ps. Если вы хотите сохранить его, необходимо изменить его название. Например $ М. В. idl.ps bossplot.ps.

        Пример (на основе продолжающегося Построение Пример № 2 под участки выше).


            set_plot "пс участок будет отправлен на PostScript-файл" idl.ps "
                                          , А не на экране
                             
                                          ; Обратите внимание, что определение и plotsym
                                          , Системные переменные, такие как метки оси
                                          , Остаются в силе


            ! P.font = 0
            Устройство / Helvetica, font_size = 12; использование PostScript шрифтов Helvetica для этикеток

            ploterror, r25, журналов, Magerr, psym = 8
            xyouts, 2.5,17 "NGC 4151"
                                          ; Сделать PS участок с ошибками, добавив,
                                          ; Этикетке внутри участка
                                         

            устройство / закрытия; Закрыть файл PS

            $ Р idl.ps; Отправка файлов на принтер

            $ М. В. idl.ps surbriteplot.ps; Переименовать PS файл для его сохранения.

            set_plot "х; Отправить дальнейшего вывода на терминал

            cleanplot; Сброс переменных построение системы по умолчанию

        Выходной файл будет иметь ожидаемого "черный на белом» смысл, если вы не использовать ключевые слова, описано ниже.

        Вы можете сделать файлы PostScript цвет путем установки / цвет и с помощью цвета фона и ключевые слова (см. раздел участков). Тем не менее, лечение таблицы цветов отличается от X-окон дело. Обратитесь к IDL руководства.

    Для того, чтобы PostScript печатном виде отображаемого изображения: используйте tvlaser. Это свалки растровых текущего окна (с помощью утилиты tvrd) в PostScript файл и выводит его на принтер по умолчанию PS. Различные варианты добавлять комментарии, информация из заголовка, изменить формат, и так далее. Если вы хотите, чтобы сохранить файл PostScript, ответить не на вопрос об "удалении" его. Для цветной печати используется colorps ключевое слово. Для истинных цветов изображения, использовать полноцветные = N ключевое слово.

        Вы можете использовать tvlaser скопировать отображается участок окна. Это удобно для создания быстрой рабочей печатном участков. Тем не менее, разрешение и внешний вид стандартной процедуры выхода PostScript описанные выше почти всегда будет лучше.

    Другие форматы. Для вывода изображения в формате GIF, JPEG, TIFF, PNG и других популярных форматов вывода, сначала захватить отображаемые изображения с помощью tvrd команды (см. выше). Вам не нужно использовать set_plot команды. Просто отправьте захваченное изображение в выходной файл, используя соответствующую команду записи. Дэвид Фаннинг tvread программа может сбросить образ и сделать вывод файлов в один прием за счет использования ключевых слов, например, / JPEG.

        Совет: при производстве PostScript выходных файлов изображений для публикации, полезно также сделать версию GIF, так как это может быть прочитано в IDL позже, если точечный ремонт не требуется. IDL не может читать файлы PS (хотя LINUX XV может конвертировать PS к GIF-).

    Выход большого изображения: вывод изображения не должны быть ограничены для тех размеров вы можете отобразить на экране, как в приведенных выше примерах. Большие массивы изображение может быть записано непосредственно в файлы с помощью write_gif, fits_write и подобные команды.

Технические вопросы:

    PostScript файлы лучший способ получить высокое качество рисования линий и участков, как правило, хорошо относятся к издателям. Оттенки серого или цветное изображение совсем другое дело, впрочем, и следует подходить к итерационным способом. PS опубликовал изображение может выглядеть очень отличается от той, распечатанной на местном уровне. GIF или TIFF файлы могут дать лучшие результаты, чем PS.

    Там также может быть трудности с конечным разрешением экрана отображаются скопированные с помощью tvrd рутины. Это относится к качеству как образу и любые надписи, которые могут быть добавлены к нему. В типичном экране компьютера, вы не получите больше, чем о 900x900 разрешение. Тем не менее, файл PostScript 300 точек на дюйм может дать гораздо более высоким разрешением (1800x1800 в 6 "изображения).
        В качестве альтернативы на экран захвата tvlaser метода, описанного выше, вы можете написать изображений и маркировки непосредственно на PostScript-файл, используя стандартный телевизор, tvscl, xyouts и других процедур. Основная трудность в понимании системы координат, используемых в файле PS и размещение различных элементов выходных данных страницы в нужное место. Люди заводить методом проб и ошибок (легкий по записи файлов PS, затем дать команду $ Ghostview [имя файла] из IDL).

    Если вы храните копии вашего вывода графики в формате GIF, TIFF, JPG и т.д. файлы, вы можете использовать не IDL утилиты, как XV, Gimp, Photoshop и т.д., чтобы манипулировать ими дальше: в размер, поворот, контрастность, цветовой таблицы, а , применяя различные улучшения изображения. XV может конвертировать GIF в PostScript, и наоборот. Особенно полезна для сжатия изображений размеров для использования в Интернете, сервер ArXiv Препринт, и так далее.
    Дополнительные советы по изготовлению хорошей графикой PS см. в разделе Внесение цифры с IDL по Келле Круз и Дэвид Фаннинг http://www.dfanning.com/documents/tips.html # PostScript


12. IDL СОВЕТЫ и неприятностей

[Вверх к содержанию]

Не многие люди пережили полностью интерактивных вычислений, прежде чем начать использовать IDL. Есть огромные преимущества, но также много ловушек для неосторожных. Трудности, конечно, главным образом, кажется очевидным и тривиальным в ретроспективе --- т.е. после того как вы научились избегать их. Число советов и предупреждений для начинающих IDL рассматриваются в этом разделе.
Пути, процедуры, Справочники

    Если процедура имя непризнанных или дает неожиданные сообщения об ошибке, проверьте, чтобы убедиться, что ваш путь к каталогу (! Путь в IDL) установлен правильно. Начальное значение! Путь берется из переменной оболочки $ IDL_PATH. Проверьте каталоги в пути к процедуре.

    Неожиданное поведение может также возникнуть, если вы выбираете ту версию программы, для которых есть несколько копий в вашем! Путь. Два способа, чтобы проверить возможные ошибки такого рода: печатной, file_which ([program_name.pro]), или во-т [название программы] и проверьте список программы информацию о версии.. Процедура file_which работает как LINUX который. Если ваш! Путь прямо не предусматривает, в текущем каталоге (который рекомендуется, см. ниже), то вы должны добавить / include_current_dir ключевое слово.

    Обозначения: + / Имя_папки в $ IDL_PATH определение расширяется путем включения всех подкаталогов названного каталога, которые содержат * про файлы.. Используйте осторожно, чтобы избежать поднимая старые версии процедур, которые часто хранятся в подкаталогах активной версии.

    Ошибки также возникать при попытке вызвать функцию как процедуру или наоборот. Процедура требует [имя], ПАРМ, ... позвоните в то время как функция требует [VAR] = [имя] (ПАРМ, ...) вызовов. Используйте помощь / роу сохранить функции и процедуры прямой. Если вы попытаетесь выполнить основную программу, введя его имя, а не с помощью клавиатуры. Запустить [имя], вы получите сообщение об ошибке.

    Помните, что выходные данные будут записаны в каталог, который является текущим, когда выходная команда. Если вы используете SD часто перемещаться по каталогам, вы можете потерять от того, где выход пошел (хотя файл журнала может сказать вам). Если вы в настоящее время в чужой каталог, в который вы не имеете права на запись, вывод команды не будет работать. Некоторые команды (например, tvlaser) может привести к большим файлам нуля. "Неизвестный файл" ошибки при вводе команды часто означает, что вы находитесь в нужной директории по умолчанию. Проконсультируйтесь с SD.

    После изменения [имя]. Про процедуру файл, не забудьте перекомпилировать его. Запустить [имя], прежде чем пытаться его использовать. Если процедура была составлена, прежде чем изменить его, просто введите [имя] будет выполнен в старой версии.

Специальные IDL интерактивные средства и ускорители

    В программировании, обратите внимание на большую полезность интерактивных средств в собственных IDL. такие как размер, n_params, n_elements, keyword_set и другие. Они позволяют оценить состояние переменных в вашей программе в любое время.

    печати позволяет печатать текущее значение любой переменной на экран в любой момент во время интерактивной сессии (будьте осторожны, однако, в случае больших массивов). Формат заявления не является обязательным. Форматирование по умолчанию: векторы-строки печатается на экране, векторы-столбцы, вниз. Printf является соответствующую команду на печать в выходной файл. Обе команды могут быть использованы в программах.

    readf является стандартным интерактивные команды для чтения данных из текстового файла. Формат заявления не является обязательным. Та же команда может быть использована в течение программы. Чтобы читать ввод с клавиатуры из программы, используйте команду чтения.

    readcol это удобная утилита AstUseLib для чтения текстовых файлов столбчатых данных (см. выше). Формат заявления не является обязательным (в зависимости от содержания файлов); строки, содержащие неожиданные символы автоматически пропускаются. Для фиксированного формата ASCII ввода / вывода, см. readfmt и forprint.

    IDL массив ориентированных математике часто избавляет от необходимости делать циклы или индекс конкретного программирования, и вы должны использовать индекс без обозначений там, где это возможно. (IDL значительно медленнее, когда элементы данных, которые ссылаются индексы).

    Есть около 20 встроенных функций IDL для создания массивов различных типов и наполнения их начальные значения, в том числе intarr, fltarr, indgen, findgen, повторных и make_array.

    Существует большое множество других массивов ориентированных арифметических функций, таких как расширение, Rebin, наоборот, гладкие, вроде, всего, перенести и так далее.

    Вы найдете множество применений для функции, где. Например чтобы найти все без положительных значений в массиве для того, чтобы избежать ошибок при принятии логарифмов, введите найти = где (Ле 0). найти будет вектор, содержащий индексы неположительны записей. Подмассива (найти), то будет содержать все эти точки.

        Например, чтобы заменить все значения менее 1 в массиве с 1, тип
        (где (л 1)) = 1.

        Вместо этого, если вы просто хотите подсчет количества записей со значением меньше 1, типа:

            найти = где (л 1, кол-во) и печать количество

    Другой быстрый способ поставить на пол элементов массива: = (> 1) заменяет все элементы со значением менее 1 в массиве с 1. (Обозначение> 1 означает "массив, содержащий не более 1 и оригинальные элементы").

    Повторного вызова / редактирования и журнал утилиты необходимы средства для перебора и записи IDL кода.

Определение и устойчивости переменных

    Помните, что первый элемент вектора и массивы всегда с индексом 0. (Это сохранить условное обозначение оси участков). Если б содержит десять элементов, элемент индексы пробегают от 0 до 9, а не от 1 до 10. Ссылка на б (10) находится за пределами вектора. Это убьет подпрограмма, хотя она только выдает сообщение об ошибке, если это происходит в командной строке.

    Если ранее некоторые переменные, кажется, «исчезнувших» или другие особенности поведения происходит, проверьте (например, типа помощи), чтобы увидеть, что вы находитесь в основной программе, а не подпрограммы. Смотрите retall выше.

        Для возврата автоматического основной программы всякий раз, когда происходит ошибка в подпрограмме, введите on_error, 1 в начале сеанса IDL (настоятельно рекомендуется только при отладке).

    Для создания тестовых массивов / векторы для того, чтобы экспериментировать с IDL процедуры, использовать indgen, findgen и т.д. Например:

        = findgen (100,100) создает 100x100 плавающей точкой массива с уникальными значениями элементов работы от 0 до 9999,0.

        = fltarr (100,100) +10. создает массив 100x100 содержащий 10,0 везде.

        Создание векторов с простыми заявлениями определение, как г = [1,3,9,27], такие заявления г = [г, 81] увеличить векторов.

        Вы можете извлечь подмассивы используя индекс обозначения, как в Парта = [100:156,200:296].

    Максимальное значение IDL плавающей постоянной Речь идет о 3e38. Чтобы справиться с большими числами, вы должны использовать двойной точности. Например В расчетах, связанных с скоростью света, хорошей практикой является определение с = 3.0d10, а не с = 3.0e10. Наибольшее число двойной точности постоянной позволило примерно 4d88. (Минимальные значения обратных из них.) Вычислений, которые производят вне диапазона значений приведет к "переполнения" или "сгущенного" сообщения об ошибках.

    Остерегайтесь неявное определение переменных.

        IDL динамически определяет тип переменной, и это является классическим источником ошибок IDL новичка.

        Например, х = 5/2 возвращает значение 2 (целое число), а х = 5,0 / 2 возвращает 2.5 (с плавающей точкой). х имеет разные значения и атрибуты в результате. Осторожно! Для страхования, хорошая привычка всегда для ввода чисел с плавающей точкой расчетов с десятичной точки. Например диаметр = 2 *. радиуса.

        В результате вычислений с участием смешанных типов зависит от порядка, в котором IDL оценивает выражение:


                      IDL> печать, 6. * 500 *. 70. * 70.
                          1.47000e +07

                      IDL> печать, 6 * 500 * 70 * 70
                          19936

                      IDL> печать, 6 * 500 * 70 * 70.
                          937440.

                      IDL> печать, 6 * 500 * 70. * 70
                          1.47000e +07

    Неявное переопределение переменных массива может привести к большим трудом, как в следующем:


           = Fltarr (200,200), определить плавающей точкой массив со всеми элементами
                                ; = 0.0
           (*, *) = 1. ИЛИ = +1. ; Правильный способ заполнить массив с 1,0

           = 1,0; неправильный способ заполнить массив с 1.0.
                                , Вы только что изменили к скалярному 1.0!
     

    Еще одна потенциальная область Проблема заключается в извлечении векторов из массива. В IDL 1-D вектор считается вектор-строка.

        Таким образом, если это массив 100x100, В = [*, 40] будет создан вектор-строка размерности (100). Но Ь = [40 *] будет создан 2-х мерный массив с размерностью (1100) (= вектор-столбец).

        Чтобы исключить сироту измерение здесь и получить стандартный вектор-строка, используйте реформы функция: B = реформы (б). Вы можете также использовать функцию транспонирования преобразовать столбец вектора в вектор-строку.

        Вы можете проверить текущую структуру переменной, используя помощь команде.

    Вот пример еще одной проблемой вы можете столкнуться с неявной определение IDL в переменной типа с участием зависимой переменной массив, из которого нужно извлечь определенное значение. Если время является независимой переменной, а значение зависимой переменной, вы можете найти вход в частности следующее значение и перенормировка массив значений:

     
               найти = где (время экв 1000).
               norm0 = значение (найти)
               normalval = value/norm0

        Наивно, вы ожидаете norm0 быть скаляром, как если бы вы набрали norm0 = значение (151), например. Однако, если вы попытаетесь это сделать, вы увидите, что здесь это не скаляр, а вместо этого имеет тип массива (1). Это объясняется тем, где функция возвращает вектор, определение распространяется по определению norm0. В результате количество, normalval, которая разделяет два вектора разной длины, поэтому скалярную, а не вектор! Реформа функция не помочь. Чтобы получить желаемый результат, необходимо определить нормализации постоянными: norm0 = значение (найти [0]).

        Если вы пишете код для общего применения, Вы также хотели бы подтвердить, что найти возвращается только один неотрицательный элемент. Число элементов возвращается где функция может быть определена, например, следующим образом:

         
                   найти = где (время экв 1000., кол-во)
                   если (кол-экв 1), то начинается ...

    При работе с массивами (например, изображения CCD), где данные ограниченный динамический диапазон и не требует более чем в 2 байта точность, он может быть более быстрым и удобным, чтобы преобразовать их в целое формы после умножения на коэффициент масштабирования, чем оставить их с плавающей запятой форме. Это экономит хранения, повышает скорость выполнения, и часто снижает печати. Вы можете сохранить манипулировать версии, обратно-преобразования, но вы должны быть осторожны, чтобы убедиться, что вы не потеряли бит с конца.

    Процедуры, которые требуют векторных аргументов включают макс и мин. Если A, B, C, D являются скаляры, необходимо ввести печати, максимальное ([A, B, C, D]), а не печать, не более (а, б, в, г).

        Miswriting заявления типа х = тах (а, б) действительно может привести к изменилось значение для б. Осторожно.

    Такие функции, как гладкой, Rebin и другие процедуры передискретизации обычно сохранить тип переменной. При нанесении на целые массивы, численные ошибки могут быть введены усечения. Если вы заинтересованы в сохранении значений данных с такой процедуры, вы должны использовать их только для плавающих массивов точки. Для преобразования массива целых чисел с плавающей точкой, введите поплавок = ().

    Помните, что основной уровень IDL не признает переменные, которые определены в процедуры (подпрограммы), но не проходит через параметры вызова обратно в основную программу. (То же, что в Фортране). Внутренние переменные равны нулю на нормальный выход из процедуры. Чтобы определить, какие переменные являются активной, использовать помощь. Можно, однако, используют общие блоки (как в Фортране) для установления связи между основным уровнем и подпрограммы уровня переменных, которые не в вызывающей последовательности. Основные программы имеют доступ ко всем переменным, которые были определены в "основной" уровне.

    Вы также можете определять свои собственные переменные системы, которая, как известно, все программы, с помощью defsysv.

    IDL структуры обеспечивают компактный и удобный способ перемещения большого числа переменных, связанных различных типов (скаляры, массивы, строки) между процедурами и основных программ.

Отличия от FORTRAN и C

    Частый источник незначительные проблемы для пользователей других языков высокого уровня являются небольшие различия в синтаксисе для IDL, если заявления, то заявления, не петли и т. д. Последний, в IDL являются для петель. Также обратите внимание на использование данного дела и перейти заявления. Стоит потратить некоторое время на просмотр этой области, прежде чем писать код IDL.

    Элемент IDL в индексации конвенции для 2-D массивов в порядке, обратном FORTRAN. В FORTRAN, [I, J [соответствующий элемент-й строки и-го столбца. Но в IDL, [I, J] соответствует элемент-го столбца и й строке. [*, У] является вектором-строкой. [Я *] есть вектор-столбец.

        Эта Конвенция была принята на IDL, поскольку он производит стандартный смысл (х, у) дисплеев. Команды по умолчанию дисплее появится массив (х, у), начиная с колонки 0 в левой части экрана и строку 0 внизу. При отображении (4,1) будет состоять из четырех единиц вправо и на одну единицу от нуля. Это изменение в соглашение, очевидно, требует ухода, если один пытается работать на данном наборе данных как с IDL и Фортран.

Пунктуации, синтаксиса и т.д.

    Для быстрого напоминания о синтаксисе IDL см. IDL Ray Sterner Заявление Синтаксис страницы.

    IDL это не учитывается, хотя и Linux. Команды, которые примут участие в операционной системе (например, чтение / запись файлов), поэтому необходимо соблюдать случае конвенций.

    Период, в исполнительных команд (например,. Пробега) должен появиться в качестве первого символа в командной строке (без предыдущих пробелы).

    "Одинарные кавычки" знак для строк, файлов и т.д., является апостроф ('), а не "ведущий-одинарные кавычки, знак" (`). Синтаксические ошибки возникают при переключении них. К сожалению, на многих экранах терминалов, это трудно отличить. На некоторых клавиатурах, они также на соседние клавиши, что способствует опечаток.

    Строки должны всегда быть в кавычках, имена файлов рассматриваются как строки в большинстве процедур связанных файлов.

        Если строка является последней записью в строке (без дополнительных параметров или знаков препинания), то задней кавычки не обязательно быть введены. Но в этом случае, убедитесь, что вы не введете дополнительный пробел на терминале перед нажатием кнопки "возврат", или строка может быть неправильно прочитал.

    Общий опечатка, которая может привести к синтаксической ошибке является замена период запятую в списке аргументов процедуры.

    Напомним, что вектор определяется путем заключения скобках, не скобки: х = [47,29,135], а не х = (47,29,135).

    Остерегайтесь случайного набора математических операторов, где вы должны использовать операторы отношений. Например: если (х = 5), то ... вместо того, чтобы правильно, если (х экв 5), то .... Это может привести к серьезным ошибкам, которые не обязательно поднимать флаги ошибок.

    Напомним, что> и <признаки вызова "максимум" и "минимум" операторов, соответственно. Например 10> 15 является скалярной 15.

Другие вопросы

    Это хорошая идея, чтобы либеральное использование sxaddhist процедуру для обновления комментариев на набор данных, когда вы читаете, обработки и сохранения изображений FITS.

    Так как интерактивные занятия IDL часто производят большое количество активных переменных, полезно иметь систематический именования каждой новой переменной. Например при чтении массивов, использование конвенций, как: fits_read "имя файла", pic1, hdpic1 сохранить изображение и заголовок прямо массивов.

    Для сохранения набора и поиска путей к файлам долго, это полезно для определения специальных переменных строки, которые содержат полные имена к часто используемым каталогам. Тогда вы можете просто SD, [имя_строки], чтобы изменить каталоги.

    Если вы манипулировать цветом таблицы, вероятно, вы захотите, чтобы перезагрузить стандартной таблице (например, loadct, 0) перед показом нового образа.

Программирование Философия

    Некоторые IDL пользователи любят писать конкретные одной целью основной программы для выполнения конкретной задачи, а затем изменить его или распространяться несколько версий, для борьбы с подобными, но несколько различных приложений (например, новый набор данных). Однако, поскольку основной вклад программы / вывода не сделал явной, когда вы. Запустить основную программу, файл журнала не кратко захватить его. Кроме того, если не сознательно переименовывает и сохраняет основную программу каждый раз, когда она меняется, она не может быть возможным, чтобы воссоздать то, что произошло на самом деле.

    Другие пользователи предпочитают писать более обобщенные подпрограммы, которые имеют определенный набор входных параметров, но может выполнять функции различных входов. Затем журнал сессий, в которых процедура на самом деле применяются. В этом методе, конкретный вклад в и выход из каждой подпрограммы четко и кратко документированы.

    Последний подход производит программное обеспечение, которое, как правило, более надежной и стабильной в течение длительного времени (не говоря уже использоваться другими), и легче восстановить, что было сделано в определенное время. Другие преимущества, которые могут иметь решающее значение, в том, что в письменном виде более общей подпрограмму, вы, скорее всего, тратить время, чтобы пересмотреть логику, адекватно документ, что процедура делает, и ловить опечатки (которые могут потопить вас в Основной программный подход). Я обнаружил, что это будет гораздо надежнее, чем "однократного" главный программный подход.

    Какой бы метод вы ни использовали, вы должны журнал все, если вы делаете серьезную работу.

    Хотя это можно объединить многие процедуры IDL в один файл *. Про файл и собрать их все с помощью одной команды, это мешает вам использовать процедуру человеку помощь, в которой перечислены заголовки на основе предполагаемых имен файлов. Это также поможет избежать file_which от размещения встроенных программах. Если вы имеете дело с большими пакетами с множеством подпрограмм, которые лучше держать вместе, это чистое и менее запутанной в долгосрочной перспективе, чтобы сохранить все процедуры в отдельных файлах. Вы всегда можете написать пакетной компиляции файлов, которые ловят все процедуры, необходимые для конкретной задачи. Или вы можете просто позволить автоматическая система компиляции найти и собрать программы, когда они впервые ссылки. Это меньше хлопот и так же быстро.


III. ПРИЛОЖЕНИЯ
ПРИЛОЖЕНИЕ: IDL УСТАНОВКИ

[Вверх к содержанию]

Перед выполнением IDL, вы должны определить специальный набор переменных среды IDL, так что LINUX и IDL знать, где искать различные исполняемые IDL и программных пакетов.

Если вы используете UVa астрономии Департамент по умолчанию система будет автоматически настроен на использование последней версии IDL в том числе мусс пакет установлен на наших локальных серверов. Если вы хотите использовать в системе по умолчанию, вы можете игнорировать остальную часть данного раздела, за исключением болезненного любопытства.
С другой стороны, если вы хотите настроить IDL конфигурации, вы должны знать информацию о различных переменных окружения.

Для определения переменных среды IDL необходимо источник специальных idl_env файл.

    Вы не можете изменить содержимое файла или idl_env переменные среды после IDL начинается выполнение.

    Файл, который настраивается по умолчанию на сессии астрономии департамента сети называется / Astro / IDL / idl_env.csh. (Для BASH сессии, использовать idl_env.sh).

    Кроме того, можно определять различные необходимые среде IDL переменные в. Войдите или зарегистрируйтесь. Cshrc файлов. Тем не менее, он чище, чтобы сохранить все такие определения вместе idl_env файл.

Первый элемент, который должен быть определен составляет $ IDL_DIR, расположение главной директории IDL. Внутренняя исполняемые файлы IDL хранятся там. Какая $ IDL_DIR вы определяете определяет, какую версию вы IDL будет выполняться.

    Каждый набор исполняемых файлов с разрешения Exelis для запуска только на определенных хостов, поэтому вы должны указать $ IDL_DIR в соответствующий каталог вашего текущего хоста для запуска IDL другие, чем в 7 минутах, урезанная "демо" режиме. Исполняемые файлы должны быть совместимы с текущей версией операционной системы, установленной на вашей машине.

Вы также должны указать местоположение файла IDL лицензию, которая разрешает хост для выполнения IDL. Лицензия выдается на один или несколько хостов. Лицензия UVA поддерживает 50 хостов одновременно. Переменных окружения, указывающие на файл лицензии с именем $ LM_LICENSE_FILE.

Вы также должны указать путь поиска для всех *. Про процедуры вы хотите использовать (кроме внутренних процедур Exelis).

    Путь определен в Linux Shell переменную $ IDL_PATH, который преобразуется в переменный IDL системы! Путь.

    Как только $ IDL_PATH была определена, она не может быть изменена во время сессии IDL.

    IDL умолчанию в отсутствие указанного пути является использование только текущим каталогом.

    Когда IDL ищет имени рутину, пути поиска в порядке от первого элемента к последнему. Первый файл с ожидаемым названием выполняется.

    Путь поиска, должна включать в себя библиотеку пользователя в IDL (распространяется с родной IDL), Библиотека пользователя IDL астрономический, в каталог ATV, и мусс каталога.

    Путь должен также включать ваш собственный каталог IDL и любые другие каталоги, содержащие настроенные процедуры, которые вы хотите вызвать, не делая их в текущем каталоге.

    Остерегайтесь несколько версий той же программы (например, AstUseLib версии и версии пользователей библиотеки)! Вы должны организовать свой путь так, что предпочтительный вариант встречается первым в пути.

    В UVA, AstUseLib версии являются предпочтительными, и должен быть помещен первым в своем пути, кроме собственного каталога IDL.

    Рекомендуемые пути структуры (см. примеры ниже синтаксис):


          [Текущего каталога], [ваш каталог IDL], [другие специальные местные
          *. Про библиотеки, если таковые имеются], [астрономии пользователей библиотеки], [MOUSSE]
          [ATV], [IDL пользователей библиотеки].

Отдельно, если вы хотите использовать databasing программное обеспечение, вы должны указать местоположение базы данных IDL (zdbase каталог) ..
Для того, чтобы настроить IDL сессии дальше, вы можете определить $ IDL_STARTUP переменной окружения. Файл, в котором эта переменная указывает будет выполнен в начале сеанса IDL. Этот файл запуска может выполнить произвольное число других программ IDL и скрипты. По умолчанию в UVa это выполнить запуск mousse_startup.pro файл. В числе других вопросов, эта процедура выполняется cinit.pro, многие процедуры MOUSSE не сработает, если CInit не выполняется.

И, наконец, файл idl_env также устанавливает псевдонимов для различных исполняемых файлов IDL.

Когда вы даете команду IDL в следующих установок, это то, что происходит:

    Исполняемый IDL находится в $ IDL_DIR извлекается

    Exelis / IDL лицензии проверяется

    Если ваш компьютер имеет право использовать IDL, нормальная программа выполняется

    Если вы не лицензированы для IDL, программа работает в 7-минутный «Демо» режим

    Переменных оболочки, начиная с IDL преобразуются в соответствующие системы внутреннего IDL переменных

    IDL_STARTUP файл $ выполняется, если оно определено.


Приложение B: Пример установки среды

[Вверх к содержанию]


# # # Это UVa астрономии LINUX системы по умолчанию файл окр
# # #, Как установлено на сервере отдела, март 2009 года.
# # # Место это: / Astro / IDL / idl_env.csh


# C команд оболочки для определения IDL переменных окружения и псевдонимы.
#
# Сценарий имя: idl_env.csh
#
# Этот скрипт используется C пользователям оболочки для определения
# Переменные окружения и псевдонимы необходимых IDL
# Связанные команды.
#
# Для выполнения этого сценария, дайте следующую команду, или,
# Для автоматического выполнения, поместить его в файл. Cshrc файле.
#
# Источник / Astro / IDL / idl_env.csh
#
# Чтобы перезаписать значения по умолчанию, заданные в этом файле, вы можете источника,
# Установочные файлы с вашего лица. Cshrc файле.
#

# # # # #
# Выбор системы - устаревшие 03-07-11
# # # # #
# Установить системы = `Uname-| AWK '{print $ 3}'`
# Если ($ системы == 5.6), то
# SetEnv IDL_DIR / нетто / astsun.astrosw / IDL /
# Еще
# SetEnv IDL_DIR / нетто / jeeves.common / RSI / IDL /
# ENDIF

# Обратите внимание: в марте 2009 года заменителей конфигурации ведомственных версия
Количество IDL v7.0 (/ Astro / МТС / IDL) для версии v6.4 UVa
# (/ Общие / RSI / IDL).

# SetEnv IDL_DIR / общие / RSI / IDL /
SetEnv IDL_DIR / Astro / МТС / IDL /
SetEnv IDL_HOME $ {} IDL_DIR
# SetEnv IDL_HELP / общие / RSI / IDL / помощь
SetEnv IDL_HELP / Astro / МТС / IDL / help

# Файл лицензии

# SetEnv LM_LICENSE_FILE / общие / RSI / лицензии / license.dat
SetEnv LM_LICENSE_FILE / Astro / МТС / лицензии / license.dat

# Местное пакеты

SetEnv ASTROLIB_DIR / Astro / IDL / Astrolib
SetEnv MOUSSE_DIR / Astro / IDL / мусс
SetEnv MOUSSE98_DIR / astro/idl/Mousse.98
SetEnv PIA_LOC_GEN / Astro / IDL / PIA /
SetEnv ATV_DIR / Astro / IDL / ATV
SetEnv FUSE_DIR / Astro / IDL / FUSE

SetEnv IDL_HELP_PATH "+ $ {} MOUSSE_DIR: + $ {} ASTROLIB_DIR: + $ {IDL_HELP}"

# ZDBASE является расположение IDL в формате базы данных

SetEnv ZDBASE / Astro / IDL / zdbase

# Замечания по IDL_PATH
#
# Символ "+" означает, что путь будет расширена, чтобы включить все
# Подкаталогов в указанном каталоге.
# Собственным IDL пользователей программы предполагается в каталоге с именем,
# Или связанные с "IDL" в домашнем каталоге пользователя
# Каталог $ IDL_HOME / Библиотека содержит библиотеку пользователя IDL о
# Обычный пользователь написана утилита процедур.

SetEnv IDL_PATH ". + ~ / IDL :/ астро / IDL / UVAlocal: + $ {ASTROLIB_DIR}: $ {} ATV_DIR: + $ {MO
USSE_DIR} + $ {} MOUSSE98_DIR: + $ {} IDL_HOME / Библиотека: + $ {} IDL_HOME / примеры: + $ {} PIA_LOC_GEN: + $ {FU
SE_DIR} "

SetEnv UIT_DATA $ {} IDL_HOME / данных

SetEnv IDLUSR $ {HOME}
SetEnv IDLUSER $ {HOME}

Псевдоним IDL $ IDL_DIR / бен / IDL
Псевдоним idlde $ IDL_DIR / бен / idlde
Псевдоним idldeclient $ IDL_DIR / бен / idldeclient
Псевдоним idlhelp $ IDL_DIR / бен / idlhelp
Псевдоним idlrpc $ IDL_DIR / бен / idlrpc
Псевдоним понимание IDL_DIR $ / бен / понимание
Псевдоним idldemo $ IDL_DIR / бен / idldemo

Псевдоним мягкая $ PIA_LOC_GEN / PIA

# Следующие IDL файл запуска будет выполняться до
# Каждой сессии IDL. Пользователь может указать другое
# Запуск в его / ее. Cshrc файле.

SetEnv IDL_STARTUP / Astro / IDL / запуска / mousse_startup.pro


Приложение C: MOUSSE STARTUP Файл примера

[Вверх к содержанию]
"Автозагрузка" файлы пакетных файлов, которые автоматически выполняются при IDL начинает работать. Они позволяют пользователю настроить его / ее IDL сессии.

Файл запуска часто помещается в $ IDL_DIR. Тем не менее, он может быть где угодно. Для того, IDL, чтобы найти его, необходимо указать переменную окружения $ IDL_STARTUP к нему. Если эта переменная не определена, не загрузочный файл будет выполнен.

Этот конкретный пример определяет специальный "системы переменных" и общие блоки, используемые при обработке пакета образа мусс. Эти повышения эффективности упаковки и сократить количество отпечатанные на машинке записи пользователь должен сделать, чтобы использовать его.

Содержание mousse_startup.pro:

  , Загрузочный файл mousse_startup.pro
  ; Последнее изменение: 15 мая 1992 года 30 сентября 93, 27 Dec 93, 22 Aug 97

печать, "Бегущий mousse_startup.pro ..."
печать "Для получения справки по AstUseLib и мусс процедуры, использовать процедуру Мусс MAN".

setplot, 'X'
DEFSYSV "! DEBUG ', 0
DEFSYSV "! TextUnit ', 0
DEFSYSV "! TextOut ', 1
DEFSYSV "! PRIV ', 0
! psprinter "defsysv,« астро-л.с.; УФ принтер по умолчанию
CInit; CInit устанавливает общие блоки MOUSSE
! PROMPT = 'IDL>'
! EDIT_INPUT = 100
on_error, 1; Возврат к основной программе в случае ошибки
печать "*** on_error 1 по умолчанию *** '
печать "*** Если терминал vt100/tek, тип SETPLOT, 0 '


Приложение D: X-WINDOWS ПРИМЕЧАНИЯ

[Вверх к содержанию]

Это руководство предполагает, что вы выполняете IDL из X-Windows среде. Так вот: во-первых, вы должны начать ваши окна системы и открыть соответствующее окно для ввода команд IDL. Расположение витрин открыл различных приложений IDL можно управлять во многих случаях. Обратитесь к описанию XPos в окне командной строки. Это полезно разместить витрины от вашего окно командной строки, где это возможно. Вы можете перемещать существующие окна с помощью мыши.
На Apple MAC, вы должны обычно вручную запустить X11 программы. Вы можете выбрать класс монитора из меню Параметры, изменения здесь не вступят в силу только после выхода и повторного запуска X11. Вы должны выполнять IDL из X-Window, чтобы использовать графику.

Как правило, вы запускаете IDL на локальном компьютере с дисплеем на локальном терминале. Для запуска IDL на удаленном компьютере, который поддерживает X-окна с дисплеем на локальном терминале, выполните следующие действия:

    Изменить. Xinitrc файл на локальном компьютере, чтобы включать заявление Xhost [удаленный хост], где [удаленный хост] = полное сетевое имя хоста IDL вы хотите использовать. Например:

    Xhost parfait.gsfc.nasa.gov

    Начало X-окна на локальной машине.

    SSH или Telnet для удаленного хоста IDL и вход

    Для получения X-окна выхода из принимающих IDL на локальном компьютере, тип

    SetEnv DISPLAY [местных]: 0.0

    где [местных] это полное сетевое имя локального компьютера, например,
    SetEnv DISPLAY bonkers.astro.virginia.edu: 0.0

    Начать IDL на удаленной машине

    Новые окна созданного IDL должен появиться на вашем терминале. Конечно, отображение данных в этом режиме будет работать медленнее, чем если бы вы были запущены на локальном компьютере.

Информация о тарифах и ценах на рекламные услуги, продвижение и раскрутку, создание сайтов, представленная на сайте носит справочно-информационный характер и не является публичной офертой. Сайт web-meister.ru работает в информационно-справочном режиме, оказание и заказ услуг создания сайтов и поисковой оптимизации возможны только после заключения договора с ООО"Путевкин". Информационно-справочные сведения, включая цены и любую другую информацию на сайте, не являются ни рекламой, ни офертой. Для получения полной информации по стоимости рекламных услуг, и для заключения договора на оказание информационно-рекламных услуг по созданию и раскрутке сайтов, пожалуйста, обращайтесь в наши офисы продаж. По всем вопросам работы сайта обращаться по email: info@web-meister.ru