Отчет ст. научного сотрудника отдела информатики
Шергина В.С. за 2011г.
9 декабря 2011 г.
Для обеспечения надежной работы БТА осуществлялось сопровождение МО АСУ, инструментальной автоматизации, видео-наблюдения, интерфейсов пользователей:
Непрерывное наблюдение за текущей работой систем для обнаружения проблем в МО, в аппаратуре, в действиях персонала АСУ и наблюдателей.
Регулярная коррекция МО для разрешения замеченных проблем и учета рекомендаций персонала и наблюдателей.
Консультационная помощь персоналу АСУ в нештатных ситуациях.
Поддержка в постоянной готовности резервной системы управления (точной копии управляющей системы).
Установка клиентской части МО АСУ на новые компьютеры и консультационная помощь наблюдателям.
Консультационная помощь другим разработчикам программ со связью с АСУ БТА.
Разработана система архивации внутренней информации (рабочих параметров) МО АСУ БТА. Запись данных выполняется на диск управляющей машины acs7 с максимальной скоростью 5 раз в секунду. Если в системе ничего не происходит (параметры не меняются), темп записи уменьшается для экономии дискового пространства. Сейчас в архиве сохраняется информация за последние два месяца. Это занимает в среднем около 16-ти Гб. Реальный объем зависит от процента рабочего времени телескопа, поэтому надо иметь по крайней мере такой же резерв. Для существенного увеличения периода хранения необходимо подключить дополнительный диск.
Для того чтобы инженеры разработчики и обслуживающий персонал АСУ БТА могли просматривать сохраненную в архиве информацию, разработан Web-интерфейс, позволяющий выбирать данные и представлять их текстовой или графической форме. Он предоставляется через сайт самой управляющей машины (acs7.sao.ru/bta_trace/getdata.html). Ссылка на него также включена в общий сайт "BTA-online".
Были продолжены работы по новой системе управления телескопом.
Не смотря на отсутствие новых датчиков угла с которыми могла бы работать новая система управления, отдельные отладочно-технические наведения все же возможны благодаря временной схеме получения кодов старых датчиков угла со старой управляющей машины dm.
Было произведено четыре сета технических наблюдений с CCD-фотометром для получения изображений по всему небу с целью разработки в дальнейшем модели наведения (pointing model), т.е. системы поправок телескопа для точного наведения по координатам и сопровождения объектов.
По ходу накопления опыта в реальных наблюдениях система управления дорабатывалась:
до сих пор на телескопе применялось часовое ведение (т.е. равномерное движение только по HA без учета реального положения трубы), теперь оно контролируется по датчикам угла (хотя пока дискрет 1.3" – это грубовато), что позволит в будущем учитывать рефракцию и использовать поправки во время ведения;
введена авторизация обмена клиент<->сервер, доступ пользователей по паролю, каждому пользователю приписывается уровень доступа который определяет какие действия он может выполнять;
предусмотрено имя наблюдаемого объекта;
наведение
теперь возможно не только по координатам (RA,Dec), но и по положению
(HA,Dec или A,Z);
проверены клиентские обращения к XML-RPC серверу на языках JavaScript/Ajax и Python, а для технических наблюдений написан Python-скрипт который по заданному положению находит в каталоге Tycho-2 ближайшую на данный момент звезду и запускает наведение на нее;
разработаны и реализованы новые принципы управления коррекцией телескопа, введены три разных типа коррекции:
координатная – т.е. переезд с изменением координат объекта которые ведет система;
телескопная – собственно гидирование, когда меняются поправки наведения, а координаты объекта не портятся;
аппаратурная – за несоответствие (или изменение) положения оптической оси регистрирующего оборудования, этот тип поправок может сохраняться в файлах конфигурации и перезагружаться при смене названия прибора.
Для быстрой привязки звезд на снимках получаемых на штатной CCD-матрице со старой программой регистрации DinaSystem и формирования FITS-файлов со стандартными шапками содержащими корректные FITS-параметры (в том числе и WCS) разрабатывалась программа zdina_wcs_fix. Ее основные особенности:
разбор FITS-форматов от двух версий DinaSystem: текущей старой и будущей (которую обещают переделать под связь с новой системой управления);
конфигурация набора FITS-срок с помощью файла образца шапки: zdina_sample.hdr;
коррекция нестандартных или неправильно заполненных параметров (ORIGIN,CRVALn и т.д.);
обратный контроль UTC по звездному времени для правильного заполнения временных параметров (DATE-OBS,UTC и т.д.), т.к. в исходной шапке могут быть неправильные и UT и TSTART;
расчет незаполненных (PARANGLE,ROTANGLE) и добавление стандартных (MJD-OBS, AIRMASS) параметров;
перевод RA и DEC в эпоху J2000;
статистический анализ изображения, чистка плохих столбцов и горячих пикселей, выделение и вычитание фона, рекурсивный алгоритм выделения объектов;
обращение по протоколу HTTP к каталогу GSC-2.3 на местном сайте base1.sao.ru и формирование списка каталожных объектов в области снимка; версия GSC-2.3 содержит собственные движения, попытки использования показали их ненадежность поэтому по-умолчанию они игнорируются;
параметр IMSCALE в шапке неточный, а поворотный стол может быть установлен с ошибкой (или же специально повернут), поэтому делается пытка определить реальный масштаб и поворот изображения; разработан новый алгоритм на основе FFT и поиска максимума корреляции; метод хорошо работает на большинстве изображений (когда в поле видно хотя бы с десяток каталожных объектов), кроме случаев плохого соответствия ярких объектов каталогу (тогда берется угол заданный параметром вызова программы);
с помощью FFT-корреляции модельных изображений ищется координатный сдвиг между списками объектов снимка и каталога;
составляется список отождествленных объектов и вычисляется среднеквадратичное уклонение;
записываются WCS-параметры в FITS-шапку;
выводится выходной FITS-файл с новой шапкой и, либо исходным, либо "почищенным" изображением (выбирается ключом);
записываются JPEG-картинки оверлея и модели по каталогу для представления результата.
FITS-файлы формируемые программой zdina_wcs_fix можно рассматривать как предложение по стандартизации FITS-формата для наблюдений на Цейс-1000.
SIMPLE = T / Standard FITS file BITPIX = 16 / No. of bits per pixel NAXIS = 2 / No. of axes in matrix NAXIS1 = 1044 / No. of pixels in X NAXIS2 = 1046 / No. of pixels in Y BSCALE = 1.00 / REAL = TAPE*BSCALE + BZERO BZERO = 32768.0 / DATAMAX = 63709.0 / MAX PIXEL VALUE DATAMIN = 443.0 / MIN PIXEL VALUE CREATOR = 'DinaSystem v2.2' / ACQUSITION SYSTEM DATE = '2011-07-17T20:35:56.739' / UTC date this file was written FILENAME= 'obj005.fts' / original name of input file IMAGETYP= 'obj' / object, flat, dark, bias DATE-OBS= '2011-07-17T20:35:25.641' / UTC date of Observation ORIGIN = 'SAO RAS' / Observatory (Organization) TELESCOP= 'Zeiss-1000' / Telescope name INSTRUME= 'Photometer+CCD' / Acquisition hardware PROG-ID = 'Technical maintenance' / Observational program identifier AUTHOR = 'Drabek S.' / Author of observational program OBSERVER= 'Drabek S.' / Observers team OBJECT = 'Tycho2:0494.00161(B12.17,V11.53)' / Catalogue name of Object TSTART = '00:35:27.35' / measurement start time (local) EXPTIME = 10.000 / actual integration time (sec) CAMTEMP = 145.874 / camera temperature (K) DETECTOR= 'EEV CCD42-40' / detector RATE = 55.0 / readout rate (KPix/sec) GAIN = 2.080 / gain, electrons per adu NODE = 'A' / output node (A, B, AB) BINNING = '2x2' / binning PXSIZE = '27.0 x 27.0' / pixel size (mkm x mkm) FILTER = 'r' / filter IMSCALE = '0.432 x 0.432' / image scale ("/Pix x "/Pix) MODE = 'IMAGE' / mode of instrument UTC = 74127.350 / UTC at exposure start (sec) 20:35:27.35 LST = 68548.873 / Local sidereal time (sec) 19:02:28.87 RA = 300.0567083 / Right Ascension (degrees = 20:00:13.610) DEC = 0.0041111 / Declination (degrees = +00:00:14.80) EQUINOX = 2000.0000000 / Equinox of equatorial coordinates RA-APP = 300.2143396 / Apparent R.A. (degrees = 20:00:51.441) DEC-APP = 0.0385102 / Apparent Decl. (degrees = +00:02:18.64) MJD-OBS = 55759.8579317 / Modified Julian Date of observation HA = 345.4092000 / Telescope HourAngle (degr,23:01:38.208) A = 339.321 / Telescope azimuth (degr, from S, W-positive) Z = 45.510 / Telescope zenith distance (degrees) PARANGLE= -14.803 / parallactic angle (degrees) ROTANGLE= 72.473 / angle of field rotation table (degr.)s) FOCUS = 0.000 / focus of telescope (mm) FOCALRAT= 'F/13.3' / telescope focal ratio (e.g. F/8 F/16 &etc.) TELFOCUS= 'Cassegrain' / name of telescope observation focus TELSTATE= 'Tracking' / Zeiss TCS current state OUTTEMP = 13.2 / outside temperature (C) PRESSURE= 588.2 / atmospheric pressure (mmHg) WIND = 0.0 / wind (m/s) HUMIDITY= 83.2 / relative humidity (%) AIRMASS = 1.42561 / airmass for current zenith distance WCSAXIS = 2 / Number of WCS axes CTYPE1 = 'RA---TAN' / RA-Gnomic projection CUNIT1 = 'deg' / RA units - degrees CRPIX1 = 629.1 / X reference pixel CRVAL1 = 300.0567083 / RA of reference pixel CTYPE2 = 'DEC--TAN' / Decl-Gnomic projection CUNIT2 = 'deg' / Decl units - degrees CRPIX2 = 409.9 / Y reference pixel CRVAL2 = 0.0041111 / Decl of reference pixel RADECSYS= 'FK5' / using FK5 coordinates system CD1_1 = -0.0001200690 / rotation matrix coefficient [1,1] CD1_2 = 0.0000000560 / rotation matrix coefficient [1,2] CD2_1 = -0.0000000560 / rotation matrix coefficient [2,1] CD2_2 = -0.0001200690 / rotation matrix coefficient [2,2] END |
Для нормальной организации наблюдений на телескопе и предоставления корректных мета-данных системам регистрации без излишней нагрузки на наблюдателя, начата разработка подсистемы администрирования наблюдениями. Основной принцип: существует user−администратор с максимальным уровнем доступа к системе, он ведает распределением наблюдательного времени и доступом к системе астрономов-наблюдателей. Осуществляет он это через специальный интерфейс администратора путем ввода или редактирования административной информации:
общий список возможных наблюдательных программ;
общий список авторов этих наблюдательных программ;
полный список наблюдателей; каждый имеет: краткое имя (пользователя), полное имя (фамилию), уровень доступа, пароль доступа;
список вариантов наблюдательной аппаратуры;
оперативное расписание состоящее из списка сетов; в каждом сете задается:
дата начала;
конкретный вариант используемой аппаратуры;
список наблюдателей обеспечивающих сет;
список пар: наблюдательная программа + ее автор.
Вся информация на английском или по крайней мере латиницей т.к. в итоге она должна попадать в FITS-файлы систем регистрации. Интерфейс должен обеспечивать максимально простой ввод и редактирование расписания с копированием похожих (повторяющихся) сетов и выбором из выпадающих списков. Прочие пользователи также могут вызывать интерфейс администратора, но только в режиме просмотра.
К настоящему времени пройдены следующие этапы разработки:
разработан формат XML-файла для внешнего хранения структуры административной информации;
реализован сервер для работы со структурной административной информацией; он выполняет загрузку XML-файла во внутреннюю структуру DOM, предоставляет клиентам команды обмена с ней, выполняет сериализацию DOM в XML-файл;
в качестве формата обмена структурной информацией между клиентом и сервером выбран JSON (JavaScript Object Notation);
начата разработка интерфейса администратора; выбран принцип Web-интерфейса, чтобы администратор мог выполнять свои функции со своего компьютера без дополнительного МО; разработка ведется на языке JavaScript/Ajax.
Пока все разработки по куполу выполнялись в лабораторных условиях на ННП и частично в модельном варианте ввиду отсутствия редуктора для подключения к приводу датчика положения купола. Установка системы на купол телескопа и окончательная отладка управления планируется на конец этого или начало следующего года. Пока реализовано следующее:
разработан новый вариант работы с SEW-контроллером с изменением «на ходу» источника управления (для подключения к контроллеру кнопок пульта ручного движения) и чтением кодов аналогового входа контроллера (датчик положения купола предполагается аналоговый);
теоретически разработан алгоритм преобразования: HA,Decl телескопа -> азимут купола, учитывающий нецентральное положение трубы под куполом;
разработан сервер реализующий команды управления куполом в четырех режимах (сопровождение объекта, сопровождение телескопа, фиксированное положение, ручное движение);
разработана соответствующая панель в Java-клиент.
Ранее в Web-сайте БТА использовался только каталог USNO-A2 хранящийся на сервере БТА tb.sao.ru. Сейчас на сервере base1.sao.ru хранится дистрибутив каталога GSC-2.3 (200Гб) а также некоторые другие каталоги. Для поддержки дальнейшего развития Web-сайта БТА разработаны следующие Web-интерфейсы:
base1.sao.ru/catalog/gsc23.cgi?help – получение списка объектов из GSC-2.3 в заданной области
base1.sao.ru/catalog/getobj.cgi?help – нахождение ближайшего объекта по координатам в заданном каталоге (HST-GSC, GSC-2.3, Tycho-2, USNO-A2, 2MASS PSC)
На сервере base1 также хранится архив обзора DSS1 (когда то списанный с набора CDROM-в). На основе пакетов getimage3.0, Montage_v3 и ImageMagick разработан Web- интерфейс позволяющий получать отмасштабированные и повернутые на заданный угол JPEG-изображения из DSS1.
Изображение
из DSS1 добавлено в Web-интерфейс системы привязки изображений камер
гидов.
В основной Web-интерфейс АСУ БТА добавлен вариант изображения DSS1 соответствующего полю БТА.
Переработаны страницы представления ТВ-камер гидов БТА и Цейс-1000.
кнопочное
переключение четырех изображений: исходного, фильтрованного, из DSS1
и модельного;
во время реальных наблюдений, если работает система привязки изображений, положение курсора непрерывно пересчитывается в координаты (RA,Decl,J2000) которые показываются рядом с курсором;
добавлен интерфейс поиска объекта в каталогах, можно выбрать один из пяти каталогов и радиус поиска, по клику мыши посылается запрос, полученные данные из каталога показываются в окне поиска, причем координаты пересчитываются обратно и помечаются крестиком (кроме MSIE), либо пишется "Not found" если в пределах заданного радиуса ничего не найдено.
После смены ТВ-камеры на гиде Цейс-1000 исправлялась его webcam-программа (геометрия, горячие пиксели).
Для поддержки новых страниц представления гидов БТА и Цейс-1000, в соответствующие программы добавлено формирование js-файлов с WCS-параметрами привязки поля.
В 2010-м году была разработана экспериментальная программа использующая сетевой MJPEG-поток и имитирующая привычные функции наших вебкамер. Тестовая эксплуатация ее на 2-х ТВ-камерах Цейс-1000 подключенных к Axis-серверу zsky.sao.ru показала хорошую надежность. В связи с этим работы в этом направлении были продолжены.
Старый компьютер sky.sao.ru с грабберными картами заменен на Axis-сервер под тем же именем. Web-интерфейс внешней и внутренней ТВ-камер БТА перенесен на сервер tb.sao.ru, который теперь обрабатывает MJPEG-потоки от Axis-сервера.
Для подсмотров "Все небо" разработан специальный вариант программы использующей сетевой MJPEG-поток и имитирующих функции вебкамер "AllSky" и "Sky140". Подсмотр "Sky140" переключен на Axis-сервер zsky.sao.ru. Соответственно скорректирована поддержка его Web-интерфейса на zserv.sao.ru. Теперь сервер zserv обрабатывает три MJPEG-потока. В дальнейшем планируется такое же переключение и "AllSky".
Для представления FITS-файлов изображений хранящихся в архиве САО начата работа по алгоритмам реконструкции FITS-шапок. В качестве первого шага разработана программа scorpio_wcs для переработки шапок FITS-файлов изображений полученных на SCORPIO.
При работе над программой использованы алгоритмы разработанные для описанной выше программы zdina_wcs_fix. Саму эту программу тоже можно использовать для переработки архивных FITS-файлов с Цейс-1000, но большей частью только в "ручном" режиме из-за проблем со смещениями координат, которые приходится задавать вручную. Программа же scorpio_wcs больше рассчитана автоматическую работу в комплексе с другими программами. Ее основные отличия:
конфигурация набора FITS-срок с помощью файла образца шапки: scorpio_sample.hdr
всегда вычисляется UTC по звездному времени для правильного заполнения временных параметров (DATE-OBS,UTC и т.д.), т.к. в исходной шапке обычно неправильные и UT и START, и только считанный с АСУ БТА параметр ST дает правильную привязку времени;
чистка только плохих пикселей;
параметр IMSCALE в шапке неточный и не меняется, в реальности же масштаб переменный и кроме того имеет центрально симметричную нелинейность на краях снимка, поэтому для изображений со SCORPIO-1 в пересчеты координат еще вводится коэффициент 3-й степени от радиуса;
по списку отождествленных объектов можно пересчитать масштаб и коэффициент нелинейности (задается ключом), в этом случае формируется WCS-шапка с коэффициентами SIP 3-го порядка;
выводится выходной FITS-файл с новой шапкой и исходным изображением.
FITS-файлы формируемые программой scorpio_wcs можно рассматривать как предложение по стандартизации FITS-формата для наблюдений на БТА (если не вообще, то по крайней мере на SCORPIO).
SIMPLE = T / Standard FITS file BITPIX = 16 / No. of bits per pixel NAXIS = 2 / No. of axes in matrix NAXIS1 = 1044 / No. of pixels in X NAXIS2 = 1046 / No. of pixels in Y BSCALE = 1.00 / REAL = TAPE*BSCALE + BZERO BZERO = 32768.0 / DATAMAX = 61000.0 / MAX PIXEL VALUE DATAMIN = 86.0 / MIN PIXEL VALUE DATE = '2007-03-19T20:04:07.661' / UTC date this file was written CREATOR = 'CCDServer v2.1' / ACQUSITION SYSTEM DATE-OBS= '2007-03-19T20:03:00.996' / UTC date of Observation start TELESCOP= 'BTA 6-meter' / TELESCOPE NAME INSTRUME= 'SCORPIO ' / INSTRUMENT OBSERVER= 'Dodonov ' / OBSERVERS OBJECT = 'RC0836+0511' / NAME OF IMAGE PROG-ID = 'Big Trio' / observational pr AUTHOR = 'Pariiskii' / AUTHOR OF PROGRAM FILE = 'S4440506.FTS' / original name of input file IMAGETYP= 'obj' / object, flat, dark, bias, scan, eta, neon, push ORIGIN = 'SAO RAS ' / observatory START = '23:02:31' / measurement start time (local) (hh:mm:ss) EXPTIME = 60.0 / actual integration time (sec) CAMTEMP = 143.164 / camera temperature (K) DETECTOR= 'EEV CCD42-40' / detector RATE = 160.0 / readout rate (KPix/sec) GAIN = 1.946 / gain, electrons per adu NODE = 'B' / output node (A, B, AB) BINNING = '2x2' / binning PXSIZE = '27.0 x 27.0' / pixel size (mkm x mkm) UTC = 72180.996 / UTC at exposure start (sec) 20:03:01.00 LST = 38203.940 / Local sidereal time (sec) 10:36:43.94 RA = 129.2026022 / Right Ascension (degr.) 08:36:48.62 DEC = 5.2203461 / Declination (degr.) +05:13:13.2 EPOCH = 2000.0 / EPOCH OF RA AND DEC Z = 46.6 / zenith distance A = 43.1 / azimuth PARANGLE= 29.8 / parallactic angle ROTANGLE= 185.9 / field rotation angle SEEING = '1.8" ' / seeing FILTER = 'R ' / filter FOCUS = 41.69 / focus of telescope (mm) IMSCALE = '0.351 x 0.351' / image scale ("/Pix x "/Pix) SLITWID = / slit width (") MIRRTEMP= -1.2 / mirror temperature (C) DOMETEMP= -3.9 / dome temperature (C) OUTTEMP = -6.3 / outside temperature (C) WIND = 0.0 / wind (m/s) CLOUDS = 0 / clouds (%) PRESSURE= 588.5 / pressure MODE = 'Image ' / mode of instrument DISPERSE= ' ' / disperser, dispersion A/px SPERANGE= '6620A EW=1500A' / spectral coverage SLITMASK= '13 dots ' /slit mask SLITPOS = 518.500 /slit coordinates in 2x2 map ORDER = ' 235' / order of dispersion TILTPOS TILTPOS = ' ' / tilt position FILTERS = ' R ' / name of both wheels FILTPOS1= 0 / position of wheel number 1 FILTPOS2= 3 / position of wheel number 2 POLAMODE= ' ' / CAMFOCUS= 5.78 / focus of MPFS camera COLFOCUS= 4.11 /FOCUS OF COLLIMATOR QGCONST = 9.64000 / Queensgate constant LSCAN = 5080.08 / wavelength of IFP scan CHANNEL = 32 / IFP channel COMMENT ' ' MJD-OBS = 54178.8354282 / Modified Julian Date of observation AIRMASS = 1.45392 / airmass for current zenith distance WCSAXIS = 2 / Number of WCS axes CTYPE1 = 'RA---TAN-SIP' / RA---TAN with distortion in pixel space CUNIT1 = 'deg' / RA units - degrees CRPIX1 = 522.0 / X reference pixel CRVAL1 = 129.2055982 / RA of reference pixel CTYPE2 = 'DEC--TAN-SIP' / DEC--TAN with distortion in pixel space CUNIT2 = 'deg' / Decl units - degrees CRPIX2 = 523.0 / Y reference pixel CRVAL2 = 5.2197063 / Decl of reference pixel EQUINOX = 2000.0 / Equinox of equatorial coordinates RADECSYS= 'FK5' / using FK5 coordinates system CD1_1 = -0.0000897060 / rotation matrix coefficient [1,1] CD1_2 = -0.0000391425 / rotation matrix coefficient [1,2] CD2_1 = -0.0000391425 / rotation matrix coefficient [2,1] CD2_2 = 0.0000897060 / rotation matrix coefficient [2,2] HISTORY scorpio_wcs: dA=-0.23dgr. Scale=0.3515 dX=26.3 dY=20.2 A_ORDER = 3 / polynomial order, axis 1, (detector to sky) A_1_2 = -4.604988e-08 / distortion coefficient at x*y^2 A_3_0 = -4.604988e-08 / distortion coefficient at x^3 A_DMAX = 13.125 / [pixel] maximum correction B_ORDER = 3 / polynomial order, axis 2, (detector to sky) B_2_1 = -4.604988e-08 / distortion coefficient at x^2*y B_0_3 = -4.604988e-08 / distortion coefficient at y^3 B_DMAX = 13.150 / [pixel] maximum correction AP_ORDER= 3 / polynomial order, axis 1, (sky to detector) AP_1_2 = 4.870410e-08 / distortion coefficient at x*y^2 AP_3_0 = 4.870410e-08 / distortion coefficient at x^3 BP_ORDER= 3 / polynomial order, axis 2, (sky to detector) BP_2_1 = 4.870410e-08 / distortion coefficient at x^2*y BP_0_3 = 4.870410e-08 / distortion coefficient at y^3 HISTORY scorpio_wcs: Scale=0.3523"/pix K3=-4.604988e-08,4.870410e-08 END |