Документ взят из кэша поисковой машины. Адрес
оригинального документа
: http://www.sao.ru/precise/Laboratory/Publications/2000/MIDAS/Lect_N4/node8.html
Дата изменения: Mon Jan 31 12:20:43 2000 Дата индексирования: Sat Sep 11 22:09:55 2010 Кодировка: koi8-r Поисковые слова: trifid nebula |
Весь огромный набор команд MIDAS можно примерно разделить на следующие группы (или категории):
Замечание :Знать (хотя бы приблизительно), какие команды к какой категории относятся, чрезвычайно полезно, особенно при написании командных файлов -- это может ускорить время выполнения Вашей программы в несколько раз. А найти эту информацию можно в тех трех томах MIDAS документации, о которых я уже упоминал ранее.
Теперь я попытаюсь объединить Primitive commands в группы по назначению. При этом, я совсем не буду упоминать группы команд, необходимых для ввода-вывода и работы с image и графическими дисплеями, поскольку я рассматривал их в предыдущих лекциях.
Итак, группы по назначению:
CENTER/GAUSS, CENTER/MOMENT GET/CURSOR, GET/GCURSOR
ALIGN/IMAGE, EXTRACT/IMAGE, FLIP/IMAGE, TRANSPOSE/IMAGE GROW/IMAGE, INSERT/IMAGE, REBIN/II (liner, polinom, exp, ..., user define) - только 1D изображения REBIN/LINEAR (start, step) - и 2D тоже REBIN/ROTATE (CENTER/..., ALIGN/IMA) REBIN/SPLINE, REBIN/IT (liner, polinom, exp, ..., user define) - только 1D изображения ROTATE/CLOCK, ROTATE/COUNTER_CLOCK, ROTATE/1DIM XCORR/IMAGE
AVERAGE/AVERA all pixels in the subframe AVER/COLUMN, AVER/ROW AVERAGE/IMAGES (aver,min,max,med) AVER/KAPPA, AVER/WEIGHT (COMP/WEIGHT) COMP/ROW, COMP/COLUMN COMP/IMAGE, COMP/PIXEL Функции: SQRT(a), EXP(a), EXP10(a), LN(a), LOG10(a), SIN(a) ASIN(a), COS(a), ACOS(a), TAN(a), ATAN(a), INT(a), ABS(a), ATAN2(a1,a2), MAX(a1,a2), MIN(a1,a2) и MOD(a1,a2)
ВНИМАНИЕ :Помните про отличие COMP/IMAGE от COMP/PIXEL!
CONVOLVE/IMA, DECONVOLVE/IMA (with psf) CREATE/FILTER FFT/IMAGE, FFT/INVERSE, FFT/POWER, FFT/FREQ FILTER/COSMIC, FILTER/DIGITAL, FILTER/GAUSS, FILTER/MAX, FILTER/MIN, FILTER/MEDIAN, FILTER/SMOOTH, FILTER/ADAPTIV
CREATE/IMAGE, CREATE/RANDOM (gauss, exp, pol, poisson ...) EXTRACT/IMA, EXTRA/CURSOR, EXTRACT/SLIT EXTRACT/CTRACE, EXTRACT/RTRACE, EXTRACT/LINE (диагональ), EXTRACT/TRACE, EXTRACT/REFERENCE_IMAGE, EXTRACT/ROTATED_IMAGE
FIT/FLAT_SKY, ITF/IMAGE, MODIFY/CURSOR, MODIFY/GCURSOR MODIFY/PIXEL, MODIFY/AREA REPLACE/IMAGE REPLACE/POLYGON - работает только для полигонов.
ВНИМАНИЕ :Хотелось бы специально выделить программу REPLACE/IMAGE. Разберитесь с ее использованием: это должно облегчить Вашу жизнь при проведении обработки или анализе. Данная программа предназначена для создания изображений-масок. Имеет тысячу других приложений.
Пример : |
REPL/IMA input out <,100=0. |
REPL/IMA input out <,100=ref |
REPL/IMA input out <,100=ref+2.5,d |
FIND/MINMAX, INTEGR/APERTURE, INTEGR/LINE MAGNITUDE/CIRCLE, MAGNITUDE/RECTANGLE STATIST/IMAGE
COMPUTE/FIT, COMPUTE/FUNCTION, EDIT/FIT, FIT/IMAGE, FIT/TABLE, READ/FIT, SET/FIT SHOW/FIT, SELECT/FIT REGRESSION/POLYNOMIAL, SAVE/REGRESSION
1. Каждая таблица содержит две дополнительных колонки -- первая -- это просто номер строки (называется :SEQUENCE или :SEQ), а вторая называется SELECT или SEL и равна или 0 или 1 для каждой строки, которая удовлетворяет/не удовлетворяет набору условий соответственно. Обратите внимание, что хоть формально это и колонка, но пишется без ":". Знание этого момента, а также команд SELECT/TAB и COMPUTE/TAB позволяет творить с таблицами чудеса.
ВНИМАНИЕ :Учтите, что команда COMPUTE/TABLE в конце удаляет все выделения (практически работает как команда SELECT/TAB Table All).
Пример : |
SELECT/TAB CFA :MAG.lt.15.and.:VEL.gt.1000 -- выделяем в таблице, содержащей каталог галактик, все объекты ярче 15m со скоростями больше 1000 км/сек. |
COMP/TAB CFA :Z = min(:MAG,:R) + (1-SEL)*:VEL -- создаем новую колонку, в которую записываем для каждой строки минимальное значение из колонок :MAG и :R и добавляем к нему значение скорости для выделенных предыдущей командой строк (в записанном мной виде выделенные значения будут умножены на 1). |
COMP/TAB CFA :SURF_BRIGHT = 2.5 * log10(10**((0.4*:MAG)/(:D**2))) -- считаем для всех галактик среднюю поверхностную яркость. |
COMP/TAB mytab :name = concat(:star,tochar(:SEQ)) -- делаем колонку: имя звезды+номер строки таблицы, в которой она есть. |
2. Если в поле таблицы нет значения, это называется NULL-величина. Обозначается как "*". На эту же величину будут заменяться все результаты некорректных операций (LOG от -1, например).
3. Есть набор команд для копирования колонок из таблицы в таблицу, а также преобразования структуры "таблица" в структуру "изображение" и наоборот: COPY/KT, COPY/TK, COPY/TT, COPY/TI, COPY/IT....
ВНИМАНИЕ :Разберитесь с командой SET/REFCOLUMN в этом месте. Она позволяет то, чего не позволяет делать просто знание о колонке :SEQ.
4. Таблицы в MIDAS можно интерактивно редактировать. Редактор таблиц вызывается командой EDIT/TAB. В редакторе надо знать волшебные последовательности:
После выхода в командный режим можно пользоваться набором встроенных функций. Вот их список:
keypad line screen word _last_column change_format advance bottom_of_table backup top_of_table create_column delete_column page command section right_page left_page _delete_word _undel_word _delete_character _undel_character _next_line row gold next find _delete_line _undel_line _arrow _bad_key tabular help show sort status Function
5. И еще набор команд, существующих для таблиц:
COMPUTE/HISTOGRAM, COMPUTE/REGRESSION REGRESSION/LINEAR, REGRESSION/POLY, SAVE/REGRESSION, COMPUTE/TAB, CONVERT/TAB, INTERPOLATE/TT, INTERPOLATE/TI, INTERPOLATE/IT, REBIN/TT, REBIN/TI, REBIN/IT (1D) MERGE/TABLE, JOIN/TABLE, NAME/COLUMN, SELECT/TAB, SORT/TABLE, STATIST/TABLE