Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.sao.ru/precise/Laboratory/Publications/2000/MIDAS/Lect_N1/node6.html
Дата изменения: Mon Jan 31 12:20:20 2000
Дата индексирования: Sat Sep 11 22:08:55 2010
Кодировка: koi8-r
Что такое MIDAS-команда next up previous
Next: Сага о формате FITS Up: Стандартная система редукции астрономических Previous: Пособие для самых нетерпеливых

Что такое MIDAS-команда

Одно из базовых понятий для работе с MIDAS -- MIDAS-команда. MIDAS-команда выглядит вот так:

COMMAND/QUALIFIER par1 ... par8 !Комментарий
Она состоит из команды (COMMAND) и квалификатора (QUALIFIER), разделенных прямым слэшем (/) и набором входных параметров (par1 ... par8), отделенных друг от друга пробелами. В одной команде не может быть более 8-ми параметров. Через пробел за последним параметром может следовать восклицательный знак, обозначающий начало комментария, а дальше, собственно, комментарий. А вот комментарий может быть любой.
ВНИМАНИЕ :Помните о пробеле между последним параметром и знаком комментария. Его отсутствие может привести к странностям при выполнении командных файлов, создание которых является естественным продолжением интерактивной моды работы в MIDAS.

Несколько странный вид комманды, доставшийся MIDAS от системы IHAP и операционной системы VAX/VMS, является очень удобным, с моей точки зрения, ибо позволяет дополнительно систематизировать команды. По внутреннему MIDAS-стандарту принято, что команда обозначает некое действие, а квалификатор -- то, с каким типом данных это действие выполняется. Например:

STATISTICS/IMAGE
-- расчет статистических характеристик изображения или его фрагмента;
STATISTICS/TABLE
-- расчет статистических характеристик колонки таблицы;
EDIT/TABLE
-- редактирование таблицы;
READ/KEYWORD
-- чтение содержания ключевого слова.

Существуют, конечно, и исключения, когда квалификатор специфицирует тип действия. Например:

FILTER/GAUSS
-- фильтрация с использованием GAUSS-функции;
FILTER/SMOOTH
-- фильтрация при помощи скользящего среднего (осреднение).

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

PLOT/ECHELLE
-- рисование спектров в пакете ECHELLE-редукции;
PLOT/LONG -- рисование спектров в пакете редукции двумерных спектров, полученных в моде "длинная щель".

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

STATISTICS/IMAGE ccdimage CURSOR
-- имя входного изображения и выбор моды работы с ним (курсор);
FILTER/GAUSS ccdinput ccdoutput 2,2 3.,1.,3.,1.
-- имена входного и выходного изображений, а также наборы числовых параметров фильтрации;
EDIT/TABLE mytab
-- имя входной таблицы;
READ/KEYWORD inputi
-- имя ключевого слова.

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

STATISTICS/IMAGE ? CURSOR
-- статистика текущего (визуализированного в image-дисплее) изображения. Область выбирается курсором;
FILTER/GAUSS ccdinput ccdoutput
-- имена входного и выходного изображений. Параметры фильтрации -- "по умолчанию".

Однако есть способы написания параметров в произвольном порядке. Для этого пишется выражение Pномер_параметра=значение. При такой записи параметры могут следовать в произвольном порядке. Например:

STATISTICS/IMAGE P2=CURSOR
-- статистика текущего (визуализированного в image-дисплее) изображения. Область выбирается курсором;
FILTER/GAUSS P2=ccdoutput P1=ccdinput
-- имена входного и выходного изображений. Параметры фильтрации -- "по умолчанию".

Большинство команд имеют квалификатор, но некоторые -- нет. Их очень мало и их надо знать "в лицо":

BYE
-- команда "прощания" с MIDAS (выход из сессии обработки);
HELP
-- самая простая команда запроса о помощи у системы;
RUN
-- исполнение монитором MIDAS внешней программы, написанной на C или FORTRAN.

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

STATISTICS/IMAGE
сокращается до STAT/IMA и даже до ST/I;
FILTER/GAUSS
сокращается до FILT/GAUSS и даже до FI/G;
EDIT/TABLE
сокращается до EDIT/TAB и даже до ED/T;
READ/KEYWORD
сокращается до READ/KEY и даже до R/K.
ВНИМАНИЕ :Учтите, что этот минимум зависит от версии MIDAS и от загруженных пакетов (появились новые команды). Я настоятельно не рекомендую укорачивать команды и квалификаторы при написании командных файлов. Зв это можно поплатиться тем, что они перестают работать в следующих версиях системы (она развивается и появляются новые команды).

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



Willy Kniazev
2000-01-31