МО граберов ТВ каналов VS56/VS60 под ОС Linux. Программное обеспечение граберов VS56 и VS60 размещено на копьютере sky в аппаратной БТА (к.210 sky.bta.sao.ru). Оно разработано на языках C и C++ с использованием библиотеки Qt для X11-интерфейсов. МО функционирует под управлением ОС Linux и доступно по сети через стандартные протоколы telnet, rshell, X11. Краткое описание и инструкция по использованию. Состав: vs56 - серверная программа-драйвер управления ISA-картой VS56. Язык разработки - C. Связана с интерфейсными программами-клиентами через блок разделяемой памяти. Получает через него команды на считывание своих 4-х ТВ-каналов. Полученные изображения предоставляются клиентам через это же поле общей памяти. В программе реализована как работа со специальной камерой с накоплением на ПЗС-чипе (вариант VS56-Tandem) так и с обычными ТВ-подсмотрами VS56/1, VS56/2) с возможностью накопления сложением в памяти компьютера. При старте программа читает файл vs56.conf из текущего справочника с общей и поканальной конфигурацией грабера. Для каждого ТВ-канала может быть определено два варианта инициализации VS56 (например для двух форматов кадра: 768х512 и 512х512). Кроме того для ускорения процесса считывания можно работать не с полным кадром а с фрагментом (фреймом). При накоплении сложением, из каждого кадра автоматически вычитается уровень фона, полученный статистической обработкой 1-го кадра. Это конечно замедляет считывание, но позволяет следить за накоплением. Возможно также запоминанее одной строки и последующее ее вычитание из всех строк считываемых кадров ("на ходу"), что позволяет бороться с последствиями несинхронного считывания дешёвых CCD-камер (вертикальной "полосатостью"). Одновременно может быть запущен только один драйвер VS56! Поэтому в дальнейшем планируется стартовать его как штатный даемон при запуске системы. vs60 - программа-драйвер управления PCI-картой VS60. Язык разработки - C. Предназначена для реализации простой и быстрой взаимозаменяемости VS60 и VS56. Практически полностью аналогична vs56 за исключением нескольких упрощений: o один формат кадра: 768x576 o естественно нет варианта Tandem и задания экспозиций o нет обратной записи в память грабера o нет вычитания фона при сложении и драйвер не даёт индицирующей программе показывать промежуточные изображения tvimage - интерфейсная программа-клиент под X11. Язык разработки - C++ с использованием библиотеки Qt. Цифровой параметр задает один из 4-х ТВ-каналов для работы с которым она запускается: tvimage N где N = 0,1,2,3 - номер канала необязательный параметр -cmap ставится если есть проблемы с 8-битным дисплеем и нужно запустить tvimage с "приватной" цветовой таблицей. Управление через меню или клавиатуру позволяет передавать граберу команды считывания ТВ-каналов и менять режимы индикации полученного изображения. Одновременно может работать несколько интерфейсов tvimage. В том числе и для одного и того же канала (например для одновременного представления в разных видах, или на экраны разных компьютеров в сети), это естественно повышает нагрузку на базовый компьютер и сеть, ресурсами коих эти возможности и ограничиваются. Предполагаемое подключение ТВ-каналов к граберу: 0 - подсмотр из СПФ, N1 или N2 (по заявке наблюдателя) 1 - широкоугольный (100град) обзор неба с накоплением на камере 2 - 70-ти сантиметровый гид БТА 3 - камера панорамного обзора неба (на техблоке) Запуск на консоли (компьютера sky ): 1. Войти под именем obs (пароль пока ******). 2. Загрузить оболочку X11 (т.е. startx или openwin). 3. Загрузить драйвер vs56/vs60 (если еще не запущен) и нужное количество окон ТВ-каналов используя: в оболочке openwin - строчки в стандартном меню в оболочке startx(fvwm) - кнопки внизу экрана Удаленный запуск по сети под пользователем obs на основных наблюдательских Linux-машинах (tb,cpf,n2): 1. Найти в основном стандартном меню оболочки openwin подменю: SKY:TVimage VS56 TV-system on SKY Show TV channel 0 Show TV channel 1 Show TV channel 2 Show TV channel 3 Try to start VS60-driver Try to start VS56-driver 2. Загрузить драйвер vs60 или vs56(если еще не запущен). На экране должно появиться xterm-окно с протоколом его работы (или сообщением что он уже запущен). 3. Загрузить нужное количество окон ТВ-каналов. На 8-битных дисплеях желательно это сделать до вызова "цвето-емких" программ (MIDAS, Netscape,XV,...). Удаленный запуск по сети c других UNIX-машин: 0. Сейчас машина с грабером называется sky (sky.bta.sao.ru) 1. Загрузить на своей машине оболочку X11 (т.е. startx или openwin) и окно терминала (например xterm). 2. Дать команду xhost. Получается список машин с которых разрешено выдавать на экран вашей. Если в нем нет sky, включить ее командой xhost sky 3. Войти на sky под именем obs: rlogin sky -l obs если требуется пароль - пока он ****** но может быть изменен. Для основных наблюдательских машин возможен переход пользователя obs на sky без пароля по команде: rsh sky список таких машин находится в файле .rhosts в домашнем справочнике пользователя obs на sky. 4. Если драйвер vs60 или vs56 еще не запущен, загрузить его, например: vs56 & или с протоколом в отдельное окно: xterm -e bin/vs56 & 5. Загрузить нужное количество окон ТВ-каналов командами: tvimage N & где N = 0,1,2,3 - номер канала. Если есть проблемы с 8-битной цветовой таблицей (например уже загружены MIDAS или Netscape или XV) можно запустить tvimage с "приватной" цветовой таблицей: tvimage -cmap N & Приведенная последовательность действий может быть оформлена на машине наблюдателя ввиде командного файла, например: #!/bin/sh host=sky disp=`hostname`:0.0 rsh $host "rm -f .Xauthority" xhost $host rsh $host "DISPLAY=$disp /usr/X11/bin/xterm -e bin/vs56" & sleep 2 rsh $host "DISPLAY=$disp bin/tvimage 0" & rsh $host "DISPLAY=$disp bin/tvimage 1" и включена в стандартное меню. Что уже и сделано для пользователя obs на основных наблюдательских машинах (tb,cpf,n2). Пользователям X-эмуляторов под DOS/ Windows предлагается самим выстроить порядок действий руководствуясь смыслом вышеизложенного и инструкцией к своему конкретному эмулятору. Работа с tvimage. В момент старта программа tvimage определяет тип загруженного драйвера (VS60 или VS56) и слегка меняет настройку меню. Поэтому в случае оперативного перехода с одного грабера на другой, все окна tvimage следует закрыть и запустить снова после загрузки драйвера. Все основное управление в программе реализовано через мышку и меню, часть функций задублирована через клавиатуру для быстрого вызова. File - меню операций с файлами: Save picture - меню записи картинок на диск (для формирования GIF и JPEG используются системные программы cjpeg и djpeg -gif): GrayScale JPEG - полутоновая картинка в файл *.jpg GrayScale GIF - полутоновая картинка в файл *.gif Color JPEG - цветная картинка в файл *.jpg Color GIF - цветная картинка в файл *.gif после выбора варианта записи на экране появляется стандартное окно для выбора справочника и файла Save as FITS запись изображения в FITS-файл *.mt, на экране появляется стандартное окно для выбора справочника и файла, поскольку справочники пользователей основных наблюдательских машин tb,cpf,n2 сейчас обычно смонтированы в справочнике /comp появляется возможность записи изображений прямо в основной ахив БТА: /comp/tb/data/archives.bta/NICE/b9126 или в сравочник где идет регистрация например: /comp/cpf/obs/CCD/9126/ и последующей обработки их в MIDAS-е на машине наблюдателя Load FITS считывание изображения из FITS-файла *.mt или gzip-компрессированного *.mt.gz, на экране появляется стандартное окно для выбора справочника и файла Exit - выход из программы VS56(VS60) action - меню операций с VS56(VS60): Get single image считать 1 изображение или 1 фрейм Get ten images выполнить 10 считываний Get infinitely вкл. непрерывное считывание с макс.скоростью пользовать осторожно! может вызвать перегрузку компьютера и сети! если возникли трудности с остановом мышкой через меню - использовать , можно использовать в режиме полного кадра только на канале "Tandem" при достаточно большом времени экспозиции, для остальных (обычных) ТВ-каналов рекомендуется устанавливать фрейм небольшого размера Stop inf.mode остановить непрерывное чтение или циклические операции или экспозицию в канале "Tandem" Add one считать 1 кадр или фрейм и сложить с текущим изображением Add ten выполнить 10 считываний со сложением Add inf-ly вкл. непрерывное сложение с макс.скоростью пользовать осторожно! - может вызвать перегрузку! Start cycling запуск циклических операций (накопление нескольких кадров с возможной последующей обработкой, настройка через вызов Opt.Window в меню Options) Erase обнулить изображение Write записать мл.байт изображения обратно в память грабера (для визуализации на дополнительном мониторе) Init повторить начальную инициализацию VS56 при возникновении "нештатных" ситуаций Mouse modes - меню изменения режимов использования мышки при изменении режима меняется тип курсора на экране: Modify CUTs CUT-ы (пределы индикации по интенсивности) имеют тотже смысл что и в MIDAS-e; движением курсора с 1-й кнопкой меняется нижний CUT, 3-й - верхний, 2-й - оба Set Frame установка фрагмента изображения, нажать кнопку влевом вехнем углу фрагмента и вести курсор вправо вниз, выбор небольшого фрагмента позволяет сущесвенно ускорить как процесс считывания из грабера так и передачу изображения по сетям Set Line формирование линии при движении мышкой с нажатой кнопкой, после отпускания рисуется разрез вдоль линии Set Point при нажатии на кнопку запомнить координаты точки под курсором, установить на нее указатель (крест) и показать значение в этой точке; No Mouse отключить режимы мыши Options - меню установки параметров: Calculate CUTs определение минимума, максимума, медианы, среднего и дисперсии в изображении или фрейме и установка пределов индикации по интенсивности (CUT-ов) "на фон" т.е. как ~+-2дисперсии от среднего, после чего их можно подправить мышкой Change Format переключение между вариантами инициализации VS56 для данного канала (768х512 <-> 512х512) Reset Frame отмена режима работы с фрагментом изображения установленным мышкой (т.е. снова полный кадр) Set Exposure установка экпозиции накопления на чипе для варианта Tandem (сейчас 1-й канал) Set El.Ref.Lev. установка электронного уровня на котором будет работать АЦП VS56 для данного канала: 0-63, исходный - 60 Load LUT загрузка файла таблицы раскраски *.lut; все взяты из MIDAS-а; при старте загружается полутоновая ramp.lut (Bug: в данном варианте программы эта функция плохо работает на 8-битных дисплеях, т.к. новая таблица не подменяет текущую, а добавляется к ней) Load ITT загрузка таблицы преобр-я интенсивности *.itt; все взяты из MIDAS-а; при старте без преобразования - ramp.itt Display LUT вкл./выкл. внизу окна полоску с равномерно меняющейся интенсивностью которая показывает работу LUT+ITT Show Opt.Window вывод окна просмотра/изменения параметров программы ранее задаваемых мышкой CCD-spec. - меню специальных функций для борьбы с последствиями несинхронной оцифровки грабером ПЗС-камер: Calc BgdRow рассчитать, запомнить и показать строку среднего фона путем осреднения всех строк кадра, это естественно лучше сделать после накопления нескольких темновых кадров Vid ->ccd (Use &BgdRaw online) CCD ->vid (Don't use &BgdRow) вкл/выкл в драйвере режима считывания с грабера с вычитанием средней темновой строки "на ходу" Image = Image o BgdRow меню операций (- : + х) с изображением и строкой среднего фона (хотя вроде бы реально нужно тольно вычитание :) Reduction - меню простейшей редукции изображений: Set BGD-file name задание имени FITS-файла фона *.mt (или gzip-компрессированного *.mt.gz) Set FLAT-file name задание имени FITS-файла плоского поля *.mt (или gzip-компрессированного *.mt.gz) Substruct BGD считывание файла фона и вычитание его из текущего изображения с учетом количества накопленных кадров в обоих (фон приводится к изображению) Divide by FLAT считывание файла плоского поля и деление на него текущего изображения с сохранением среднего уровня оного (Image-BGD)/FLAT выполнение обеих операций сразу Help - меню просмотра описания Pain text вызов внутреннего окна для быстрого просмотра текста описания из файла Doc/VS56.txt HTML manual вызов программы Netscape для просмотра настоящего описания из файла Doc/vs56.html Следует учитывать что броузер будет запускаться на относительно старой и маломощной машине sky и конкурировать по ресурсам с МО граберов. Поэтому предпочтительнее читать данное описание на более мощных компьютерах либо с сервера аппаратной БТА: http://tb.bta.sao.ru/vs56/ либо через центральный сайт САО: http://www.sao.ru/~vsher/manuals/vs56/ Окно просмотра/изменения параметров Это дополнительное окно выводится выбором пункта Show Opt.Window в меню Options, либо клавишей Оно служит по большей части (но не только) для просмотра/изменения параметров задаваемых мышкой через меню Mouse modes. Содержит пять переключаемых панелей с полями текстового ввода. После изменения значений следует нажать кнопку Apply или OK. Панель Cycle Параметры циклической операции поле Add N: - число складываемых кадров (фреймов) поле Delay: - задержка в секундах для просмотра результата поле N cycles: - число циклов, "-1" - означает бесконечно кнопки Subtr.BGD и Div.FLAT подключают запуск редукции изображений после накопления определённой через меню Reduction Панель CUT's Пределы индикации по интенсивности поле Bottom: - нижний предел (уровень черного) поле Top: - верхний предел (уровень белого) Панель Frame Положение и размер фрагмента изображения поля FrameX: и FrameY: - положение левого верхнего угла фрагмента поля Width: и Height: - ширина и высота фрагмента Панель Point Положение указателя (креста) поля X(column): и Y(line): - колонка и строка куда установлен указетель поле Intensity: - значение в этой точке изображения Панель VS56 Специфические параметры VS56(Tandem) поле Exposure: - экпозиция накопления на чипе для варианта Tandem поле El.ref.level: - электронный уровень АЦП VS56 27.01.99 Отдел Информатики. Шергин В.