МО грабера ТВ каналов VS56 под ОС Linux.

Краткое описание и инструкция по использованию.

Состав:

 
vs56 - серверная программа-драйвер управления картой VS56. Связана  с интерфейсными программами- клиентами через блок разделяемой памяти. Получает через него команды на считывание своих 4-х ТВ- каналов. Полученные изображения предоставляются клиентам через это же поле общей памяти. В программе реализована как работа со специальной камерой с накоплением на ПЗС- чипе  (вариант VS56- Tandem) так и с обычными ТВ-подсмотрами  S56/1, VS56/2) с возможностью накопления сложением в памяти компьютера. Для каждого ТВ-канала может быть определено два варианта инициализации VS56 (напрмер для двух форматов кадра: 768х512 и 512х512). Кроме того для ускорения процесса считывания можно работать не с полным кадром а с фрагментом (фреймом). Одновременно может быть запущен только один  драйвер VS56!  Поэтому в дальнейшем планируется стартовать ее как штатный даемон при запуске системы.
VS56
tvimage - интерфейсная программа-клиент под X11. Цифровой параметр задает один из 4-х ТВ- каналов для работы с которым она запускается. Управление через меню или клавиатуру позволяет передавать граберу команды считывания ТВ- каналов и менять режимы индикации полученного изображения. Одновременно может работать несколько интерфейсов tvimage. В том числе и для одного и того же канала (например для одновременного представления в разных видах, или на экраны разных компьютеров в сети), это естественно повышает нагрузку на базовый компьютер и сеть, ресурсами коих эти возможности и ограничиваются.

 
Текущее подключение ТВ-каналов к граберу:
0 - подсмотр поле/щель N1
1 - широкоугольный (100град) обзор неба с накоплением на камере
2 - 70см гид БТА
3 - подсмотр из СПФ (по заявке)


Запуск на консоли:

1. Войти под именем obs
2. Загрузить оболочку X11 (т.е. startx или openwin).
3. Загрузить драйвер vs56 (если еще не запущен) и нужное количество окон ТВ- каналов используя:
в оболочке openwin  -  строчки в стандартном меню
в оболочке startx        - кнопки внизу экрана


Удаленный запуск по сети под пользователем 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 VS56-server
2. Загрузить драйвер 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
если требуется пароль - пока он saoobs но может быть изменен. Для основных наблюдательских машин возможен переход пользователя obs на sky без пароля по команде:
rsh sky
список таких машин находится в файле .rhosts в домашнем справочнике пользователя obs на sky.

4. Если драйвер 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 и поэтому носит предварительный характер. Все основное управление через мышку и меню, часть функций задублирована через клавиатуру для быстрого вызова:

 
File - меню операций с файлами:

 
saveSave picture - меню записи картинок на диск
(для формирования GIF и JPEG используются системные программы cjpeg и djpeg -gif):

 
GrayScale JPEG - полутоновая картинка в файл *.jpg
GrayScale GIF - полутоновая картинка в файл *.gif
Color JPEG - цветная картинка в файл *.jpg
Color GIF - цветная картинка в файл *.gif
после выбора варианта записи на экране появляется стандартное окно для выбора справочника и файла

 
saveSave as FITS   <Ctrl+F>
запись изображения в FITS-файл *.mt,
на экране появляется стандартное окно для выбора справочника и файла, поскольку справочники пользователей основных наблюдательских машин tb,cpf,n2 сейчас обычно смонтированы в справочнике /comp появляется возможность записи изображений прямо в основной ахив БТА:
/comp/tb/data/archives.bta/NICE/b9126
или в сравочник где идет регистрация
например: /comp/cpf/obs/CCD/9126/
и последующей обработки их в MIDAS-е на машине наблюдателя

 
loadLoad FITS   <Ctrl+L>
считывание изображения из FITS-файла *.mt
или gzip-компрессированного *.mt.gz,
на экране появляется стандартное окно для выбора справочника и файла

 
exitExit  <Ctrl+Q> - выход из программы

 
VS56 action  - меню операций с VS56:

 
get1 Get single image   <Ctrl+1>
считать 1 изображение или 1 фрейм

 
getm Get ten images   <Ctrl+0>
выполнить 10 считываний

 
getm Get infinitely   <Ctrl+G>
вкл. непрерывное считывание с макс.скоростью
пользовать осторожно! может вызвать перегрузку компьютера и сети!
если возникли трудности с остановом мышкой через меню - использовать <Ctrl+S> ,
можно использовать в режиме полного кадра только на канале "Tandem" при достаточно большом времени экспозиции, для остальных (обычных) ТВ-каналов рекомендуется устанавливать фрейм небольшого размера

 
stop Stop inf.mode   <Ctrl+S>
остановить непрерывное чтение и/или экспозицию в канале "Tandem"

 
add1 Add one   <Ctrl+A>
считать 1 кадр или фрейм и сложить с текущим изображением

 
addm Add ten   <Ctrl+T>
выполнить 10 считываний со сложением

 
addm Add inf-ly   <Ctrl+C>
вкл. непрерывное сложение с макс.скоростью пользовать осторожно! - может вызвать перегрузку!

 
erase Erase   <Ctrl+R>
обнулить изображение

 
write Write   <Ctrl+W>
записать мл.байт изображения обратно в память грабера (для визуализации на дополнительном мониторе)

 
init Init   <Ctrl+I>
повторить начальную инициализацию 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

 
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  <Ctrl+B>
считывание файла фона и вычитание его из текущего изображения с учетом количества накопленных кадров в обоих (фон приводится к изображению)

 
Divide by FLAT   <Ctrl+D>
считывание файла плоского поля и деление на него текущего изображения с сохранением среднего уровня оного

 
(Image-BGD)/FLAT   <Ctrl+M>
выполнение обеих операций сразу

 
27.01.99
Отдел Информатики.
Шергин В.