В.В.Галактионов, Т.М.Голоскокова, Н.И.Громова, А.В.Гусев, В.В.Мицын, Ж.Ж.Мусульманбеков, И.К.Некрасова, В.Д.Позе, А.В.Сергеев, Е.А.Тихоненко
РУКОВОДСТВО ДЛЯ ПОЛЬЗОВАТЕЛЕЙ LINUX КЛАСТЕРА ЛИТ ОИЯИ
Дубна 2004
От редактора
1 Структура Linux кластера и базовое программное обеспечение
1.1 Интерактивный кластер
1.2 Вычислительные фермы
1.3 Серверы дискового пространства
1.4 Вспомогательные серверы
1.5 Базовое программное обеспечение

2 Начальные рекомендации пользователям
2.1 Как стать пользователем
2.2 Ваша "учетная запись" (account) и пароль
2.3 Безопасность
2.4 Пакетная обработка счетных задач
2.5 Дисковое пространство для пользователей
2.6 AFS и пользовательские файлы и каталоги
2.7 Электронная почта
2.8 Русификация

3 Файловая система AFS

4 Рекомендации для пользователей параллельного вычислительного кластера
4.1 Использование команды qsub
4.2 Описание параметров
4.3 Контроль над исполнением задачи
4.4 Результаты выполнения задачи в пакетной обработке

5 Перечень и краткое описание основных команд при работе в операционной системе Linux
5.1 Простейшие действия
5.2 Стандартные команды. Информация по системе команд
5.3 Работа с сетью
5.4 Некоторые команды администрирования
5.5 Контроль процессов
5.6 Встроенные в Linux программные утилиты и языки

6 Midnight Commander

7 Рекомендуемые редакторы
7.1 Текстовый редактор pico
7.2 Краткое описание редактора vi/vim

8 Некоторые средства разработки программ
8.1 Текущие версии компиляторов C и g77
8.2 Редактор связей ld
8.3 Команды ar, ranlib, nm, ldd, strings
8.4 Утилита gprof
8.5 Отладчики GDB, DDD

9 Графические пакеты на Linux кластере
9.1 ImageMagick. Просмотр и обработка изображений
9.2 Chimera
9.3 Системы визуализации массивов числовой информации (научных данных)
Grace
IRIS Explorer
OpenDX (Data Explorer)

10 СУБД MySQL
10.1 Регистрация пользователей и создание базы данных
10.2 Соединение с сервером MySQL
10.3 Примеры работы с MySQL
10.4 Основные команды
10.5 Подключение к базе данных MySQL с использованием PHP

11 Изменения в работе с PHP-программами

12 Сведения об информационном сервере linux4u

13 Литература о Linux на русском языке

14 Сравнительное сопоставление прикладных пакетов в Windows и Linux

файлы для печати:
(.doc) (.zip))

November 23, 08:31:43

 

chapter_9

9 Графические пакеты на Linux кластере

9.1 ImageMagick. Просмотр и обработка изображений.


Пакет ImageMagick входит почти в каждый дистрибутив Linux. Это набор консольных утилит и библиотек для просмотра и обработки изображений. ImageMagick ориентирован на работу в консоли, хотя и имеет свой собственный графический интерфейс - Command Widget. Имеется ряд интерфейсов между ImageMagick и такими языками программирования, как C/C++, Perl, Java, Python. Очень удобен в автоматизации обработки изображений: его утилиты работают в скриптах и программах, написанных на этих языках.
С ImageMagick создаются динамические изображения для Web страниц:
  • производится трансформация изображений: изменение размеров, цвета, вращение
  • создаются надписи на изображении и комментарии
  • получают снимки экрана, окна, выделенной области
  • добавляются спецэффекты для искажения изображения
  • используют и сохраняют изображения всех популярных форматов TIFF, JPEG, PNG, PDF, PhotoCD, GIF... - всего 89 форматов
  • просматриваются, указанные в URL изображения
  • строится гистограмма компонентов изображения


ImageMagick может быть собран и поставлен на всех Unix и Linux системах, а также, работоспособен в Windows9x/2K, Macintosh, VMS, OS/2. Работа с утилитами ImageMagick (convert, identify, montage, mogrify, composite) на удаленной машине возможна даже при отсутствии X сервера на компьютере пользователя. Достаточно клиента для подсоединения к удаленной машине с установленным пакетом ImageMagick и средств для просмотра графических файлов на собственной машине.
Вызов ImageMagick - по имени пакета (без пробела) или имени его утилиты из командной строки.
Утилиты ImageMagick находятся в каталоге /usr/local/bin
Документация - в каталоге /usr/X11R6/share/ImageMagick .

Утилиты ImageMagick и их использование


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

man ImageMagick


Информация о выбранной утилите:

man <имя_утилиты>
или
<имя_утилиты> -help


  • 1. display
  • машинонезависимая обработка и просмотр изображений. Работает на всех рабочих станциях с активным X сервером. Это загрузка, просмотр, запись, уменьшение/увеличение размеров, вращение и трансформация, изменение цвета, контрастности, устранение дефектов изображения, операции со слайдами. При необходимости display вызывает другие утилиты ImageMagick. Просмотр графического файла из mc (Midnight Commander):


    находясь в каталоге с отмеченными файлом, вызвать меню F2 и выбрать Do something with current file. В окне ввести display. Откроется окно ImageMagick с изображением из отмеченного файла.

    Ввод имени этой утилиты из командной строки так же вызывает окно ImageMagick с приглашением внизу: Press left mouse button for menu


    Функции кнопок мыши:


    1 Левая кнопка - открывает отдельное меню Commands из Command Widget
    2 Средняя кнопка - открывает окно Magnify 3x - "лупа", увеличение указанного курсором участка, точки изображения с информацией о них. Эмуляция средней кнопки мыши - одновременное нажатие левой и правой кнопок.
    3 Правая кнопка - меню Short Cuts - набор команд утилиты display. Здесь кнопку надо придержать.

    Создание снимка области экрана

    Меню Short Cuts => правая кнопка => выбрать Open =>
    Появится окно. Нажать Grab =>
    Новое окно. Указать задержку, после которой создается снимок => oпять нажать Grab.
    Курсор изменяет форму. Обвести область на экране и щелчком получить ее снимок.
    Двойной щелчок на окне дает снимок этого окна.


    Из контекстного меню display:

    Сохранение снимка - Save
    В открывшемся окне - Format. Выбрать формат изображения: в списке почти сотня поддерживаемых форматов.
    Левой кнопкой - на окне display. Откроется Commands - меню и редактор изображений.

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

    Получение информации об изображении:

    Правая кнопка мыши => Short Cuts => Image Info => окно с подробной технической информацией о характеристиках точек изображения.

    Вызов окна с гистограммой изображения:
    Левая кнопка мыши => Commands => Miscellany => Show Histogram

    Возможно использование "горячих" клавиш в работе. Это только часть из них:


    Ctl-O загрузка изображения из файла
    space переход к следующему изображению
    Ctl-S сохранение в файл
    Ctl-D удаление
    Ctl-Q сброс всех картинок и выход из программы
    Ctl-Z отменить последнюю трансформацию
    Ctl-X вырезать область из изображения
    Ctl-C копировать
    Ctl-V вставить
    < и > уменьшить и увеличить размер вдвое
    . точка, вернуться к оригинальному размеру
    C crop, обрезать изображение
    [ chop, штамп
    H и V flop и flip, зеркальные отображения
    / и \ вращение на 90 градусов
    Shft-? получить информацию об изображении
    Shft-N гистограмма
    Shft-P предосмотр
    F1 получить help страницу


    В ImageMagick к каждому действию существует доступ через комбинацию клавиш. Вся информация о них - на man страницах.


    display в качестве консольной утилиты:


  • Просмотр всех *.jpg изображений - visual image directory:
    display 'vid:*.jpg'
  • Просмотр картинки с WWW:
    display ftp://wizards.dupont.com/images/cockatoo.jpg
  • Получение гистограммы изображения в файле file.jpg :
    convert file.jpg HISTOGRAM:- | display -


    • 2. convert


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

    Изменение формата файла с *.jpg на *.bmp. Тип файла распознается программой по расширению:


    convert file.jpg file.bmp


    Вертикально перевернуть изображение в file.bmp с конвертацией в JPEG:


    convert -flip file.bmp file.jpg


    Cоздать ani.gif анимацию из всех *.bmp файлов текущего каталога cо сменой файлов в 20/100 сек:


    convert -delay 20 *.bmp ani.gif


    Преобразовать image.tiff в PostScript документ формата А4 с расположением изображения в левом нижнем углу:


    convert -page A4+0+0 image.tiff document.ps


    На изображении magic.jpg от точки 100*100 сделать надпись "IMAGE" синим цветом, шрифтом helvetic. Результат записать в I_magic.jpg:


    convert -font helvetica -pen blue -draw "text 100,100 IMAGE" magic.jpg I_magic.jpg


    Задание типа компрессии (None, BZip, Fax, Group4, JPEG, Lossless, LZW, RLE и Zip) для форматов, которые поддерживают сжатие числом - от 0 до 100 - качества сжатия (для форматов .jpeg, .miff и .png):


    convert -compress JPEG -quality число image


    • 3. identify

  • информация о параметрах изображения:
    identify -verbose имя_файла


    • 4. import

  • запись образа окна, выбранной области экрана в файл. Имеется около 20 опций.


    Сделать снимок и записать его в файл shot.bmp:


    import shot.bmp


    Сделать снимок окна с записью в shot.bmp. Окно выбирается одинарным щелчком под крестиком-курсором:


    import -window shot.bmp


    • 5. animate

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


    animate -delay 100 *.bmp


    • 6. montage

    - монтаж; создание изображения из нескольких.


    Объединить отдельные gif_image вместе (без фрейма, без тени, без метки):


    montage +frame +shadow +label -tile 5x1 -geometry 50x50+0+0 *.png joined.png


    • 7. mogrify

  • трансформация изображения или их последовательности (без применения скриптов). Конвертирует несколько файлов:


    mogrify -format jpeg *.bmp

    • 8. composite

  • комбинирование, наложение изображений.
    Найти отличие между изображениями в сериях и записать результат в файл difference.miff :
    composite -compose difference series.1 series.2 difference.miff


    9.2 Chimera


    Chimera - графический пакет для моделирования молекулярных систем в 3D пространстве. Разработан UCSF (University of California) San Francisco Computer Graphics Laboratory (CGL). Chimera представляет собой следующее поколение пакета MidasPlus.
    Chimera предоставляет инструменты для исследования плоскости сечения и выбора масштаба молекул, интерактивного редактирования цветового представления, определения типов атомов в произвольных молекулах, вращения связей, измерения расстояний и угловых размеров, просмотра в 3-мерном пространстве данных оптического и электронного микроскопов, профиля потока рентгеновских лучей, электростатического потенциала и других объемных данных.
    Chimera обеспечивает стандартные типы представлений молекул и атомов: ленточные, каркасные, сферические.
    Графический интерфейс с меню и многофункциональными окнами дает удобный доступ ко многим функциям. Внутренним языком в Chimera является Python.
    Chimera поддерживает одновременную сессию молекулярного моделирования в распределенной сети в реальном времени.


    Работа с пакетом

    Вызов Chimera производится из командной строки:


    chimera


    или кликом по иконке программы на рабочем столе.
    Операции с данными и объектами в Chimera, а также выбор опций, могут осуществляться двумя способами: из командной строки, Command Line и из Меню графического интерфейса.

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


    ...\Chimera\share\chimera\helpdir\UsersGuide\filetypes.html


    Одним из основных форматов является PDB, Protein Data Bank format, - стандартный формат для файлов. Файлы такого формата, содержащие типы атомов, их координаты, включают также разнообразную информацию об авторах и ссылки на литературу, типы, идентификацию подструктур, таких как, дисульфидные связи, спирали, ленты и активность состояния.
    PDB формат состоит из информационных строк - record, которые подразделяются на типы. Вот некоторые из них:


    ATOM - для атомов в стандартных радикалах (амино- и нуклеиновые кислоты);
    HETATM - для атомов в нестандартных радикалах (ингибиторы, ионы, растворители);
    TER - показывает конец цепочки и препятствует отображению соединения со следующей цепочкой


    За более подробной информацией следует обратиться к файлу


    ...\UsersGuide\tutorials\pdbintro.pdf


    Command Line и Графический интерфейс


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


    Favorites => Command Line или Tools => Keyboard => Command Line


    Справа от строки - кнопка истории команд. Сочетание Ctrl+u стирает содержимое строки.
    Много команд Chimera использовалось в ее предшественнике - MidasPlus. Поэтому Command Line иногда называют Midas Emulator. Список всех команд с отметками - только для Unix, только в Chimera, или для обоих пакетов Chimera и Midas, находится в UsersGuide.
    Синтаксис команд для атомов имеет некоторые отличия от предыдущих команд в MidasPlus. Введены три главных уровня в иерархии:


    # для модели,
    : для радикалов,
    @ для атомов.


    Подуровни указываются после точки: :.c


    Список всех команд находится в файле PDF формата:


    .../UsersGuide/quickref.pdf


    В качестве примера предлагается в свою рабочую директорию загрузить файлы PDB 1zik.pdb (LEUCINE ZIPPER CORE MUTANT) или 6bna.pdb (DEOXYRIBONUCLEIC ACID) из дистрибутива программы:


    .../UsersGuide/tutorials/*.pdb

    Открытие файла 1zik.pdb:


    Command: open 1zik.pdb


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


    open [ model | pdb | object ] [ model_number ] filename


    Поставленный перед командой значок ~ отменяет действие команды:


    ~open model_number
    ~open all

    model, pdb, или object указывают на тип файла. Если используются ключи model или pdb, входной файл будет интерпретироваться как PBD. Если стоит ключ object, то входной файл будет прочитан как VRML файл. Кроме того, тип файла всегда можно указать его суффиксом. Распознаются и открываются также и архивные файлы с суффиксом .gz. Если нет указаний команде, то признается по умолчанию формат PBD.
    Есть возможность указать путь к файлу командой:


    cd path_name

    Если тип файла указан как PBD, но файл не найден в рабочей директории, Chimera будет искать его в /usr/mol/pdb/.

    Инструменты визуализации с помощью дополнительного окна находятся в следующих разделах меню:


    Favorites => Side View
    Actions => ...
    или
    Tools => Viewing Parameters => Camera, Effects, Per-Model Clipping, Rotations, Side View


    То же самое с использованием опции при запуске пакета:


    chimera --start "Side View"


    Открывается новое окно Viewing c инструментом Side View и уменьшенным изображением структуры. Здесь обеспечивается удобный и интуитивный способ масштабирования и плоскости отсечения. Слева в окне небольшой квадрат - условное положение глаза и две вертикальных линии - плоскости сечения. Управляет ими левая клавиша мыши. Средняя клавиша двигает обе поверхности одновременно. Кнопка low/high позволяет представлять объект в упрощенном оригинальном виде; это удобное средство при работе с большими молекулами. В главном окне вращение структуры можно осуществить левой клавишей мыши, перенос - с помощью средней клавиши, масштабирование - правой.


    В командной строке команда:


    Сommand:section distance


    передвигает обе плоскости на одно и то же расстояние +/-distance в Ангстремах (положительное расстояние - по направлению к смотрящему; отрицательное - передвижение от смотрящего).
    Ниже приведены примеры использования команд Chimera.


    Упрощенный показ:


    Сommand:chain @ca


    Команда chain (цепочка) рисует только CA (альфа-углерод) атомы и псевдосвязи.
    В общем виде:

    chain atom-spec
    atom-spec - атомная спецификация. Может иметь одно из следующих значений:


    # model номер модели по умолчанию, или данный в команде open
    : residue имя радикала или номер радикала в последовательности
    :: residue имя радикала
    @ atom имя атома


    Аналогичные команды:


    display atom-spec
    show atom-spec


    Определение толщины линий в изображении:


    linewidth 3
    или
    Actions => Atoms/Bonds => wire width => 3


    Кроме того, меню Actions применимо ко всем выделенным объектам, а когда нет выделения - применимо ко всем объектам.


    Ctrl+левая_клавиша мыши - операция выделения части структуры. В командной строке:


    Сommand:select all или select model_number(s) или select atom-spec


    Добавить к существующему выбору - удерживать клавишу Shift.


    В примере: Ctrl+Shift+левая_клавиша - выделить два альфа-углерода, один от каждого пептида. В командной строке выделение указывается словами selected, sel или picked. Тогда введение идентификаторов для атомов или радикалов осуществляется командой:


    Сommand: label sel или label atom-spec
    Сommand: ~label sel - отказ от проведенного действия


    Идентификатор имеет форму atom_name (residue_number.chain residue_name) Из меню в главном окне та же операция:


    Action => Label => off, name, element, residue...


    Изменение цвета цепочек.


    Из меню:


    Actions => Color


    В командной строке:


    Command: color cyan :.a
    Command: color yellow :.b


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


    Command: disp :.water команда показывает воду (только кислород, который виден в рентгеновских лучах).
    Select => Residue => name => HOH выделение молекул воды
    Command: show :.a очистить экран от всего, кроме a цепочки


    Или с помощью меню:


    Actions => Atoms/Bonds => hide
    Select => Chain => A
    Actions => Atoms/Bonds => show


    Показать только основу a цепочки (при пропущенном :.a будут показаны основы обеих цепочек):


    Command: chain :.a@n,ca,c
    или
    Actions => Atoms/Bonds => backbone only


    Показать в окне все атомы в цвете:


    Command: disp
    Command: color byatom

    Убрать с экрана, сделать неактивной одну из моделей:


    Command: close 0


    В окошечках под командной строкой можно сделать то же самое, убрав отметку в соответствующем окошке.


    Можно вручную создать файлы с набором команд или сохранить из командной строки, используя Command History. Комментарии в таких файлах начинаются с #. Командный файл может быть использован с командами read, source, непосредственно при открытии файла.


    Наличие и функции статусной строки, которая находится в самом низу основного окна, контролируется в


    Favorites => Preferences => Category: Messages Tools => Keyboard => Accelerator List


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


    Откройте файл 6bna.pdb:


    Command: open 6bna.pdb


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


    Command: color blue :a
    или
    Select => Residue => name => A
    Actions => Color => blue
    Command: color magenta :t
    Command: color yellow :g
    Command: color cyan :c

    a,t,g,c - имена радикалов.


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

    ленточное представление:
    Command: ribbon

    связи в виде отрезков:
    Command: represent stick

    со сферами:
    Command: repr sphere

    изменение представления только одной цепочки B:
    Command: rep stick :.b

    шары со связями:
    Command: repr bs


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


    Тот же результат можно получить из меню:


    Actions => Ribbon, Atoms/Bonds


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


    Command: la picked на экране появится имя выделенного объекта.
    Command: ~la убрать выделение или
    Select => Clear Selection


    Рассмотрим особенности представления поверхности с помощью команды surface, которая избирательно показывает молекулярную поверхность. Когда команда surface сопровождается именем категории (category-name), изображаемая поверхность относится к атомам этой категории. Когда эта команда сопровождается спецификацией атомов (atom-spec) изображаемая поверхность относится ко всем категориям, содержащим эту спецификацию. Существуют т.н. автоматические категории:


    ions - единичные атомы с атомным числом 9 или выше
    solvent - единичные атомы с атомным числом 8 или ниже, не являющийся ионным радикалом и удовлетворяющий условиям: не более 10 атомов, не менее 10 радикалов одного типа, наибольший числовой тип отдельного радикала
    ligand - не принадлежащий к растворителям, отдельным ионным радикалам или цепочкам радикалов не более, чем 1/4 размера наибольшей последовательной цепочки радикалов в модели.
    main - все остальные атомы


    Используя команды для внешнего вида представлений, можно увидеть участки, принадлежащие к этим категориям:


    Command: surface [main]
    Command: ~surface
    Command: surface ligand
    Command: surf :a,t


    Завершение работы


    Закрыть модель, или прервать текущую сессию в Chimera:


    Command: stop
    File => Close Session


    Выход из программы:


    File => Quit


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


    Манипуляции мышью


    X - горизонтальная ось в плоскости экрана
    Y - вертикальная ось
    Z - перпендикулярная ось относительно плоскости экрана


  • Поворот вокруг X, Y, Z осей - с помощью левой клавиши мыши
  • XY перемещения - средняя клавиша
  • Z сдвиг - Ctrl+средняя_клавиша_мыши
  • Выбор масштаба - правой клавишей мыши
  • Выбор нужных элементов - Ctrl+левая клавиша мыши
  • При зажатой клавише Shift скорость чувствительности мыши понижается.
  • Появление ярлыка с информацией - при наведении курсора к изображению атома (при условии, что включено Preferences Tool => Show atomspec balloon = true )
  • Изображения неактивных моделей на манипуляции мышью не реагируют.


    9.3 Системы визуализации массивов числовой информации (научных данных)

    Grace


    Grace - программа для подготовки двумерных графиков по численным данным. Она работает на множестве (если не на всех) разновидностей UNIX/Linux, где есть X11 и M*tif (LessTif или Motif): X сервер и графические библиотеки. По своим характеристикам она аналогична таким программам, как Sigmaplot или Microcal Origin и, кроме того, обладает многими возможностями таких программ, как gnuplot или Genplot.
    Grace сочетает в себе удобство графического интерфейса с большими возможностями языка сценариев. Позволяет проводить сложные вычисления или делать автоматическую обработку данных. Имеет режим интерпретатора командного языка.
    Grace или GRaphing, Advanced Computation and Exploration of data или Grace Revamps ACE/gr - распространяется свободно, под GNU GPL.


    Вызов с использованием графического интерфейса

    При активном X сервере на собственной машине войти в сеанс на удаленной машине с установленным пакетом Grace. Вызов пакета в консоли после подсказки:

    xmgrace


    При запуске Grace появляется Main Widget - главное окно программы, имеющее панель меню, переключатели и поле для графика.
    Доступ к документации возможен из Help подменю основного окна программы - Main Widget, или из установленного на машине дистрибутива Grace в *.html файлах:


    /usr/local/grace/doc/*.html


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


    /usr/local/grace/examples/dotest


    В результате работы с программой в главное окно будут выводиться рисунки графиков. Кнопка Exit слева на панели окна - для смены тестов и их завершения.


    Чтение данных


    Выбрать в верхнем меню основного окна:


    Data => Import => ASCII


    В новом окне Read sets выбрать файл c данными для тестового примера grace/doc/2.1.dat. В файле - колонки со значениями X и Y координат. Нажать кнопку NXY слева. В окне появятся отдельные различные цветные кривые.

    В меню выбрать:


    Edit => Data_sets...


    Откроется окно Data set properties. Здесь список всех наборов данных и их характеристик. С помощью меню можно редактировать имеющиеся наборы данных или создавать новые.
    Для удаления набора: выбрать его и щелкнуть правой кнопкой мыши. В появившемся меню выбрать kill. Удалится все, связанное с этим набором данных; kill data удалит только данные.
    Практически все свойства кривых - с перенастраиваемой конфигурацией: цвет, толщина линии, символы, заполнение и т.д. Доступ к их свойствам:


    Plot => Set appearance (или двойным щелчком около объекта.)


    В появившемся окне находится список наборов с их номерами. G0.S1 означает обращение к set 1 в graph 0.


    Правой (третьей) кнопкой мыши кликнуть на списке наборов - появится меню операций.


  • Выбор цвета:
    Set_Appearance => Data => All colors


  • Выбор осей координат - название, фонт, цвет, наличие сетки, разметка и т.д.:
    MainWidget:Plot => Axis properties
    или двойным кликом в окне.


  • Выход из программы:
    File => Exit


    Последовательность действий


  • Запустить GUI версию:
    Xmgrace
  • Выставить размер рисунка:
    Plot => Graph Appearance => Viewport
  • Загрузить данные:
    Data => Import => ASCII
  • Для ASCII данных, представленных двумя колонками:
    Load as: Single set
  • для ASCII данных из нескольких колонок:
    Load as: Block data
  • Отрегулировать масштаб, обозначить оси координат, делать отметки:
    Plot/Axis properties
  • Настроить линии, символы, надписи:
    Plot => Set Appearance
  • Ввести заголовки, систему координат и надписи:
    Plot => Graph Аppearance
  • Действия над данными:
    Data => Transformations
  • Числовые сдвиги наборов данных:
    Evaluate Expression
  • Печать графика:
    File => Print


    Grace понимает несколько форматов входных файлов. Наиболее распространенный - ASCII текст с пробелами и запятыми, разделяющие столбцы данных. Область данных может быть либо числовая с поддержкой Фортранных мантисс, или буквенно-цифровая (с кавычками или без). Отдельные форматы календарных данных распознаются автоматически. Можно включать команды в файл данных, имеющие строку с первым символом "@".


    Форматы выходных файлов

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


  • X11
  • PostScript уровень 1 и уровень 2
  • EPS encapsulated PostScript
  • Metafile в формате Grace, используется в процессе отладки
  • MIF Maker Interchange Format используется FrameMaker
  • SVG Scalable Vector Graphics, язык для описания 2D векторной и векторно-растровой графики в XML
  • PNM portable anymap file формат

  • Использование PDF, JPEG, PNG зависит от дополнительных библиотек. Формат GIF здесь не поддерживается. Grace подсказывает программу преобразования, автоматически определяя ее по имени файла.


    Командный интерпретатор

    Grace имеет свой командный интерпретатор и обширный набор команд, с помощью которых можно выбрать цвет, набор данных, использовать арифметические, логические операторы и операторы сравнения, математические, спецфункции, статистические и обобщенные функции. Через командный интерпретатор могут быть выставлены несколько параметров для создания "hard copy": размеры страницы, разрешение (dpi), фонты, перенаправление вывода в файл, без печати.

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


    Data => Transformation


    Через командный интерпретатор могут быть выставлены несколько параметров для создания "hard copy": размеры страницы, разрешение (dpi), фонты, перенаправление вывода в файл, без печати.

    Интерпретатор работает и в GUI версии: Window => Commands и с batch файлом. Команды и операторы считываются построчно. На строке может быть несколько выражений, разделенных точкой с запятой. Максимальная длина строки - 4kb; без учета регистра; строки, начинающиеся с # являются комментариями.
    Grace поддерживает большое количество опций командной строки, которые помогают управлять внешним видом и размещением рисунков графиков. Опции удобно использовать для быстрого выхода на печать, без использования GUI. Опции можно использовать в скриптах для автоматизации создания графиков. Выдача списка опций на экран:


    gracebat -help


    Ту же информацию можно найти в файле:


    /usr/local/grace/doc/UsersGuide.html


    Например, для чтения файлов foo.dat и bar.dat и изменения масштаба в foo.dat по Y до 1000, проще написать строку:


    xmgrace foo.dat bar.dat -pexec "s0.y = s0.y * 1000"


    Пример с batch файлом.
    Требуется сделать тоже, что и в предыдущем примере, но также добавить условные обозначения осей и изменить цвет кривых. Сначала создается файл - bfile c командами Grace:


    #Obligatory descriptive comment
    s0.y = s0.y * 1000
    s0 line color 3
    s1 line color 4
    title "A Gnasty Graph"
    xaxis label "Time ( s )"
    yaxis label "Gnats ( 1000's )"
    autoscale


    Затем запускается Grace с опцией -batch:


    xmgrace foo.dat bar.dat -batch bfile


  • Набор команд Grace - в разделе 5.2 UsersGuide
  • Набор операторов и функций - в разделе 5.4 UsersGuide


    Взаимодействие с другими программами пользователя
    Библиотека grace_np

    Библиотека grace_np - это набор скомпилированных функций для запуска и управления подпроцессов Grace из программ, написанных на C и Fortran. Функции обеспечивают старт подпроцесса, отправку команд или данных, их прерывание или отсоединение.
    Grace просматривает посланные пользователем команды, и интерпретирует их, как если бы они были даны в batch файле. Если требуется послать данные, их необходимо включить в команду типа g0.s0 point 3.5, 4.2. Данные подаются посредством конвейера (anonymous pipe). Если происходит выход из подпроцесса во время работы родительского процесса, произойдет принудительное прерывание c возвратом кода ошибки при каждом следующим обращении к библиотеке grace_np.
    Пример программы с использованием библиотеки grace_np можно найти в UsersGuide 6.2 .


    IRIS Explorer


    Система IRIS Explorer разработана компанией Silicon Graphics (SGI). В настоящее время разработка и поддержка перешла к Numerical Algorithms Group (NAG). Базируется на библиотеках Open Inventor, ImageVision и OpenGL.
    IRIS Explorer(IE) предназначен для наглядного представления в пространстве больших массивов числовой информации и их анализа.
    В этой системе пользователь самостоятельно создает приложения для обработки данных при помощи компоновки (выбрать и соединить) готовых модулей - программ- функций. Набор модулей в системе достаточно обширен.
    IRIS Explorer предоставляет пользователю:

    • преобразование числовых массивов в геометрические образы или объекты интерактивный анализ данных
    • визуализация результатов для анализа, презентаций, публикаций
    • создание анимации
    • визуальный point-and-click интерфейс
    • систему быстрой разработки приложений (RAD - Rapid Application Development)
    • объектную ориентированность
    • одни и те же методы визуализации вне зависимости от природы данных
    • применение во всех областях исследования
    И при этом, работа с IRIS Explorer(IE) не требует навыков программирования.

    Запуск IRIS Explorer

    IE запускается командой:
    explorer

    Предполагается наличие X терминала или его эмулятора на собственной машине пользователя.


    Программа открывает три окна:


    1. Map Editor - главное окно в IRIS Explorer. Это область для создания и редактирования map - приложений. Внизу размещена линейка иконок, которые могут быть использованы для операций над модулями:
    "Disconnect" "Reconnect" "Replace" "Enable Disable" "ShowLog" "Help" "Destory"
    Те же операции доступны через меню.


    2. Log window - системные сообщения. Многие модули могут быть сконфигурированы для выдачи сообщения. Для отдельно взятого модуля Log window можно открыть кликом правой кнопкой мыши по модулю и выбором Show Log.


    3. Module Librarian - библиотека модулей, хранилище для модулей и созданных с их помощью приложений - modules and maps. Большинство модулей объединено в категории. В нижней части окна имеется специальная категория - Module shelf - полка для часто используемых модулей. В эту область можно переносить, по принципу drag-and-drop, любые модули из основного окна Module Librarian.


    Каждый модуль реализует определенную задачу - чтение данных, вычисление или преобразование, вывод изображения. Модули хранятся в библиотеке на определенных местах, рассортированные по назначениям, категориям. Один и тот же модуль можно найти на разных "полках" хранилища библиотеки. Выбранные в библиотеке модули выделяют курсором и помещают на рабочее пространство Map Editor, соединяют между собой, создавая приложение (map).

    map - это визуальное представление приложения, созданного с помощью IE и представляющее собой набор соединенных между собой модулей. Соединения показывают поток данных от модуля к модулю (модель потока данных).

    Отдельные участки сети могут быть сгруппированы в отдельный модуль. В хранилище библиотеки есть раздел с готовыми приложениями - maps. Каждое приложение начинается с модуля чтения или генерации данных и заканчивается модулем DisplayImg или Render, которые осуществляют вывод созданных объектов в виде изображений или анимации. Все действия производятся курсором в соответствующих окнах.
    Информация поступает в модуль и выходит из него через его порты. Управление модулем осуществляется через параметры. Каждый модуль имеет свой help файл.


    Для запуска модуля:


  • найти категорию в Библиотеке Модулей Module Librarian
  • выбрать модуль, пользуясь левой кнопкой для просмотра всего списка, или осуществить поиск по имени
  • запустить модуль - перетащить прямоугольник модуля левой кнопкой мыши на Map Editor, или кликнув правой кнопкой, из меню выбрать Launch.


    На поле Map Editor:


  • Левая кнопка мыши на модуле - активизирует, выбирает модуль. Строка заголовка модуля приобретает белый цвет.
  • Левая кнопка мыши на свободном пространстве Map Editor вне модуля - снимает выделение модуля. Строка заголовка модуля становится бледно-желтого цвета, как и сам модуль.
  • shift + левая кнопка - активизирует, выбирает следующий модуль
  • С зажатой левой кнопкой обвести курсором область с модулями - выбор блока модулей
  • правая кнопка мыши на заголовке модуля вызовет контекстное меню Help
  • правая кнопка мыши на кнопках input/output портов на изображении самого модуля - вызов подсказки по допустимому для портов типу данных.
  • зажатой средней кнопкой (эмулировать - нажатие левой и правой кнопок одновременно) на заголовке можно перетащить модуль на одну из нижних иконок в Map Editor


    Все операции с модулями производятся только после его выделения, т.е. активизации. Сам модуль может находиться в одной из трех форм. По умолчанию модуль представляет собой прямоугольную иконку. Здесь - имя_модуля, кнопка переключения форм и кнопки input/output портов.
    Предельно увеличенный (maximised) модуль, представляет собой контрольную панель управления модуля. Это уже многофункциональное окно с полным набором средств для управления модулем - Widgets.

    Соединение модулей

    На иконке модуля расположены две прямоугольные кнопки для соединений между модулями - input/output порты. Порт input принимает данные с оutput порта другого модуля.

    Соединение модулей, т.е. выбор совместимых input/output портов:


  • открыть меню (правым кликом) первого модуля и выбрать подходящий output порт. В меню есть краткая информация о допустимости типов данных для данного порта.
  • проследить за изменением цвета контактных площадок портов. На выходе - подсветка темно-зеленого цвета. Совместимые (по типу данных) контактные площадки input портов других модулей станут светло-зелеными или синими в интерфейсе для Windows системы.
  • открыть меню того левого - input контакта другого модуля, цвет которого перешел в светло-зеленый. Выбрать соответствующий input порт. Левым кликом на пустом поле можно завершить соединение перед выбором следующего порта.
  • между модулями появляются соединения, исчезает подсветка


    Такая же последовательность шагов для соединения в обратном направлении.
    В меню порта показана информация о созданном соединении:


  • имя порта
  • тип данных на этот порт
  • число соединений
  • имя подсоединенного модуля
  • имя порта подсоединенного модуля


    Возможны самые различные, но допустимые варианты соединений между модулями. Оutput порт может быть соединен более, чем с одним input портом - fan-out. Возможна и обратная ситуация - fan-in.

    Созданную сеть-приложение можно сохранить:


    Librarian =>ile =>Save All


    Сохранить только выделенную часть схемы:


    Librarian => ile => Save Selected


    При этих операциях созданный файл должен быть с расширением .map.


    Запуск сети-приложения:


  • найти ее в библиотеке
  • Select левой кнопкой
  • Drag левой кнопкой


    Загрузка map-приложения дополнительно к уже существующему в Map Editor:

    Map Editor => added

    Удалить схему с поля Редактора:

    Map Editor => Destroying


    Данные в IRIS Explorer


    Источником данных может быть любая область разработок. Входной массив данных может представлять собой файлы произвольной структуры. Для ввода и преобразования входных массивов в типы данных IRIS Explorer используется утилита - модуль DataScribe.
    Данные для визуализации - это отображение конечного множества точек сетки, узлов сетки, на множество числовых значений. Каждому узлу координатного пространства соответствует набор числовых значений. После импорта и преобразования входных данных, система далее будет работать только с пятью типами данных:


    Lattice - основной тип для представления визуализируемых данных. Он содержит числовые массивы, описывающие сетку, массивы значений и размерности массивов.


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


    Geometry - геометрическое представление объектов, состоящее из примитивов: полигонов, линий и точек.


    Parameter - скалярные данные, которые управляют работой приложения и могут меняться.


    Pick - представляет информацию об указываемых на экране точках объектов.


    Пример работы с IRIS Explorer


  • Найти в Библиотеке модуль Read2Da - категории maps или reader. Открыть его help файл: Read2Da считывает 2D скалярные или векторные данные из ASCII файла простейшего формата и преобразует во внутренний 2D однородный (регулярный) lattice формат. Widget модуля имеет форму, куда с помощью FileSelector следует занести имя_файла_данных. Для примера его можно взять из дистрибутива IE:


    ... /IRIS_Explorer/4.0/data/NAG/zigzag.2D


  • Модуль на мгновение вспыхивает, если загрузка ASCII данных проходит нормально.
  • Найти в Библиотеке модуль Contour. Открыв его панель управления, можно изменить установленные там начальные значения. Например, установить Num Levels 7 и Min Level -10.5. Здесь можно пользоваться и клавиатурой, и круговым регулятором с точной подстройкой в середине.
  • Соединить Lattice порт модуля Read2Da с входным портом модуля Contour
  • Перенести из Библиотеки модуль Render и соединить выходной Contours порт модуля Contour с входным портом модуля Render. Для получения наилучшего изображения открыть панель управления модуля Render. Кликом правой клавиши вызвать меню, отметить Decoration.
  • Все изменения в параметрах модуля Contours сразу изменяют изображение на выходе схемы.
  • Чтобы создать рамку для полученного изображения, в собранную схему вставить модуль WireFrame, т.е. соединить входной порт модуля WireFrame с Lattice портом модуля Read2Da и выходной порт модуля WireFrame с входным портом Render.
  • Полученная схема соединений модулей представляет собой приложение, которое можно сохранить как map-приложение
  • Выход из программы:

    Admin => Quit


    OpenDX (Data Explorer)


    OpenDX - мощный, полнофункциональный графический пакет программ со стандартным интерфейсом для визуализации научных, инженерных и аналитических данных. Он относится к так называемым модульным средам визуализации, какими являются AVS и IrisExplorer.
    OpenDX, является свободно-распространяемой версией знаменитой системы визуализации IBM Data Explorer. Находится в каталоге /usr/local/dx


    Общая схема работы OpenDX

    • импорт данных от внешнего источника
    • обработка данных программой визуализации
    • интерактивно управляемое отображение результатов визуализации.
    Для импорта данных предназначена специальная подсистема, которая преобразует их во внутреннее представление. Файлы данных могут быть представлены в стандартных научных форматах (HDF, NetCDF), в виде электронных таблиц, изображений, а также могут иметь произвольный формат.
    В OpenDX пользователь, создавая визуальный объект, работает с функциональной схемой, которую строит из готовых модулей-программ, комплектуя и соединяя их в окне редактора - Visual Program Editor (VPE). Параметры обработки каждого модуля могут быть настроены самим пользователем с помощью многочисленных меню контрольных панелей - конфигурационных окон. В пакет включен инструмент Module Builder для создания пользователем собственных модулей, которые затем могут быть использованы при создании программ-приложений. Множество модулей разбито на несколько категорий, в зависимости от выполняемых функций: импорт данных, промежуточная их обработка, собственно визуализация, набор служебных модулей.
    Иногда для создания визуализации удобнее пользоваться скриптовым языком вместо Visual Program Editor. Он используется для записи визуальных программ, для управления работой модулей, для добавления функций визуализации и т. п.

    Вызов

    Kоманда вызова при активном X Window
    dx


    Появляется стартовое окно Data Explorer с кнопками меню, с помощью которых можно импортировать данные (Import Data:), запускать уже готовые (Run Visual Programs:), а также создавать (New Visual Programs:) и редактировать (Edit Visual Programs:) визуальные приложения.
    Имеются также кнопки для запуска интерактивного руководства (Run Tutorial:) и различных примеров - приложений (Samples:).
    При первоначальном знакомстве с Data Explorer интерактивное руководство можно запускать также с помощью команды:

    dx -tutor

    Запуск и демонстрация визуальной программы-приложения

    Запустить приложение можно двумя способами:

  • Первый способ:
    dx -edit [program_path_name]
    где [program_path_name] - имя программы с указанием пути.


  • Второй способ:
    dx
    затем из стартового окна Data Explorer выбрать Run Visual Program.

    Открывается окно Net File Selection с директориями и файлами. Тип расширения программы-приложения по умолчанию *.net. В разделе /usr/local/dx/samples/tutorial/ в качестве примера можно выбрать example1.net - анимационную визуализацию молекулы воды. Двойной щелчок на имени программы в окне Net File Selection вызовет целый каскад окон:


  • панель меню Data Explorer, откуда можно открыть все редакторы и управляющие панели;
  • окно с изображением молекулы воды;
  • Application Comment - краткое описание программы;
  • Sequence Control - пульт управления анимацией.

    Для редактирования существующего приложения в стартовом окне Data Explorer выбрать кнопку Edit Visual Program, а затем в окне Net File Selection выбрать нужную программу-приложение. Открывается окно VPE, в рабочем поле которого прорисуется схема из модулей и соединений выбранной программы.


    Управление внешним видом объекта

    При выводе изображения объекта с помощью модуля Display манипуляции с изображением осуществляются изменением параметров модулей. Использование модуля Image предоставляет несколько возможностей управления изображением объекта.


  • Изменение размера изображения осуществляется изменением размеров окна Image.
  • Вращение, масштабирование, изменение характеристик съемки (камеры):
    меню Options => View Control:
    или
    меню Options => Mode
  • Включение координатных осей
    меню Options ? AutoAxes:
  • Выбор цвета фона
    меню Options => Set Background Color:
  • Возврат к первоначальным (по умолчанию) установкам
    меню Options => Reset

    Программный редактор Visual Program Editor (VPE)

    Окно VPE открывается из стартового окна Data Explorer выбором кнопок Edit Visual Program или New Visual Program.
    VPE разделен на три области. Слева - два поля: первое - со списком категорий, группирующие модули сходного назначения и второе - со списком самих модулей из выбранной категории. Область справа является рабочим полем для создания и редактирования визуальных программ-схем (networks). Схема состоит из иконок модулей, соединенных между собой линиями через выделенные контакты - порты. Модуль содержит встроенный конфигуратор (диалоговое окно) с графическим пользовательским интерфейсом и информационной подсистемой подсказок. Имя программы-схемы дано в строке заголовка окна VPE.
    Сначала щелчком левой клавиши мыши в верхнем поле помечаются категория и в нижнем - модуль из этой категории. Далее курсор (в виде уголка) следует переместить в ту точку правого поля, где требуется расположить иконку модуля. Следующий щелчок ставит иконку в выбранную позицию. Перемещение иконки модуля по полю редактора - зажатой левой клавишей мыши.
    Каждый модуль имеет:
  • контакты в верхней и в нижней части - входные и выходные порты для соединения с другими модулями;
  • контрольную панель для установки параметров модуля (двойной щелчок на иконке, или из меню VPE: Edit => Configuration); в ней же содержится краткое описание модуля.


    Порядок соединения модулей

    Перенести на рабочее поле необходимые модули. Для соединения/разъединения их между собой:


  • Зажать левую кнопку мыши над выходным портом (курсор в виде стрелки вниз)
  • Перевести курсор к другому модулю и указать нужный входной порт, если их несколько (по умолчанию всегда берется крайний слева). Возникает линия с подсветкой по следу курсора; входные порты модуля "зажгутся", если соединение корректно; иначе будет выдано сообщение об ошибке.
  • Для завершения соединения - отпустить кнопку мыши. Соединять модули можно в любых направлениях. Корректность соединения подтверждает светло- зеленый цвет портов.
  • Разорвать соединение - подсветить соединяющую линию и перетащить курсор на пустое поле.
  • Удалить модуль - выделить его (щелкнув левой кнопкой мыши) и выбрать в меню Edit => Delete
  • Переместить модуль - выбрать и перетащить курсором мыши.
  • Удалить текущую схему-приложение из рабочего поля, не закрывая при этом окна VPE: File => New.


    Пример создания программы - приложения

    (двумерная поверхность на регулярной сетке)

  • В окне редактора VPE в категории Import and Export из списка категорий выбрать модуль Import. Расположить его в правом поле редактора.

  • В категории Realization выбрать модуль RubberSheet. Расположить его ниже первого модуля.

  • Из категории Rendering выбрать Image модуль. Перенести на поле справа.

  • Соединить output-порт модуля Import с первым input-портом модуля RubberSheet

  • Соединить output-порт модуля Rubbersheet c input-портом модуля Image. Отличие цвета первого порта модуля Import от цвета других видимых портов означает, что первому порту требуется параметр, имя файла с данными.

  • Открыть контрольную панель модуля Import, дважды кликнув на иконке модуля. Активизировать первый параметр, name, и в поле Value набрать имя файла с данными:
    /usr/local/dx/samples/data/southeastern_topo.dx


  • Запустить созданную программу командой меню Execute => Execute Once. К полученной схеме можно добавить модуль AutoColor из категории Transformation, разместив между модулями RubberSheet и Image (можно и между Import и RubberSheet).

    Созданное приложение-схему можно сохранить:

    File => Save Program As:


    Импорт данных в Data Explorer

    Самый удобный для пользователя формат данных для импорта в Data Explorer - General Array format. В General Array format - используется header файл для описания формата исходных данных. header - это несколько строк в текстовом файле с данными с описанием характеристик данных, таких как размер сетки, размерность, тип данных и расположение. Для описания формата данных Data Explorer предлагает удобный инструмент, Data Prompter, окно которого открывается командой:


    dx -prompter

    или выбором Import Data из стартового окна Data Explorer