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

В.Шергин

2014г.

За последние годы было разработано несколько программ для быстрой координатной привязки изображений в FITS-файлах. Координатная привязка выполняется путем сравнения выделенных на снимке объектов с опорным каталогом. Точность координатной привязки составляет от 0.2-0.9 угловой секунды в зависимости от размера пикселя, плотности объектов поля и предела звездной величины выбранного опорного каталога. Результатом является новый FITS-файл с добавленными в заголовок параметрами WCS. Программы установлены на основные общедоступные серверы САО. Для облегчения их использования разработаны два типа Web-интерфейсов. Также они включены в состав Web-итерфейса Архива САО.

Содержание:



guide_fix.cgi - привязка снимков с ТВ-камер гидов БТА и Цейсс-1000.

CGI-программа guide_fix.cgi разработана в 2009-м году и с тех пор непрерывно работает на сервере БТА. На ней первоначально были отработаны алгоритмы определения смещения звездного поля методом поиска максимума корреляции с модельным изображением (см. отчет за 2009г.). Определяется только смещение, поворот поля и масштаб считаются уже известными, что позволяет сделать процедуру привязки более надежной. В качестве опорного каталога была использована комбинация из двух каталогов: Tycho-2 и USNO-A2 (других тогда у нас не было). Яркие звезды выбираются из Tycho, а все прочие, не совпадающие с ними, из USNO.

Компьютеры обслуживающие ТВ-камеры гидов очень старые и маломощные. Они только формируют FITS-файлы накопленных изображений. Во время наблюдений эти файлы переписываются по FTP на сервер БТА. После каждой закачки, через протокол HTTP запускается guide_fix.cgi (именно поэтому она оформлена как CGI-программа). Кроме выходного FITS-файла с добавленными WCS-параметрами, программа формирует JPEG и JS файлы для Web-интерфейса представления результатов привязки.


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

Вся эта работа была начата в порядке подготовки к использованию 70-см гида БТА после реконструкции. К сожалению эта реконструкция так и не была закончена и гидом БТА работает 15-ти сантиметровый лабораторный коллиматор с плохой телекамерой. Также предполагалось, что на Цейсс-1000 эти же алгоритмы позволят значительно значительно увеличить время экспозиции для прямых снимков, но для этого нужен сколько нибудь приличный приемник на его 20-ти сантиметровом гиде.

zdina_wcs_fixдля прямых снимков с ПЗС-матрицы Цейсс-1000.

Программа разработана в 2011-м году. Предназначена для снимков с CCD-фотометра Цейсс-1000 с программой регистрации DinaSystem (см. отчет за 2011г.). FITS-шапки файлов формируемые этой системой не соответствуют стандартам, что вызывает трудности их использования. Задача программы zdina_wcs_fix - формирование FITS-файлов со стандартными шапками содержащими корректные FITS-параметры. В их число входят и WCS-параметры для координатной привязки.

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

В качестве опорного каталога используется локальный GSC-2.3. Обращение к нему по протоколу HTTP через программу gsc23.cgi либо на самом сервере, либо на местном сайте base1.sao.ru.

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

Параметр масштаба IMSCALE в FITS-шапке неточный, а поворотный стол может быть установлен с ошибкой (или же специально повернут), поэтому делается попытка определить реальный масштаб и поворот изображения. Разработан новый алгоритм на основе FFT и поиска максимума корреляции. Суть его в формировании двух полей псевдо-объектов, которые можно сравнивать также как звездные поля. Метод хорошо работает на большинстве изображений, когда в поле видно хотя бы с десяток каталожных объектов. Но он более «капризный» (чем предыдущий) в случае плохого соответствия самых ярких объектов каталогу. Если он таки не срабатывает, то можно пробовать задавать угол параметром в строке вызова программы (масштаб обычно подходит тот что по-умолчанию).

Если вызвать программу без параметров она выдаст справку:


FITS-reconstructor for Zeiss-1000 CCD FITS-files.
Uses 'zdina_sample.hdr' file as a sample for output FITS-header.
Includes WCS-header for images (not spectra).
Uses local(@base1.sao.ru) GSC-2.3 catalog and FFT-correlation method
 when trying to fix WCS-parameters.

Usage: zdina_wcs_fix name.fts [-CleanOut] [-PM] [-dRA[=Sec]] [-dDec[=ArcSec]] [-dAng=[Degr]] [-Scale=ArcSec] [-Nobj=n] [-Force] [-Iter=n] [-Dbg[=Level]]
Where:  -CleanOut       - output "cleaned" image data (source otherwise)
       -PM             - use proper motion data from GSC-2.3
       -dRA[=Sec]      - "Old" Zeiss TCS shift on R.A. (default=3612.0)
       -dDec[=ArcSec]  - "Old" Zeiss TCS shift on Decl. (default=6470.0)
       -dAng[=Degr]    - Zeiss Cassegrain table turn (degr., default=-0.3)
       -Scale=ArcSec   - new image scale ("/pix, default=0.21615 for bin:1x1)
       Note: -dAng,-Scale are used only(!) if programm can't determine 
       dA and Scale automaticaly
       -Nobj=n         - min.number of objects that should be detected 
                       in image (default=5)
       -Force          - to force X/Y-shifting despite the correlation results
       -Iter=n         - number of attempts (iterations, default=1)

Обычно единственный параметр — имя файла, но в некоторых случаях полезно использовать нижеследующие опции:
-CleanOut — матрица 2К используемая на Цейсс-1000 имеет дефекты. В программу встроен алгоритм «чистки» изображения разработанный специально для ее особенностей. Этот ключ позволяет записывать в выходной файл «почищенное» изображение вместо исходного.
-PM — «proper motions» — собственные движения. Используемый опорный каталог GSC-2.3 содержит данные о собственных движениях звезд, но они не очень надежные. Этот ключ заставляет программу учитывать все собственные движения. Иначе она учитывает только те, что попали в GSC из Tycho.
-dRA -dDec — специфика обработки снимков полученных при разных состояниях старой системы управления. Ошибка в координатах могла составлять ~1часа по RA и/или ~1.8º по Dec. Задавая эти параметры (в сек. и угл.сек) можно скомпенсировать эти проблемы. Если писать эти ключи без значений, подключаются наиболее часто встречающиеся: 3612s и 6470". Снимки полученные после запуска новой системы управления Цейсс-1000 летом 2013-го года этих проблем не имеют и их обрабатывать проще.
-dAng — смещение угла. Этот параметр (также как и -Scale) используется только если алгоритм автоматического определения поворота и масштаба не срабатывает, иначе — игнорируется. Угол задается в градусах. Большие его значения обычно получаются если фотометр развернут на столе от стандартного положения, малые значения в доли градуса обычно возникают при эволюциях трубы из-за ошибок в направлениях осей.
-Scale — масштаб ("/pix). Обычно не требуется, даже если алгоритм определения поворота и масштаба не срабатывает, т.к. в программу заложено «хорошее» значение масштаба: 0.21615"/pix (без бининга).
-Nobj — минимальное количество обнаруженных на снимке объектов (по-умолчанию: 5) чтобы начать процедуру привязки.
-Force — отключить критерий качества корреляции, всегда принимать результат определения смещения по X/Y.
-Iter — программа может работать итеративно, делая несколько попыток.
-Dbg — уровень подробности распечатки. Без ключа — 0-й (минимальная), с ключом — 1-й (подробная). Остальные уровни — авторские (для отладки программы).

Большие или малые буквы в названиях ключей не важны и опознаются они по первым символам (т.е. -c и -CleanOut одно и тоже, так же как -da и -dAng). Имя выходного файла формируется добавлением _wcs.fits к имени входного (например: obj023.fts—>obj023_wcs.fits). Программа пытается записать его в тот же справочник откуда взят входной. Также программа формирует в текущем справочнике изображение out_cat.jpeg, иллюстрирующее качество координатной привязки.

Пример использования:

vsher> zdina_wcs_fix ../z1000_CCD/obj023.fts
Can't read sample header from: ./zdina_sample.hdr.
But sample header: /usr/local/bin/zdina_sample.hdr was found.
Try to use it instead...
        134 objects found
        494 catalog objects
        dAng=-0.14dgr. Scale:0.43230->0.43241
        RA=322.60206 Dec=-0.19785 HA=1.585 dX=56.9 dY=75.2 dHA=-24.5 dDec=32.6
        113 matching objects (without PM)
        root-mean-square deviation: 0.36"
Can't write result to ../z1000_CCD/obj023_wcs.fits
So, try to write result to ./obj023_wcs.fits

Файл out_cat.jpeg:




Программа применялась в 2012-2013-м годах при автоматизированной обработке результатов технических наблюдений на Цейсс-1000 для получения таблиц поправок наведения телескопа и последующего расчета коэффициентов СКН (см. отчеты за 2012г. и 2013г.).

bta_apogeeдля прямых снимков с ПЗС-матрицы Apogee Alta.

Программа разработана в 2012-м году. Предназначена для снимков с CCD-камеры Apogee Alta U16M с программой управления разработанной Э.Емельяновым под ОС Linux. Использовалась в составе комплекса автоматических технических наблюдений реализующего новую технологию получения поправок наведения БТА (см. отчет за 2012г.).

scorpio_wcsдля прямых снимков со SCORPIO и SCORPIO-2.

Первоначальный вариант программы разработан в 2011-м году. В 2013-м она была значительно доработана для автоматического использования с составе ПО Архива САО (см. отчеты за 2011г. и 2013г.).

За время существования метода SCORPIO несколько раз менялись как CCD-приемники (1Kx1K, 2Kx2K, 4Kx2K) так и применяемое ПО системы сбора (LIma, версии DinaSystem, версии CCD Server + скрипты на IDL). Соответственно менялись и версии FITS-шапок. Но все они характеризуются нестандартным использованием стандартных параметров. Кроме того наблюдатели иногда отправляли в архив не исходный файл, а после обработки сторонними программами. Задача программы scorpio_wcsнивелирование этого исторического разнообразия и формирование FITS-файлов с более-менее однотипными стандартными шапками содержащими корректные FITS-параметры. В их число входят и WCS-параметры для координатной привязки.

Конфигурация набора FITS-строк в выходном файле задается с помощью файла образца шапки: scorpio_sample.hdr. Он может находится либо в вместе с исходным файлом, либо в текущем справочнике, либо в одном справочнике с самой программой. Если в этих справочниках файл не найден программа еще попытается найти его в файловой системе командой locate.

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

Если вызвать программу без параметров она выдаст справку:


FITS-reconstructor for SCORPIO FITS-files.
Uses 'scorpio_sample.hdr' file as a sample for output FITS-header.
Includes WCS-header for images (not spectra).
Uses local(@base1.sao.ru) GSC-2.3 catalog and FFT-correlation method
  when trying to fix WCS-parameters (with optional SIP/TPV-distortion).

Usage: scorpio_wcs Name.FTS [-dRA=Sec] [-dD=ArcSec] [-dA=Degr] [-Scale=ArcSec] [-SIP] [-TPV] [-Xc=ddd] [-Yc=ddd] [-Cat=CatName] [-PM] [-Dbg[=Level]]
Where:
        -dr=Sec    - telescope shift to subtract from R.A. (default=0.0)
        -dd=ArcSec - telescope shift to subtract from Decl.(default=0.0)
        -da=Degr   - rot.angle shift to add to P2-PA (default=0.0)
        -s=ArcSec  - new image scale ("/pix, default: from FITS-header)
Note: -da,-s are used only if programm can't determine dA and Scale automaticaly

        -x=ddd     - X of Reference Pixel (suppose to be BTA rotator center)
        -y=ddd     - Y of Reference Pixel (suppose to be BTA rotator center)
        -sip       - try to make WCS-header with SIP distortion coefficients
        -tpv       - try to make WCS-header with TPV distortion coefficients
        -cat=CatName - try to use another catalog instead of GSC-2.3
        where CatName:
                 gsc   - for local HST GSC
                 ub1   - for local USNO-B1
                 ua2   - for local USNO-A2
                 uc3   - for local UCAC3
                 2mass - for local 2MASS PSC
                 gsc2  - for local GSC-2.3 (default)
                 sdss  - try Internet access to SDSS-III site
                local access - to base1.sao.ru site
                Internet access - through relay.sao.ru proxy
        -pm        - use proper motion data from GSC-2.3 or USNO-B1

Обычно единственный параметр — имя входного файла: Sxxxxxxxx.FTS, программа максимально рассчитана на автоматическую обработку, но при использовании «в ручную» в сложных случаях могут быть полезны нижеследующие параметры. Большие или малые буквы в названиях ключей не важны и опознаются они по первым символам (т.е. -s и -Scale одно и тоже, так же как -dd и -dDec):
-dRA -dD — наследство от zdina_wcs_fix, сохранены на всякий случай.
-dAсмещение угла. Этот параметр (также как и -S) используется только если алгоритм автоматического определения поворота и масштаба не срабатывает, иначе — игнорируется. Угол задается в градусах.
-Sмасштаб ("/pix). Иначе берется из IMSCALE в шапке.
-Xc -Ycначальная точка привязки координат RA/Dec вместо заложенной в программе. Полезна если заранее был определен текущий центр вращения стола П2. Тогда программа будет давать смещения звездного поля относительно этой точки и можно по прямым снимкам проверять точность наведения.
-SIP -TPV в случае удачной привязки и отождествления достаточного (>15) количества объектов, пробовать рассчитать центрально симметричную дисторсию и включить ее в виде SIP или TPV коэффициентов в состав WCS-параметров. Иначе программа использует фиксированные значения в зависимости от конфигурации прибора, но никуда их не пишет.
-Catидентификатор опорного каталога. По-умолчанию программа сначала обращается к GSC-2.3, а при неудаче пытается повторить привязку с использованием 2MASS (такой подход помогает, например, при анализе снимков периферии крупных галактик или около ярких звезд).
-PM«proper motions» — собственные движения. Используемые опорные каталоги GSC-2.3 и USNO-B1 содержат данные о собственных движениях звезд, но они не очень надежные. Этот ключ заставляет программу учитывать все собственные движения. Иначе для USNO-B1 они не учитываются, а для GSC-2.3 программа учитывает только те, что попали в него из Tycho. Разумеется для USNO-UCAC3 собственные движения учитываются всегда.
-Dbgуровень подробности распечатки. Без ключа — 0-й (минимальная), с ключом — 1-й (подробная). Остальные уровни — авторские (для отладки программы).

Имя выходного файла формируется добавлением _wcs.fits к имени входного (например: S11080251.FTS>S11080251_wcs.fits). Программа пытается записать его в тот же справочник откуда взят входной. Также программа формирует в текущем справочнике изображение out.jpeg, иллюстрирующее качество координатной привязки.

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

vsher> scorpio_wcs  ../Scorpio/S11080251.FTS
Can't open sample header: nor scorpio_sample.hdr nor ../Scorpio/scorpio_sample.hdr nor /usr/local/bin/scorpio_sample.hdr
But sample header: /Users/vsher/FITS/scorpio_sample.hdr was found.
Try to use it instead...
        263 objects found
        574 GSC-2.3 catalog objects
        dAng=0.10dgr. Scale:0.35700->0.35281
        dX=13.7 dY=3.8 RA=287.37575 Dec=38.61870 dRA=3.4 dDec=4.2
        A=16.20000 Z=5.20000 dA=1.5(16.3) dZ=4.8
        245 matching objects 
        root-mean-square deviation(RMSD): 0.28"
Can't write to ../Scorpio/S11080251_wcs.fits 

Файл out.jpeg:




Программа использовалась в 2013-м году при массовом переформатировании всего архива SCORPIO и создания параллельного архива SCORPIO_С. Затем она была включена в состав ПО Архива САО для дальнейшего пополнения раздела SCORPIO_С и для использования в составе Web-итерфейса Архива.



fits_wcs для любых прямых снимков в FITS-формате.

Программа разработана в 2014-м году. Это универсальная программа для привязки FITS-изображений. Она должна создавать (или исправлять) WCS-параметры в их FITS-заголовках. Предыдущие программы разрабатывались для того чтобы приводить к стандартному виду FITS-заголовки файлов с основных инструментов САО, добавляя WCS-привязку если удалось отождествление с каталогом. Задача универсальной программы fits_wcs иная. Она должна быть максимально нечувствительна к формату FITS-файла и составу параметров в его заголовке. Даже если в FITS-заголовке не хватает нужных параметров (или они ошибочные), их можно добавить (заменить) в строке вызова.

Если вызвать программу без параметров она выдаст справку:


Usage: fits_wcs [Options] [PropFile] filename.fits
        Options/Properties format: 'name=value'
        PropFile - file with Properties (one in one line)
Possible Options/Properties names:
        x0, y0, xsize, ysize - use only this frame of large image
        scale - one pixel size (if square, "/pix) 
        flip  - 'no' or 'yes'(default - one of axes is mirrored)
Note: scale and flip are used only if there is no WCS in source FITS-header.
        dang  - rotation angle shift 
                (used only if programm can't determine it automaticaly)
        mag   - faint magnitude from catalogue (default=20.0)
        cat   - catalogue identifier:
                 'gsc'   - for local HST GSC
                 'ub1'   - for local USNO-B1
                 'ua2'   - for local USNO-A2
                 'uc3'   - for local UCAC3
                 '2mass' - for local 2MASS PSC
                 'gsc2'  - for local GSC-2.3 (default)
                 'sdss'  - try Internet access to SDSS-III site
                local access - to base1.sao.ru site
                Internet access - through relay.sao.ru proxy
        pm    - 'yes','no'(default) use Proper Motions for GSC-2.3 and USNO-B1
Note: this makes sense only if the header contains the date of observation.
        dbg   - 0 -:- 4 debuging (verbosity) level
Possible Properties that replace or complement FITS-parameters:
        BSCALE  BZERO   DATAMIN DATAMAX RA      DEC     EPOCH   FILTER
        CRVAL1  CRVAL2  CDELT1  CDELT2  CRPIX1  CRPIX2  EQUINOX CD1_1
        CD1_2   CD2_1   CD2_2

Параметры в этой программе задаются в форме «Имя=Значение». Часть параметров для настройки самой программы, остальные — для дополнения (или замены) FITS-шапки. Если их много и/или они постоянны для нескольких снимков, то их можно записать в Property-файл (каждый параметр в отдельной строке), а в строке команды писать имя этого файла.
x0, y0, xsize, ysizeиспользуются если нужно обрабатывать фрагмент из очень большого изображения. Максимальный доступный размер обрабатываемого изображения ограничен как 4096x4096.
scaleмасштаб ("/pix), т.е. предполагается что пиксель «квадратный». Этот параметр (также как и flip) используется только если в FITS-шапке исходного файла нет WCS-параметров, иначе масштаб рассчитывается по ним.
flipвозможные значения «no» или «yes» если изображение имеет зеркальное отражение по одной из осей. Также игнорируется если уже есть WCS-параметры, так как определяется по ним.
dangугол поворота изображения. Задается в градусах. Используется только если алгоритм автоматического определения поворота и масштаба не срабатывает, иначе — игнорируется.
magпредельная звездная величина до которой выбираются объекты из опорного каталога. По-умолчанию — 20.
catидентификатор опорного каталога. По-умолчанию — GSC-2.3.
pmвозможные значения «no» или «yes». По-умолчанию — «no». Используемые опорные каталоги GSC-2.3 и USNO-B1 содержат данные о собственных движениях звезд, но они не очень надежные. Значение «yes» заставляет программу учитывать все собственные движения. Иначе для USNO-B1 они не учитываются, а для GSC-2.3 программа учитывает только те, что попали в него из Tycho. Разумеется собственные движения могут учитываться только если по параметрам FITS-шапки можно определить дату наблюдений.
dbgуровень подробности распечатки: от 0 до 4. По-умолчанию — 0-й (минимальная), можно использовать 1-й (подробная). Остальные уровни — авторские (для отладки программы).
BSCALE, BZERO, DATAMIN, DATAMAX, RA , DEC, EPOCH, FILTER, CRVAL1, CRVAL2, CDELT1, CDELT2, CRPIX1, CRPIX2, EQUINOX, CD1_1, CD1_2, CD2_1, CD2_2применяются для дополнения FITS-шапки или для замены соответствующих параметров в ней.
Программа проверялась на различных FITS-файлах и с WCS-параметрами в шапке, и без них. Например:
файлы с ТВ-камер гидов БТА и Цейсс-1000 после привязки guide_fix.cgi (контроль правильности угла поворота и качества привязки);
выходные файлы zdina_wcs_fix (сравнение с другими каталогами);
выходные файлы scorpio_wcs (взаимное сравнение двух программ);
архивные файлы конца прошлого века с фотометра БТА с матрицами 1К(ЛПР) и PMCCD(Photometrics);
файлы после обработки в MIDAS;
файлы наблюдений на телескопе Subaru (не исходные, после предварительной обработки).

Web-доступ к программам координатной привязки.

Программы привязки FITS-изображений (zdina_wcs_fix, scorpio_wcs, fits_wcs) были установлены на три общедоступных сервера: base1.sao.ru, big2.sao.ru и tb.sao.ru. Сотрудники САО, имеющие доступ на эти серверы по ssh, могут использовать программы из командной строки или писать командные файлы для массовой обработки. Для быстрой и простой привязки отдельных снимков, безотносительно к возможности доступа на серверы, разработан Web-интерфейс. Он реализуется программами fits_www.cgi и fits_wcs.cgi на Web-сайтах этих серверов: http://base1.sao.ru/fits/, http://big2.sao.ru/fits/, http://tb.sao.ru/fits/, http://oasis.sao.ru/fits/.


На сервере выделена временная область (справочник) куда можно загружать свои файлы. Время хранения файлов в этой области — одни сутки. Файлы всех пользователей находятся в одном справочнике. Но каждый браузер показывает только свои файлы. Это достигается сохранением списка файлов в cookie с именем fitslist в самом браузере. Т.к. размер cookie ограничен (4Кбайт), не предполагается одновременная работа с очень большим количеством файлов. Ненужные файлы желательно уничтожать .


Файлы можно загужать из Интернета, если известен их URL. Например: URL можно скопировать из Web-интерфейса Архива. Если файл сжатый (bzip2), он будет разархивирован.

Другой пример: URL из Web-интерфейса представления результатов привязки гида Цейсс-1000.


Если URL не из локальной сети САО, а из внешнего Интернета, нужно использовать proxy, т.к. серверы все внутренние, не имеют прямого выхода в Интернет и должны использовать наш proxy-сервер.

Файлы можно загружать со своего компьютера (Upload).




Загруженные файлы появляются в списке.


Иконка используется для просмотра FITS-файлов при помощи программы showfits.cgi. Иконка - для запуска закачки файла на свой компьютер. Иконка - для чистки списка.

Само имя файла является ссылкой по которой вызывается программа fits_wcs.cgi. Она проверяет какого типа файл ей предложен и формирует разные типы Web-интерфейса для ввода параметров и запуска программ привязки. Все они ориентированы на то чтобы просто стартовать обработку без параметров. Форма ввода параметров разворачивается если кликнуть [+]. Исходно поля параметров отключены, подключаются кнопками («checkbox», «галочка») рядом с именем поля. Если выбранный файл это исходный FITS от DinaSystem фотометра Цейсс-1000, то показывается форма для zdina_wcs_fix.




Сслылка «Go to common fits_wcs form» служит для перехода к обработке файла универсальной программой fits_wcs вместо этой.

Если выбранный файл это исходный FITS с одного из вариантов SCORPIO, то показывается форма для scorpio_wcs.




После клика кнопки «Start scorpio_wcs» будет вызвана программа привязки с выбранными параметрами.

Для всех остальных типов FITS-файлов будет предоставлена страница программы fits_wcs.




Нижняя часть ее выглядит по-разному в зависимости от набора параметров в FITS-шапке. Если в ней уже есть WCS-параметры, то показаны будут именно они.




После клика кнопки «Start fits_wcs» будет вызвана программа привязки с выбранными параметрами.




В этом примере использован старый архивный файл с фотометра БТА с матрицей 1К.

Файл результата можно либо запустить в программу просмотра , либо скачать на свой компьютер .

Еще один пример: «пере-привязка» загруженного через Интернет снимка с гида Цейсс-1000 с целью контроля правильности угла поворота и качества привязки в guide_fix.cgi.




Использован наиболее подходящий в данном случае каталог USNO-UCAC3. Несоответствие угла поворота ≈1/3º. Это из-за Dec71º, следствие не совсем точной полярной оси Цейсс-1000 (чем ближе к полюсу, тем больше поворот). Масштаб не изменился. Смещение — десятые доли пикселя (при средне-квадратическом отклонении 1/2 пикселя).

Все вновь полученные файлы (в том числе и JPEG-картинки) также отображаются в списке.

Теперь можно скачать их на свой компьютер и уничтожить .

Использование координатной привязки в Web-интерфейсе Архива САО.

Описанные выше программы координатной привязки были установлены и на архивный сервер oasis.sao.ru. Соответственно появился и неавторизованный Web-доступ. Причем, поскольку архивный сервер «виден» снаружи через ProxyPass на сайте САО, этот Web-доступ есть не только из локальной сети САО, но и из внешнего Интернета http://www.sao.ru/oasis/fits/.

Для файлов из архива можно использовать загрузку по HTTP копируя адрес URL из таблицы найденных файлов, но это не очень удобно. Менять сам интерфейс доступа к архиву также было нежелательно. Поэтому, просто была немного изменена программа просмотра FITS-файлов showfits.cgi (см. отчет за 2013г.), которая в таблице найденных архивных файлов вызывается иконкой . В ее меню «Params» была добавлена кнопка «Try Match for WCS» (или «ReMatch for WCS») которая вызывает программу fits_wcs.cgi с адресом просматриваемого файла.




Далее все как в описанном выше Web-доступе. Программа fits_wcs.cgi проверяет какого типа файл ей предложен и формирует разные типы Web-интерфейса для ввода параметров и запуска программ привязки.




В данном случае это файл с системы регистрации SCORPIO.




Результаты работы программ представляются пользователю. Файл результата записывается во временную область архива. Его можно скачать на свой компьютер или снова запустить в просмотр для сравнения с другими каталогами.

Авторизованные Web-сессии для координатной привязки.

Для пользователей предпочитающих работу на серверах через ssh, разработан новый принцип организации Web-сессий. Он позволяет пользователю зайти под своим именем-паролем и работать с FITS-файлами в своем Home-справочнике. Предполагается что этот Web-интерфейс будет использоваться параллельно с обычной работой пользователя на сервере через ssh, облегчая ему использование программ координатной привязки.


...

Программа login.cgi может вызываться только по защищенному протоколу HTTPS. Она получает имя и пароль пользователя и проверяет их стандартным образом (по passwd+shadow). Если авторизация успешна, создается уникальный идентификатор сессии и FIFO-канал с именем этого идентификатора. Затем запускается даемон поддержки сессии fits_session, который для ввода/вывода использует созданный FIFO-канал. Он имеет привилегии только данного авторизованного пользователя и работает в его Home-справочнике. Даемон сессии заканчивает работу либо по тайм-ауту, либо по команде Logout от пользователя.

Идентификатор сессии передается браузеру в виде cookie. Вся дальнейшая работа выполняется по обычному протоколу HTTP. Вместо пароля в его заголовках циркулирует уникальный идентификатор сессии. Вызываемая при этом CGI-программа session.cgi использует его для подключения к FIFO-каналу сессии. Эта программа вызывается сервером httpd при каждом HTTP-запросе. Данные запроса передаются через FIFO-канал пользовательскому даемону fits_session. В ответ он передает сформированную HTML-страницу, которая в итоге передается назад через httpd как ответ CGI-программы.

Программа login.cgi предоставляет форму авторизации пользователя. Кроме имени и пароля можно еще при входе задать тайм-аут сессии.

Если имя-пароль правильные, предоставляется простой файл-браузер который «видит» только справочники и файлы FITS или JPEG.

На картинке представлен пример одновременного использования сервера через Web-сессию и через ssh.

Оставшееся до окончания сессии время непрерывно показывается в верхней строчке. Там же ссылка Logout для завершения сессии. Остальной функционал очень похож на описанный выше Web-доступ без авторизации.

Программы включены в сайты трех серверов САО: https://base1.sao.ru/fits/login.cgi, https://big2.sao.ru/fits/login.cgi, https://tb.sao.ru/fits/login.cgi.

Web-доступ к одному из серверов (big2.sao.ru) обеспечен и из внешнего Интернета через ProxyPass: http://www.sao.ru/fits/ -> http://big2.sao.ru/fits/. Т.е. сотрудники могут пользоваться программами и из внешних сетей. Соответственно URL для входа пользователя с авторизацией: https://www.sao.ru/fits/login.cgi.