WorkScan 2.6
ВВЕДЕНИЕ
ОСНОВНЫЕ КОНЦЕПЦИИ
ОБЩИЕ ПРИНЦИПЫ РАБОТЫ
СЛУЖЕБНЫЕ ФАЙЛЫ
ФОРМАТЫ ЗАПИСИ ДАННЫХ 1. Формат предыдущих версий и конвертора
2. Формат хранения одного скана наблюдений
3. Формат хранения группы сканов
ПАНЕЛЬ ИНСТРУМЕНТОВ (TOOLBAR)
ФУНКЦИИ МЕНЮ
ПАКЕТНАЯ ОБРАБОТКА ФАЙЛОВ
ПОДКЛЮЧАЕМЫЕ БИБЛИОТЕКИ
УТИЛИТА ChoosedScan

ВВЕДЕНИЕ На сегодняшний день интерактивные системы обработки являются основными для наблюдателей. Увеличение количества обрабатываемой информации затрудняет процесс интерактивной обработки. Связано это и с увеличением затрат времени на полный цикл обработки, и с многократностью повторения основных операций обработки. Режим автоматической обработки не может полностью заменить это положение из-за невозможности контроля промежуточных результатов и трудностями алгоритмизации критериев качества данных.

В программе Work Scan сделана попытка соединить достоинства интерактивных и автоматических систем обработки.

Программа Work Scan реализована на языке C++ в операционной системе Win32. Она предназначена для обработки и графического представления массива одномерных сканов(векторов). Эта программа разработана в группе солнечных исследований на РАТАН-600. Поэтому часть функций обработки и некоторые поля структур с данными специфичны для обработки Солнца.

ОСНОВНЫЕ КОНЦЕПЦИИ

При создании системы обработки закладывались следующие концепции : ОСНОВНЫЕ ПРИНЦИПЫ РАБОТЫ

Программа обработки Work Scan реализована в среде Win32 на языке C++ с поддержкой Drag&Drop для загружаемых данных. Хранение данных в программе реализовано двухпроходной очередью динамически создаваемых структур. Каждая структура содержит данные наблюдений на одной частоте (в общем случае два ряда данных) и необходимую информацию для их обработки. На каждый массив с данными (Data) создается рабочий массив (Work) с копией этих данных. Все функции обработки производятся над данными массивов Work (массив должен быть видимым, т.е. отмечен [checked] галочкой в меню View=>Set View. Перед любой модификацией массива Data программа выводит предупреждающее сообщение с возможностью отменить данную операцию. Помимо самой очереди, в программе создается список всех ее структур  с данными. Во время обработки  это дает возможность перемещаться не только между соседними структурами (сканами) очереди с помощью кнопок Ь и Ю, но и непосредственно к любому выбранному скану из списка с помощью двойного щелчка мыши.(см.рис. 1)


Рис.1 Общий вид окна программы

При работе программы Work Scan в окне отображения можно показать любой выбранный скан, его часть или выбранную группу сканов. (в общем случае скан состоит из двух последовательностей данных, описывающих состояние поляризации радиоизлучения R и L, каждая из которых, в свою очередь, представлена двумя массивами [Data, Work]). При этом слева и справа от скана будут отображаться шкалы отсчетов для разных поляризаций.

Если курсор находится в окне отображения, то, при нажатии левой кнопки мыши, в строке состояния отображается номер отсчета массива соответствующий положению курсора, координата курсора относительно центрального значения массива (для Солнца- относительно его центра) в единицах измерения горизонтальной шкалы, значения отсчетов положения курсора в единицах вертикальных шкал. При двойном нажатии левой клавиши мыши, при видимом окнеLocal Graph”, в данном окне отображается спектр значений соответствующий положению курсора.

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

При обработке конкретного скана кнопка состояния работы с группой должна быть в положении “One”. Для работы с группой сканов или со всеми сканами кнопка состояния работы с группой должна быть в положении “All”.Выбор группы сканов производится через функцию меню View=>Scan Group. Повторный выбор данной функции отменяет выбор группы. Все операции с группой производятся с массивами одинаковой размерности и одинаковым шагом между отсчетами. Если загруженные данные (сканы) имеют разные размерности массивов или шаги между отсчетов, то с помощью функций меню Transform их можно привести к одинаковой размерности и шагу.

Основными функциями обработки реализованными в программе являются:

Любое изображение представленное на экране во время обработки можно вывести на принтер или сохранить в цветном WMF (Windows Metafile) или черно-белом PS (Post Script) форматах.

СЛУЖЕБНЫЕ ФАЙЛЫ

Во время работы программа Work Scan использует следующие служебные файлы:

tab_sun.dat, sh-fits.cfg, diagram.dat, corlogta.dat, gvi_soho.dat, bitmap3d.pal. Данные файлы должны находится в каталоге основной программы.



tab_sun.dat -текстовый файл, используется для калибровки сканов по полному потоку (функция меню  Calibr=>Full Flux). Имеет следующую структуру:
 
Wls  Fqsun  Coeff1,
1.50 670  0.381
2.01 519  0.470
2.30 418  0.524
2.70 324  0.593
3.20 253  0.672
4.00 180  0.774
5.00 123  0.862
6.00 93  0.921
7.00 79  0.967
8.20 71  1.0
11.70 56  1.0
20.70 46  1.0
31.60 44  1.0
Wls - длина волны в [см],
Fqsun - полный поток спокойного Солнца в солнечных единицах потока [s.f.u.],
Coeff1 - соотношение между вертикальным размером диаграммы и диметром Солнца.
 

 
sh-fits.cfg -файл, описывающий параметры диаграммы и антенны. используется для перехода от антенных температур к потокам  (функции меню Full Flux  Gauss Flux)  Это текстовый файл, который имеет следующую структуру:
Frq Coeff2  Tqsun Theta Tann
35.0 1.155 4053 6.885 90.316
30.0 0.874 4212 7.087  71.857
25.0 0.620 4463 8.489  56.114
20.0 0.411 4659 11.894  44.899
15.0 0.267 4856 18.101  40.023
14.0 0.246 4906 19.742  39.933
13.0 0.226 5148 21.491  39.978
12.0 0.203 5387 23.275  40.006
11.0 0.181 5619 24.907  40.008
10.0 0.164 5841 26.193  39.991
9.00 0.147 6041 27.024  39.915
8.00 0.130 6207 27.679  39.904
7.00 0.113 6319 29.036  40.315
6.00 0.096 6362 33.618  41.370
5.00 0.079 6324 45.550  43.137
4.50 0.071 6272 55.584  44.307
4.00 0.064 6200 69.029  45.678
3.50 0.057 6109 86.408  47.278
3.00 0.052 6002 108.14  50.451
2.50 0.048 5881 134.47  58.681
2.00 0.045 5750 165.32  76.394
1.50 0.044 5613 199.68  110.054
1.00 0.043 5473 236.30  163.874
0.50 0.042 5334 273.15  220.488
Frq - частота в [GHz],
Coeff2 - коэффициент перевода антенных температур в поток радиоизлучения,
Tqsun - антенная температура спокойного Солнца на данной частоте в [К]
Theta - полуширина диаграммы направленности,
Tann - шумовая температура антенны в [K].

diagram.datфайл шаблона диаграммы телескопа. Используется для вычисления шаблона спокойного Солнца в функции Calc=>Sun Template.
 
45 6 15
1
0,95
0,89
0,8
0,71
0,6
0,5
0,39
0,29
0,21
0,14
0,08
0,04
0,01
0
0
0,01
0,02
0,03
0,04
0,04
0,05
0,05
0,04
0,04
0,03
0,02
0,01
0,01
0
0
0
0
0,01
0,01
0,01
0,01
0,02
0,02
0,02
0,01
0,01
0,01
0
0



corlogta.datфайл содержащий коэффициенты для коррекции данных за нелинейность приемной аппаратуры. Файл имеет следующую структуру: Frq Kf_r Kf_l, где Frqчастота в [GHz],
Kf_rкоэффициент для коррекции скана с правой поляризацией,
Kf_l - коэффициент для коррекции скана с левой поляризацией.


gvi_soho.dat -файл шаблона полей формата файла для хранения группы сканов. В этот файл можно добавлять дополнительные поля и изменять значения существующих полей до строки начинающейся с символа *.


bitmap3d.palфайл с палитрой для создания BMP-файла в функции Surf3D”. Файл имеет следующую структуру:

JASC-PAL
0100
256
r0 g0 b0
r1 g1 b1
………
r255 g255 b255



ФОРМАТЫ ЗАПИСИ ДАННЫХ

Программа Work Scan поддерживает четыре формата записи данных. Один формат служит для автосохранения данных во время работы программы. Он может также использоваться для сохранения промежуточных рабочих файлов. Файлы данного формата имеют расширение wsf. Остальные форматы близки по форме или полностью соответствуют FITSстандарту. Реализованы два различных подхода к структуре загружаемых данных:

1. Формат предыдущих версий и конвертора
2. Формат хранения одного скана наблюдений
3. Формат хранения группы сканов
Формат предыдущих версий и конвертора.

Это формат для хранения одного скана с наблюдениями в отдельном файле. Он не соответствует FITS- стандарту, но похож по структуре. Т.е. имеет FITS-образный заголовок после которого идут данные. Программа Work Scan не сохраняет данные в этом формате. Ниже приводится структура файла.

SIMPLE = F / FILE DOES NOT CONFORM TO FITS STANDARD
BITPIX = 16 / INTEGER WITH '(I2)' FORMAT
NAXIS = 1 / NUMBER OF DATA AXES
NAXIS1 = short / LENGTH OF DATA AXIS 1
PMCSUN = float / POST MERIDIUM CENTER
DATE-OBS= 'dd/mm/gggg' /
TIME-OBS= 'hh:mm:ss.sss' / UT
OBJECT = 'Object' /
TELESCOP= 'Telescope' /
ORIGIN = 'Origin' /
RADIUS = short / OPTICAL SOLAR RADIUS (ARCSECOND)
AZIMUTH = float / Azimuth of observ.
ALTITUDE= float / Altitude of source
ANGLE = float / Angle of decl.
CDELT1 = float / ARCSEC
N_POLAR = 2 / NUMBER OF POLARIZATIONS [1 or 2]
CALIBR = 0 / FLAG OF CALIBRATION [ 0-NO 1-YES ]
FLAG_IV = 1 / IF 1 => R,L; IF 0 => I,V
COMMENT TQSUN - TEMPERATURE OF A SURFACE OF THE QUIET SUN AGREED WITH THE COMMENT FORM OF THE DIAGRAM OF A ANTENNA AND KOEF. OF TRANSITION TO FLUX END
OBS-FREQ= float / GHz
THETA-DG= float / DIMENSION OF DIAGRAMM (ARCSECOND)
TQSUN = short / Ta[K]
FLUX_L = float / KOEF. Ta[K] -> FLUX[S.F.U.]
END
POLARIZ = 1 / IF 1 - (R or R+L), IF 0- (L or R_L)
BSCALE = float /
BZERO = float /
END

data set\r\n

POLARIZ = 0 / IF 1 - (R or R+L), IF 0- (L or R_L)
BSCALE = float /
BZERO = float /
END

data set\r\n

Описание отдельных полей:

BITPIX - разрешенные значения поля 16 и 64. Если значение поля равно 16 тип записи данных - short (в системе Intel x86);если значение поля равно 64 тип записи short (в текстовом виде, под число отводится 8 байт)

PMCSUN - центральная точка массива(ов) измеряемая в номерах отсчетов от начала записи.

N_POLAR если значение поля равно 1 из файла считывается только первый массив данных. Второго может и не быть.

Формат хранения одного скана наблюдений.

Данный формат соответствует FITS- стандарту. Он является основным форматом программы. Файл данного формата имеет следующую структурузаголовка:

SIMPLE = T / FILE DOES CONFORM TO FITS STANDARD
BITPIX = 64 / INTEGER WITH '(I8)' FORMAT
NAXIS = 2 / NUMBER OF DATA AXES
NAXIS1 = short / LENGTH OF DATA AXIS 1
NAXIS2 = 2 / LENGTH OF DATA AXIS 2
PMCSUN = float / POST MERIDIUM CENTER
DATE-OBS= 'gggg/mm/dd' /
TIME-OBS= 'hh:mm:ss.sss' / UT
OBJECT = 'Object' /
TELESCOP= 'Telescope' /
ORIGIN = 'Origin' /
RADIUS = short / OPTICAL SOLAR RADIUS (ARCSECOND)
AZIMUTH = float / Azimuth of observ.
ALTITUDE= float / Altitude of source
ANGLE = float / Angle of decl.
CDELT1 = float / ARCSEC
POLARSET= 1 / SET1: IF 1 (R or R+L), IF 0 (L or R-L)
CALIBR = 0 / FLAG OF CALIBRATION [ 0-NO 1-YES ]
FLAG_IV = 1 / IF 1 => R,L; IF 0 => I,V
COMMENT TQSUN - TEMPERATURE OF A SURFACE OF THE QUIET SUN AGREED WITH THE
COMMENT FORM OF THE DIAGRAM OF A ANTENNA AND KOEF. OF TRANSITION TO FLUX
OBS-FREQ= float / GHz
THETA-DG= float / DIMENSION OF DIAGRAMM (ARCSECOND)
TQSUN = short / Ta[K]
FLUX_L = float / KOEF. Ta[K] -> Intensity[Jy/arc.sec.]
BSCALE1 = float /
BZERO1 = float /
BSCALE2 = float /
BZERO2 = float /
END

Описание отдельных полей:

BITPIX - разрешенные значения поля 16 и 64. Если значение поля равно 16 тип записи данных - short (binary); если значение поля равно 64 тип записи short (в текстовом виде, под число отводится 8 байт)

PMCSUN - центральная точка массива(ов) измеряемая в номерах отсчетов от начала записи.

POLARSET - поле описывающее поляризацию первого массива данных.

Формат хранения группы сканов.

Данный формат является расширением FITS- формата (BINARY TABLE). Он служит для хранения группы сканов в одном файле. В данном формате сохраняется не только любая группа сканов, но и выделенный участок записи.

Файл имеет следующую структуру заголовка:

SIMPLE = T /
BITPIX = 16 /
NAXIS = 0 /
EXTEND = T /
COMENT This table contains the set (TFIELDS) of 1-dimensional (TFORM#
COMENT and TDIM#) full disk scans of the Sun at microwaves (TTYPE#)
COMENT ........
HISTORY This FITS file was created by the 'Work Scan' task.
END

XTENSION= 'BINTABLE' /
BITPIX = 8 /
NAXIS = 2 /
NAXIS1 = long /
NAXIS2 = 1 /
PCOUNT = 0 /
GCOUNT = 1 /
TFIELDS = short /
EXTNAME = 'SELECTED SOLAR RADIO SCANS' /
EXTVER = 1 /
DATE = 'dd/mm/gg' /
ORIGIN = 'Origin' /
TELESCOP= 'Telescope' /
INSTRUME= 'Instrument' /
DATE_OBS= 'gggg-mm-ddThh:mm:ss.sss' /
SCI_OBJ = 'SYNOPTIC GROUND BASED DATA FOR SOHO' /
SCI_SPEC= 'MICROWAVE OBSERVATIONS' /
OBJECT = 'Object' /
AZIMUTH = float /
ALTITUDE= float /
CENTRE_X= float /
XSCALE = float /
ANGLE = float /
SOLAR_R = float /
BUNIT = 'JY/ARCSEC' /
TFORMi = 'shortI' /
TDIMi = '(shortI)' /
TTYPEi = 'FREQUENCY float GHZ xxx' / xxx - (R or L or R+L or R-L)
TSCALi = float /
TZEROi = float /
END

CENTRE_X - центральная точка массивов в единицах шкалы абсцисс (от начала записи)

ПАНЕЛЬ ИНСТРУМЕНТОВ (TOOLBAR)

Панель инструментов (ToolBar) содержит следующие управляющие элементы:


  1      2    3     4    5     6     7    8     9     10
1.Загрузка файла с данными в программу
2. Сохранение массива(ов) Data
3.Сохранение массива(ов) Work
4. Выбор работы с группой(“One” , “All”)
5.Переход к соседнему скану
6.Показ всего скана
7.Настройка
8.Переход к соседнему скану
9.Печать содержимого окна отображения
10. Запуск на выполнение списка команд

В панели инструментов видимы только активные кнопки.

ФУНКЦИИ МЕНЮ

Главное меню программы состоит из следующих полей:

File Scan TransformCalcViewSpec.FuncScriptHelp
Ниже приводится полный список функций меню.
 
File
Open Загрузка файла с данными.
Append... Добавление в программу файлов с данными.
Load->
выпадающее подменю
WorkSpace Загрузка файла с промежуточными данными.(wsf)
PackFile Загрузка и выполнение файла пакетной обработки.
Scan Template Загрузка шаблона спокойного солнца. Если флаг=1, шаблон перед загрузкой калибруется по потокам из файла tub_sun.dat. если 0, загружается без калибровки.
Close Удаление из программы всех загруженных файлов.
Save->
выпадающее подменю
Data Сохранение массивов Data в исходных файлах (кроме BINARY TABLE)
WorkSheet Сохранение массивов Work в выбранном формате файлов.
WorkSpace Сохранение всех данных.
Wrksh to PIRAT Сохранение загруженных данных в формате программыPIRAT


Print... Печать содержимого окна отображения.
Export...Сохранение содержимого окна отображения в WMF или PS форматах.


Set InitDirДиалог настройки переменных программы.
Script Edit... Редактирование файла скриптов


Run file.exe Запуск выполнения внешней программы.
Scan
Data->Wrksh Копирование содержимого массива Data в массив Work.
Wrksh->Data  Копирование содержимого массива Work в массив Data.


 
Modification
выпадающее подменю
Data--Wrksh Замена содержимого массива Work на разность Data-Work.
Wrksh*N Умножение выделенного участка массива Work на число N.
Wrksh+N Сложение выделенного участка массива Work с числом N.
Line Аппроксимация выделенного участка массива Work прямой
Eq. Null Замена элементов массива не равных нулю на нуль в зависимости от значения флага (флаг=1- все элементы выделенного участка массива, меньшие нуля, заменяются на нуль.  флаг=0-  на нуль заменяются элементы массива большие нуля)
ABS(Wrksh) Вычисление модуля от элементов выделенного участка массива Work.
Derive Вычисление производной от выделенного участка массива Data.
Polarization Вычисление локальной степени поляризации (P= V/I*100%).
I,V<=>R,L Преобразование поляризаций.
Ta[K]=>Flux Умножение массива Work на коэффициент перевода Ta к потокам.


Min rel.CsunВычисление минимума между элементами симметричнымиотносительно центрального значения массива Work.
Copy rel.CsunКопирование выделенного участка массива Work относительноцентрального значения массива.
Line tail Вычитание постоянной составляющей массива Work.
Correction
выпадающее подменю
EphemerideИзменение эфемеридных значений загруженных данных.


Change of amplif Автоматическая коррекция переключения усиления.
RL Cross-Talk Коррекция паразитного cross-talk сигнала.
Tail of curve Замена n (первых или последних) элементов массива Work значением n-ого (или N-n) элемента массива Work.
Overturn Переворот выделенного участка массива Work относительно линии, соединяющей его крайние элементы.
Move L from R Сдвиг массива с одной поляризацией относительно массива с другой поляризацией.
Auto move L R Автоматический сдвиг массива с одной поляризацией относительно массива с другой поляризацией.
Wide Gauss Аппроксимация широкой составляющей диаграммы гауссианой.
Center Vscan Вычисление центра Солнца(Луны) по производным на краях скана.
Non-linear reg. Соррекция нелинейности при регистрации.
Calibration
выпадающее подменю
Quiet Sun Ta Калибровка скана по уровню спокойного солнца (табличными значениями Ta)
Quiet Point Ta Калибровка скана по спокойной точке на скане (табличными значениями Ta)
Full Flux Калибровка скана по интегральному потоку.
Black body Калибровка скана по калибровочной ступеньке.

 
Smooth
выпадающее подменю
Gauss Свертка выделенного участка массива Work с гауссианой
Median Применение median фильтра к выделенному участку массива Work.
Cube Spline Аппроксимация выделенного участка массива кубическим сплайном.
Comm.List… Создание списка часто повторяющихся операций.
PopUp Menu…Конфигурация всплывающего меню.


Delete Удаление активного скана.
Transform
Move Scan Сдвиг активного скана относительно остальных (только в группе сканов).
Equal Length Приведение всех сканов к одинаковой длине массивов.
Equal Step Приведение всех сканов к одинаковому шагу между элементами массивов(минимальному) и одинаковой длине массивов
Scan sub scan Вычитание одного скана(даты) из остальных сканов(дат).
Center Sun Нахождение центральных значений сканов и приведение сканов к одной длине.


Group scan min Вычисление нижней огибающей группы сканов.
Group scan aver Вычисление среднего скана из группы сканов.
Calc

 

Full FluxВычисление полного потока выделенного участка массива.
Gauss FluxГаусс- анализ выделенного участка массива Work.
Interactive Gauss Интерактивный гаусс- анализ выделенного участка массива Work.



Correlation Вычисление коэффициента корреляции между выделенными участками разных сканов.
Sigma Вычисление AMD дисперсии выделенного участка массива.
Surf3DВычисление матрицы для представления группы сканов (Surf, Contour).
Local spectrum Построение спектра выделенных позиций на скане.
Spectral lineАнализ выделенного участка скана на спектральные линии.
Magnetic Field Вычисление напряженностей магнитного поля на выделенном участке скана по третьей гармонике гирочастоты (3570/lcr).


Sun Template Построение шаблона спокойногосолнца
FITS convolutionВставка двумерного изображения (белый свет, рентген, магнетограмма и т.п.) и свертка его с диаграммой РАТАН.
View
Choice ScaleДиалог выбора участка массива для показа(работы).
Choice Path Окно демонстрации выбранного участка относительно всего массива.
Local GraphПоказ окна для демонстрации спектров.

Scans Group->
выпадающее меню
Scans Group Диалог выбора группы сканов.
View Group Диалог представления группы сканов.
Prev. Group Показ предыдущей выбранной группы сканов.
Screen->
выпадающее меню
Full scan Показ всего скана(ов).
Equal Scale Включение одинаковой шкалы для разных поляризаций.


Delete Gauss Удаление служебных массивов гаусс- анализа.
Delete MagFieldУдаление служебного массива расчета магнитных полей.
Set ViewОсновные настройки окна отображения.
Scan header Показ заголовка активного скана.
Gauss Param Вывод в окно редактора параметров гауссиан(после гаусс- анализа).
Spec.Func
выпадающее меню (инициализируется подключаемой DLL)
 
Correct->
MyDllFunc->
Smooth->

 

Script выпадающее меню (инициализируется файлами каталога Script)
Help Main helpВызов HELP-файла по работе с программой Work Scan
About...
Cancel Отмена выполнения функций с блокировками сообщений.

ОПИСАНИЕ НЕКОТОРЫХ ФУНКЦИЙ МЕНЮ

File=>Set InitDir

Диалог настройки программы Work Scan
Общий вид диалоговой панелии описание полей:

Flux Units – строка для вывода в текстовый редактор,
X axis Units – символ для обозначения единиц оси X,
Sun flux timeвремя получения полных потоков в часах,
Flux Koef.– коэффициент на который домножаются вычисляемые потоки,
Noise levelуровень шумов (используется некоторыми функциями),
Min Yaxis scale I(V)минимальный размер соответствующей шкалы в отсчетах,
Autosave time(min)промежуток времени автосахранения состояния программы,
Vert. Beam Koef.- коэффициент для вычисления вертикальной диаграммы по формуле:

qvert[arc min] = VBK / Frq [GHz]
Horiz. Beam Koef.-коэффициент для вычисления горизонтальной диаграммы по формуле:

qhor[arc sec] = HBK / Frq [GHz]

если HBK<=0, горизонтальный размер диаграммы берется из файла sh-fits.cfg. Если HBK<0, при прорисовке диска Солнца диаграмма не отображается, и при загрузке FITS-файла с двумерным изображением Солнца свертки с горизонтальной и вертикальной диаграммами не происходит.
Output Folder – каталог сохраняемых файлов,
Sun flux Folder – каталог содержащий файлы полных потоков Солнца,
Script folder - каталог со скриптами,
Ext program file – имя файла выполняемого через меню,
Log corr.fileимя файла с коэффициентами нелинейной коррекции,
Auto Script file- скрипт, выполняемый при загрузке данных (кроме .WSF и .PKF).
3D Palette File
FITS Palette File- файл с палитрой для отображения подгружаемой FITS-карты

Директорий файлов с полными потоками и время получения полных потоков используется при калибровке сканов Солнца с помощью меню Scan=>Correction=>CalibrFlux



Scan=>Modification=>Min rel.Csun (Copy rel.Csun)

Обе функции работают с парами элементов массивов симметричными относительно центрального значения (поле PMCSUNили CENTRE_X в файлах с данными).

Функция Min rel.Csun заменяет элементы участка массива отображенном на экране на минимальное значение получаемое при сравнении этих элементов с симметричными.

Функция Copy rel.Csun копирует отображенный участок массива на место симметричного участка.

Scan=>Modification=>Line tail

Функция запрашивает параметр равный одному из следующих значений:

0 - значение постоянной составляющей вычисляется как среднее между десятью первыми и десятью последними элементами массива;
1 - значение постоянной составляющей вычисляется как среднее между десятью последними элементами массива;
2 - значение постоянной составляющей вычисляется как среднее между десятью первыми элементами массива;
3 - значение постоянной составляющей вычисляется как среднее между десятью центральными элементами участка массива изображенного на экране;


Scan=>Correction=>Ephemeride
Scan=>Correction=>Change of amplif

Функция автоматической коррекции переключения усиления.

После вызова функции нужно указать курсором (с помощью двойного щелчка левой клавиши мыши) место переключения на участке скана отображенного на экране

Функция вычисляет коэффициент изменения усиления и умножает на него все элементы массива правее указанного места переключения. Вычисление коэффициента осуществляется из условия аппроксимации участка из пяти точек массива в месте переключения линейной функцией.

Scan=>Correction=>Wide Gauss

Функция заменяет массив Work гауссианой вычисляя ее параметры из симметричных участков относительно центра Солнца(Луны) удаленных на 1.2 и 1.5 радиуса. Используется для удаления широкой составляющей записи связанной с боковыми лепестками диаграммы направленности.

Scan=>Correction=>Center Vscan

Итерационное вычисление положения центра Солнца(Луны) активного скана. Если происходит работа с группой сканов функция присваивает найденное значение всем сканам группы. Вычисление осуществляется из условия равенства производных скана на краях записи объекта.



Scan=>Smooth=>…

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



 Scan=>Correction=>Calibr *

Quiet Sun Ta после вызова функции нужно с помощью курсора (двойной щелчок левой клавиши мыши) указать в окне отображения точку , которой будет сопоставляться табличное значение антенной температуры спокойного солнца на данной волне (sh-fits.cfg). Функция отслеживает только вертикальную координату курсора. Уровень спокойного солнца на каждой волне указывается отдельно.

Quiet Point Ta после вызова функции нужно с помощью курсора (двойной щелчок левой клавиши мыши) указать на скане точку, которой будет сопоставляться табличное значение температуры спокойного солнца на данной волне (sh-fits.cfg). Функция отслеживает  горизонтальную координату курсора, из которой вычисляется номер точки на скане с табличной температурой.
 

Full Flux. Для ее работы надо создать в основном директории [см. File=>Set InitDir] поддиректории с именами <год (пример 1990)> в которых должны находиться файлы с данными потоков за месяц с именами <месяц(3буквы).год(2цифры) (пример aug.92)>.
Функция считает интеграл от скана (в интенсивности) и масштабирует скан таким образом, чтобы этот интеграл равнялся интерполированному потоку на данной волне в в данный момент времени. Интерполяция по времени- линейная, а по частоте- кубическими сплайнами с условиями на гладкость.
При приравнивании учитывается, что на коротких волнах вертикальная диаграмма РАТАН захватывает не все Солнце, а только часть. Для этого используется коэффициент (из файла tab_sun.dat-[Боровик В.Н.]), который показывает, какую часть потока мы загребаем вертикальной диаграммой.

Т_ант=Т_ант_исх * k,
k=(F_тоекава-F_спок.солн*(1-коефф1))/Интеграл
коэфф1 не равен точно  диаметр.солнца/верт.размер.диаграммы, но представляет это соотношение

Формат файлов с данными потоков:

Дата     поток1     поток2     поток3     поток4     [поток 5]

Пример файла:
 

1995 1000 2000 3750  9400 17000
APR  MHz MHz MHz  MHz MHz
51.  58. 74.   271. 575.
50.  57. 73.  270.  574.
48.  57. 74.  271.  572.
48.  57. 74.  270.  574.

 

Black bodyПеред запуском функции надо участок скана с калибровочной ступенькой отобразить на экране (в крупном масштабе).Функция запрашивает значение температуры калибровочной ступеньки.

Функция вычисляет усредненные значения (из 5 точек) на краях и в центре выделенного участка скана, находит максимальную разность из L-R,  L-C, R-C, и этой разнице приписывает значение температуры калибровочной ступеньки, за вычетом шумовой температуры антенны, значения которой берутся из  пятого столбца файла sh-fits.cfg .


Calc=>Full Flux

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

F_источника= интеграл (по источнику) * коэфф2 (из файла sh-fits.cfg)
Скан предварительно должен быть откалиброван.

Calc=>Gauss Flux

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

Общее количество гауссиан
К-во гауссиан, положение которых будет указано курсором
Аппроксимация фона кубическим сплайном
Функция создана на основе программы и алгоритма, разработанного Л.Н. Ивановым.
 

Calc=>Interactive  Gauss
 
Функция позволяет в интерактивном режиме вставлять и редактировать гауссианы (до 15) для гаусс-анализа источников. Если параметр Y position равен нулю, то вертикальное положение гауссианы определяется автоматически. Если задать значение Y position 6000, гауссиана будет рисоваться на уровне 6000K.
Если Clear отмечена галочкой, то значение Theta (полуширина гауссианы) отображается за вычетом полуширины горизонтальной диаграммы на данной волне.
 

__________
Qclear=Ц Q2vis-Q2hor

Calc=>Surf3D

Для вычисления матрицы двумерного представления  (Surf, Contour)  спектров сканов надо выделить группу сканов (функция View=>Scan Group)  или нажать кнопку ALL. При выборе функции появляется диалоговое окно, в котором надо указать формат файла вывода (BMP, FITS или ASCII) и другие параметры. При создании BMP файла используется палитра из файлаbitmap3d.palили другого, указанного в File=>SetInitDir=>3D Palette File
 

Calc=>Magnetic Field

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

Calc=>FITS convolution

При загрузке двумерного изображения (белый свет, рентген, магнетограмма и т.п.) запрашивается три параметра- 1)уровень шумов карты (для свертки с диаграммой РАТАН),  2)знак позиционного угла (для поворота карты на угол, под которым диаграмма РАТАН сканирует Солнце  в день наблюдения) и 3)уровень нуля для прорисовки карты в окне отображения. Рабочий массив (Worksheet) заменяется результатом свертки карты с диаграммой РАТАН. Последнее пустое окошко в Toolbar предназначено для задания смещения двумерного изображения по вертикали (в пикселах).

Calc=>Sun Template

Построение шаблона “спокойного” солнца. Шаблон в виде круга, с поправкой на  уярчение к краю и экваториальную активность умножается на коэффициент солнечной активности. В зависимости от выбора метода активности поправка (которая берется равной 1 на волне 2 см), интерполируется на другие волны.

Calc=>Spectral Line

Поиск спектральных линий. Первый параметр задает  отношение амплитуд на частоте линии и соседних частотах.  Первая галочка опрделяет, в каких единицах ищется линия- в антенных температурах (К) или интенсивности (Ян). Вторая галочка определяет, от какого уровня отсчитываетчя амплитуда линии- от нуля или от табличного значения антенной температуры Солнца на данной волне (значения берутся из файла sh-fits.cfg).




View=>Local Graph
Открывается графическое окно, в котором будет отображаться спектр,   вычисляемый при двойном щелчке левой кнопкой мыши на скане (спектр антенных температур, соответствующий x-координате курсора), или при выполнении функции Calc=>Full Flux (спектр плотностей потока от видимого участка скана)

 

View=>Scan Group

Функция выбора группы сканов для демонстрации и работы. При вызове функции появляется следующее окно диалога.

View=>Scan Group=>View Group


Выбор способа представления группы сканов (см. функцию Scan Group)

View=>Set View

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


Frq  - отображение в списке длин волн при работе с группой
Date - отображение в списке дат при работе с группой
Time - отображение в списке дат и длин волн


View list - показ списка при работе с группой
Color  -включение цветного отображения сканов
Fits Image - показ подгруженного двумерного изображения

List(in/out) - отображение списка внутри или снаружи рисунка со сканами
Dig.Frame Включение оцифровки шкал.
Sun Disk Прорисовка солнечного диска с учетом позиционных углов.

View Scale - показ оцифровки шкал
View wrk-gauss - отображение разности между сканом и гауссианами при гаусс- анализе
Center Sun - отображение положения оптического центра и краев Солнца



Show scans
Intensity Data - отображение массива Data первой (R , R+L) поляризации
Intensity worksheet - отображение массива Work первой (R , R+L) поляризации
Polarization Data - отображение массива Data второй (L , R-L) поляризации
Polarization worksheet - отображение массива Work второй (L , R-L) поляризации


View <All> Message - отображение предупреждающего сообщения при работе с группой.

 Spec.Func

Выпадающее меню инициализируемое при подключении динамических библиотек функций находящихся в подкаталоге STARTUP. Интерфейс подключения библиотек подробно описан в пункте .ПОДКЛЮЧАЕМЫЕ БИБЛИОТЕКИ. По умолчанию в подкаталоге находится динамическая библиотека smoothfn.dll содержащая функции расчета нелинейного фона разработанные В.С. Шергиным и Б.Л. Ерухимовым.

Script

Выпадающее меню которое инициализируется при подключении скриптов из каталога Script. Имя каталога может быть изменено через диалог настройки программы File=>Set InitDir. Элементы меню называются именами файлов (без расширения spt) из указанного каталога. Файлы скриптов имеют структуру, подобную файлам для пакетной обработки, но состоят только из секции [Commands]. Указанные команды выполняются только над уже загруженными данными.
 
step1.spt
[Commands]
FlagAllScan=1 
ViewWorkI=1
ViewWorkV=1
IVtoRL=1
ViewDataI=0
ViewDataV=0
FindScanGreatGHz=10
CalibrQuietSunTa
CalcCenterVscan=1
step2.spt
[Commands]
FlagAllScan=1
SetRangeRSun=-2.5 2.3
SubTailOfScan=3
ViewFullScan
IVtoRL=1
MedianSmooth=12
GaussSmooth=-0.3
FindScanGreatGHz=4
CalibrQuietSunTa
step3.spt
[Commands]
;ViewScansGroup=3 #0.955 0.985 1.015  1.045  1.670
ViewRangeGroup=3  0.955  1.6
FlagAllScan=1
MoveScan=-100
ViewScansGroup=0
CopyWorkSheetToData
SetRangeRSun=-2 2
ViewCenterSun=1
ViewScanList=1
step3.spt
[Commands]
FlagAllScan=1
ViewFullScan
CorrAutoMoveLR
CopyWorkSheetToData
SetRangeRSun=-2 2
step4.spt
[Commands]
ViewScansGroup=3 #1.015 1.95 2.95 4.27 6.95 10.35 14.25 15.65
ViewScanList=1
XScanList=1
ViewDigitFrame=1

ПАКЕТНАЯ ОБРАБОТКА ФАЙЛОВ

В программе реализована функция пакетной обработки файлов. Для этого нужно создать файл сценария обработки с расширением pkf и загрузить его через меню File=>Load PackFile или как параметр командной строки: scanwrk.exe –pk filename.pkf.

Файл сценария имеет следующую структуру:

[Init]

AppHide=1 ;если значение равно 1 приложение не отображает главное окно.
AppExit=1 ;если значение равно 1 приложение закрывается после завершения пакетной обработки.
OutFile=MyLog.txt ; имя log файла

OutPrefix=p_ ; префикс создаваемых файлов, если явно не задано имя
FileMask=*.* ; маска обрабатываемых файлов, если значение не задано, то обрабатываются файлы из [Files]
OutDir=c:\out ; директорий, где сохраняются полученные результаты.

InDir=c:\in ; директорий, где располагаются входные файлы
[Files] – список входных файлов, если не задано значение FileMask
file1.wsf
file2.fit
file3.0hd

[Commands] – список выполняемых команд.

Command1
Command2
…………..
CommandN

Примеры пакетных файлов:
 
файл line.pkf
[Init]
AppHide=1
AppExit=0
OutFile=Log.txt
OutPrefix=p_
FileMask=*.fit
OutDir=d:\2000
InDir=d:\2000

[Commands]
FlagAllScan=1 
ViewWorkI=1
ViewWorkV=1
CalibrQuietSunTa
SetNoiseLevel=100
FindSpectralLine=1.3 0 0
 

файл my_pack.pkf
[Init]
AppHide=0
AppExit=0
OutFile=MyLog.txt
OutPrefix=p_
FileMask=*.fit
OutDir=c:\tmp1
InDir=c:\tmp1

[Files]
file1.wsf
file2.fit
file3.0hd

[Commands]
FlagAllScan=1 
FindScanGreatGHz=13.400
CalcCenterVscan=1
IVtoRL=1
CopyWorkSheetToData
FlagAllScan=0
FindScanGHz=6.5
ViewWorkI=0
Scan*N=-1

ViewWorkI=1
FindScanGHz=00.985
MoveScan=-100
FindScanGHz=01.015
MoveScan=-100
FindScanGHz=01.045
MoveScan=-100
FlagAllScan=1
SetRangeRSun=-1.5 1.5
CalibrFullFlux
ViewFullScan
SetRangeRSun=-3.0 3.0
CorrAutoMoveLR
CopyWorkSheetToData
SaveWorkSheet=0 1
;SaveWorkSpace
SetRangeRSun=-1.05 1.05
ViewWorkI=1
ViewWorkV=0
CalcSurf3D=2 1 1 1 #%s_I.bmp
ViewWorkI=0
ViewWorkV=1
CalcSurf3D=2 1 1 1 #%s_V.bmp

 

Список возможных команд

Команда имеет следующий формат Command=arg1 arg2 arg3 arg4 #ExtString, где

arg1 arg2 arg3 arg4 –возможные числовые аргументы команды

#ExtString –возможное строковое значение команды, если задано строка начинается #%sExtString, то выходная строка будет иметь следующий вид: ВходнойФайлExtString

Если команда начинается со знака + , то данная команда будет выполнена при успешном результате последней из следующих выполненных команд: FindScanGreatGHz, FindScanGHz .
 
Command Menu Arguments
DeleteMagField View~Screen~Delete MagField  
FindMagField Calc~Magnetic Field Arg1-polarization minimum 
FindSpectralLine Calc~Spectral Line Agr1-Line Scale; Agr2- Ta or Int; Arg3- Min Scale
NonLinearReg Scan~Correction~Non-linear reg  
QuietPointTa Scan~Calibration~Quiet Point Ta  
SaveWorkSpace File~Save~WorkSpace ExtString- Output file name 
CorrAutoMoveLR Scan~Correction~Auto move LR  
EqNull Scan~Modification~Eq.Null Arg1- 0 or 1
GroupScanMin Transform~Group scan min  
GroupScanAver Transform~Group scan aver  
MinRelCsun Scan~Modification~Min rel Csun  
CopyRelCsun Scan~Modification~Copy rel Csun  
CalcSigma Calc~Sigma  
CalcCenterVscan Scan~Correction~Center Vscan Arg1- 0 or 1
ScanSubScan Transform~Scan sub scan  
CalcEqualStep Transform~Equal Step  
CorrLineTail Scan~Correction~Line tail Arg1- number of points
CalcCorrelation Calc~Correlation Arg1- 0 or 1
CorrEqualLength Transform~Equal Length  
MoveScan Move Scan Arg1- number of points
CalibrBlackBody Scan~Calibration~Black body Arg1- calibration Ta 
CorrOverturn Scan~Correction~Overturn  
TaToFlux Scan~Modification~Ta[K]=>Flux  
MoveLfromR Scan~Correction~Move L from R Arg1- number of points
CalcCenterSun Transform~Center Sun Arg1- 0 or 1
CalcWideGauss Scan~Correction~Wide Gauss  
ExportPicture File~Export… Arg1- width; Arg2- height; Arg3- type(1-eps;3-wmf); Arg4- thick pen #OutFileName
CalcSurf3D Calc~Surf3D Arg1- type(0-ASCII;1-FITS;2-BMP); Arg2- sort(0-wavelength;1-frequensy); Arg3- view header(0 or 1); Arg4- view scan position (0 or 1); #OutFileName
CalcAbsValue Scan~Modification~ABS[Wrksh]  
CorrRLCrossTalk Scan~Correction~RL Cross-Talk Arg1- value
SaveToPirat File~Wrksh to PIRAT  
DeleteGauss View~Screen~Delete Gauss  
CalcScanDerive Scan~Modification~Derive  
CalcScanPolarization Scan~Modification~Polarization  
CalcLine Scan~Modification~Line  
CalibrFullFlux Scan~Calibration~Full Flux  
CalibrQuietSunTa Scan~Calibration~Quiet Point Ta  
CalcFullFlux Calc~Full Flux  
GaussAnaliz Calc~Gauss Flux Arg1- gaussian number; Arg2- flag background( 0 or 1)
ScanDelete Scan~Delete  
IVtoRL Scan~Modification~I,V? R,L Arg1- flag (0 or 1)
DataSubWorkSheet Scan~Modification~Data--Wrksh  
Scan*N Scan~Wrksh*N Arg1- N
Scan+N Scan~Wrksh+N Arg1- N
SubTailOfScan Scan~Modification~Line tail Arg1- flag(0-auto;1-right;2-left; 3-center)
CopyDataToWorkSheet Scan~Data->Wrksh  
CopyWorkSheetToData Scan~Wrksh->Data  
ViewFullScan View~Screen~Full scan  
DataClear File Clear  
GaussSmooth Scan~Smooth~Gauss Arg1- value [“]
MedianSmooth Scan~Smooth~Median Arg1- value [“]
TemperatureScaling    
SaveData File~Save~Data  
SaveWorkSheet File~Save~WorkSheet Arg1- type(0-bynary; 1-ascii); Arg2-type(0-header, 1-fits);#OutFileName
ViewSunDisk View~Screen~Sun Disk Arg1- 0-off;1-on
ViewRangeGroup View~Scan Group~Scan Group Arg1-form(0-ungroup,1-group,2-array,3-vert, group); Arg2- min frequency; Arg3- max frequency.
ReloadIniSection    
SetNoiseLevel File~Set IniDir Arg1- noise value
FindScanGreatGHz   Arg1- frequency
ViewScansGroup View~Scan Group~Scan Group Arg1-form(0-ungroup,1-group,2-array,3-vert, group); Arg2- flag frequency; #list (ex.: #1.2 2.1 3.0 4.5 )
ViewFormGroup View~Scan Group~View Group Arg1-form(0-ungroup,1-group,2-array,3-vert, group).
XScanList View~Set View Arg1– 0-off, 1-on
ViewScanList View~Set View Arg1– 0-off, 1-on
ViewData-Gauss View~Set View Arg1– 0-off, 1-on
ViewColor View~Set View Arg1– 0-off, 1-on
ViewFormList View~Set View Arg1– flag(1–FrqList; 2-DateList; 3-DateFrqList)
ViewCenterSun View~Set View Arg1– 0-off, 1-on
ViewEqualScale View~Screen~Equal Scale Arg1– 0-off, 1-on
ViewDigitFrame View~Screen~Digit Frame Arg1– 0-off, 1-on
FindScanGHz   Arg1-frequency
SetRangePoint   Arg1-min point; Arg2-max point.
SetRangeRSun   Arg1-min point; Arg2-max point.
ViewWorkV View~Set View Arg1– 0-off, 1-on
ViewWorkI View~Set View Arg1– 0-off, 1-on
ViewDataV View~Set View Arg1– 0-off, 1-on
ViewDataI View~Set View Arg1– 0-off, 1-on
FlagAllScan   Arg1– 0-off, 1-on

 

ПОДКЛЮЧАЕМЫЕ БИБЛИОТЕКИ

Во время работы программа Work Scan через элементы меню Spec.Func использует функции находящиеся в динамических библиотеках в подкаталоге STARTUP. Пользователь может подключить к программе Work Scan собственные функции обработки данных создав свою динамическую библиотеку и расположив ее в подкаталоге STARTUP. Для связи с библиотеками программа Work Scan использует структуру SF_INIT и вызовы функций: InitSDllMenu , SelectDllFunction .

 Структура SF_INIT

struct SF_INIT

{
 
int Npix, //общее количество элементов массива Work
int nbeg, //номер начального элемента выделенного участка массива Work
int nend, //номер последнего элемента выделенного участка массива Work
int wParam, //идентификатор выбранного элемента меню Spec.Func
int FlagDialog; //флаг инициализации диалога (при вызове функции равен TRUE)
char *Object,  //ссылка на строку содержащую объект наблюдения
char *DateObs,  //ссылка на строку содержащую дату наблюдения
char *TimeObs; //ссылка на строку содержащую время наблюдения
float Frq, //частота наблюдения
float noise, //заданный уровень шумов
float xdel,  //шаг между отсчетами массива Work
float *data; //адрес начального элемента массива Work
HWND hWnd; //идентификатор главного окна программы
LPSTR txt; //ссылка на текстовый массив (при входе в функцию равен NULL)
char TitleEd[64]; //строка для инициализации заголовка окна редактора (пустая)

};

Если при выходе из функций динамической библиотеки txt не равен NULL, создается окно редактора с заголовком TitleEd и содержимым буфера txt. После этого буфер txt удаляется.

Функция InitSDllMenu

void _export InitSDllMenu(HMENU Menu, int Num); - функция инициализации меню Spec.Func. Вызывается при загрузке программы Work Scan в момент подключения динамической библиотеки. Имеет следующие параметры: Menu - указатель на меню Spec.Func , Num - число необходимое при создании идентификаторов меню.

Пример функции:

void _export InitSDllMenu(HMENU Menu, int Num)

{

HMENU menu=CreatePopupMenu();
AppendMenu(menu,MF_STRING|MF_ENABLED,Num+ID_MENU1,"My Func1");
AppendMenu(menu,MF_STRING|MF_ENABLED,Num+ID_MENU2,"My Func2");
AppendMenu(Menu,MF_POPUP|MF_ENABLED,(UINT)menu,"MyDllFunc");

}

Значения собственных идентификаторов (ID_MENU1 и т.п.) должны находится в промежутке от 1 до 99.

Функция SelectDllFunction

void _export SelectDllFunction(HINSTANCE hInst, struct SF_INIT *MyData); - функция вызова функций обработки данных соответствующих выбранному элементу меню Spec.Func. Имеет следующие параметры: hInst - идентификатор модуля Work Scan , MyData - указатель на структуру SF_INIT.

Пример функции:

void _export SelectDllFunction(HINSTANCE hInst, struct SF_INIT *MyData)

{

int Nn,kk;
float *data;
Nn=MyData->nend-MyData->nbeg;
kk=MyData->FlagDialog;
data=MyData->data;
if(kk)

{

DialogBox(...);
MyData->FlagDialog=FALSE;

}

if(MyData->txt==NULL)

{

MyData->txt=new(char[1024]);
strcpy(MyData->TitleEd,’’My Work’’);

}

kk=MyData->wParam;
switch(kk)

{

case ID_MENU1: MyFunc1(data, Nn);break;
case ID_MENU2: MyFunc2(MyData);break;

}

}

УТИЛИТА ChoosedScan

Утилита (Choosed Scan) позволяет из набора файлов с одиночными сканами наблюдений выделить серию, по любой комбинации следующих признаков (Объект, Дата наблюдения, Время наблюдения, Частота наблюдения), для последующей загрузки в программу Work Scan.

Общий вид окна программы:

Главное окно программы состоит из трех списков(Headers, Temp, Save List)

Headers - список содержащий имена заголовочных файлов. При выделении строки списка в строке состояния отображается количество файлов с данными содержащихся в данном заголовочном файле. Двойной щелчок мыши заполняет список Temp именами файлов с данными содержащимися в данном файле заголовка.

Temp - рабочий список содержащий имена файлов с данными выбранными с помощью функций программы. При выделении строки списка в строке состояния отображаются параметры выбранного файла (Объект, частота, дата и время наблюдения). При двойном щелчке выбранный файл копируется в список Save List.

Save List - список содержащий имена выбранных файлов. Результатом сохранения программы является заголовочный файл содержащий имена файлов данного списка. При двойном щелчке мыши выбранный файл удаляется из списка.

Краткое описание функций элементов меню:

File
Open Загрузка файлов содержащихся в выбранном каталоге.
Close Удаление всех данных из программы.
Save List Сохранения списка выбранных файлов.
Work
Clear Tmp Очистка содержимого списка Temp
Clear Save Очистка содержимого списка Save List
Tmp->Save Копирование содержимого списка Tempв список Save List

Функции выборки данных осуществляются с помощью следующих элементов панели инструментов (ToolBar): списковList1,List2 и кнопки(Global/Local).

Когда кнопка находится в состоянии Global списки List1и List2производят выборки из всех файлов загруженных в программу. При состоянии Localвыборки производятся из содержимого списка Temp.

List1 - содержит следующие поля:

All - заполняет список Temp именами всех файлов загруженных в программу.
Frequency - заполняет список List2 имеющимися частотами
Object - заполняет список List2 имеющимися названиями объектов
Observ.Date - заполняет список List2 имеющимися датами наблюдений
Observ.Time - заполняет списокList2 имеющимися временами наблюдений
List2 - при выборе элемента списка, оставляет в списке Temp имена файлов удовлетворяющие выбранному элементу.



Литература
1. Гараимов В.И. Обработка массивов одномерных вектров данных в ОС Windows. Программа Work Scan- версия 2.3. Нижний Архыз, 1997 (препринт САО РАН)