Отдел DSLPP | Реферат диссертации
<Предыдущий раздел | Оглавление

Приложение А. Фотометрические координаты

Исследователи, занимающиеся вопросами поверхностной фотометрии планет, часто используют так называемую фотометрическую систему координат, в которой фотометрические условия наблюдения в каждой точке на поверхности планеты определяются фотометрической широтой j, фотометрической долготой l и углом фазы a. Такое представление эквивалентно более распространённому, когда фотометрические условия наблюдения определяются более наглядными параметрами: i – угол падения света, e - угол отражения (рассеяния, наблюдения) и y - разность азимутов падающего и отраженного лучей. Эти два набора параметров связаны следующими соотношениями:

(А.1)

(А.2)

(А.3)

Геометрический смысл фотометрических координат заключается в том, что при наблюдении планеты с бесконечного расстояния они являются полноправными сферическими координатами (широтой и долготой) на поверхности планеты, отсчитываемыми от условного фотометрического экватора, проходящего через поднаблюдательную (где e=0) и подсолнечную (где i=0) точки. При этом долгота отсчитывается от поднаблюдательной точки в направлении подсолнечной точки, а широта – от фотометрического экватора вдоль меридиана, проходящего через наблюдаемую точку.

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

 

Приложение Б. Косая внешняя перспективная проекция

При обработке данных панорамных наблюдений планет исследователи, как правило, имеют дело с изображениями планет, представленными, в общем случае, в косой внешней перспективной картографической проекции [52] (в основном, это касается наблюдений Луны и Солнца, к которому в данном случае будем тоже применять термин "планета", а также наблюдений других планет с приближающихся к ним космических аппаратов).

Как правило, цифровые изображения объектов в такой проекции представляют собой прямоугольные матрицы точек с координатами на плоскости x, y (пусть для определенности ось x направлена вправо, а ось y – вверх). Однако часто бывает нужно вычислить планетографические или фотометрические координаты точки с заданными координатами x, y или, наоборот, вычислить x и y по заданным планетографическим или фотометрическим координатам. Приведём точные формулы для таких вычислений, представив их в виде, наиболее удобном для программирования. При этом будем считать, что планета имеет форму шара (этого вполне достаточно для Луны). Также будем подразумевать, что косая перспективная проекция задана с помощью следующего набора параметров: x0, y0 – координаты поднаблюдательной точки на плоскости проекции, R – радиус изображения планеты (например, в пикселах), D – расстояние от центра планеты до наблюдателя (в радиусах планеты), b0, l0 – планетографические координаты поднаблюдательной точки, x - позиционный угол центрального меридиана планеты, отсчитываемый от положения "север – вверху" и увеличивающийся при повороте изображения против часовой стрелки. Для вычисления фотометрических координат также понадобятся планетографические координаты подсолнечной точки bS и lS. Отметим, что параметры b0, l0, bS и lS можно взять из Астрономического ежегодника, а остальные параметры нужно находить при определении положения планеты на изображении.

 

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

1. Переход от системы координат на плоскости проекции к системе прямоугольных координат x1, y1, z1, центр которой находится в центре планеты, ось z1 направлена на наблюдателя, а оси x1 и y1 параллельны и сонаправлены осям x и y на плоскости проекции соответственно:

(Б.1)

где , , , ,

(Б.2)

(Б.3)

где (величины x, y, x0, y0, R, , r, d измеряются в пикселах, а величины D, rd, r0, x1, y1, z1 – безразмерные и представляют собой расстояния, нормированные на радиус планеты).

2. Переход к системе x2, y2, z2, осуществляемый путём поворота системы координат на позиционный угол x вокруг оси z1 с тем, чтобы ось y2 оказалась направленной вдоль центрального планетографического меридиана:

(Б.4)

(Б.5)

(Б.6)

3. Переход к системе x3, y3, z3, осуществляемый путём поворота системы координат на угол b0 вокруг оси x2 (лежащей в плоскости экватора планеты) с тем, чтобы ось y3 оказалось направленной на северный полюс планеты:

(Б.7)

(Б.8)

(Б.9)

4. Переход от прямоугольных координат к сферическим:

(Б.10)

(Б.11)

причём, если z3 отрицательно, то l в (Б.11) следует увеличить или уменьшить на 180°, устранив тем самым неоднозначность функции arctg.

 

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

1. Переход от сферических координат к прямоугольным:

(Б.12)

(Б.13)

(Б.14)

2. Переход к системе x2, y2, z2, осуществляемый путём поворота системы координат на угол b0 вокруг оси x3 (лежащей в плоскости экватора планеты) с тем, чтобы ось z2 оказалось направленной на наблюдателя:

(Б.15)

(Б.16)

(Б.17)

3. Переход к системе x1, y1, z1, осуществляемый путём поворота системы координат на позиционный угол x вокруг оси z2 с тем, чтобы оси x2 и y2 оказались параллельными и сонаправленными осям x и y на плоскости проекции соответственно:

(Б.18)

(Б.19)

(Б.20)

4. Переход к системе координат на плоскости проекции:

(Б.21)

(Б.22)

где , . Причём, если z1>1/D, то рассматриваемая точка находится на видимой стороне планеты, в противном случае – на обратной.

 

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

1. Переход от системы координат на плоскости проекции к углам e (угол отражения) и DA (разность азимутов рассматриваемой и подсолнечной точек в поднаблюдательной точке):

(Б.23)

(Б.24)

где , , . Причем, если y<0, то DA следует увеличить или уменьшить на 180°, устранив тем самым неоднозначность функции arctg. Азимут подсолнечной точки AS можно вычислить следующим образом:

(Б.25)

(Б.26)

где a0 – угол фазы для центра планеты. Причём, если угол lS-l0 находится в интервале от 180° до 360°, то у AS следует изменить знак на противоположный, устранив тем самым неоднозначность функции arccos.

2. Переход от углов e и DA к фотометрическим координатам j и l:

(Б.27)

(Б.28)

причем, если угол DA находится в интервале от 180° до 360°, то у l следует изменить знак на противоположный, устранив тем самым неоднозначность функции arccos. Здесь также может быть вычислен угол фазы a для рассматриваемой точки, который отличается от угла фазы для центра планеты a0 из-за конечности расстояния D. Точные формулы для его вычисления достаточно громоздки, поэтому приводить их здесь не будем. Тем более что в большинстве задач отличием a от a0 можно пренебречь.

 

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

1. Переход от фотометрических координат j и l к углам e и DA:

(Б.29)

(Б.30)

причем, если угол l находится в интервале от 180° до 360°, то значение DA следует заменить на 180°-DA, устранив тем самым неоднозначность функции arcsin.

2. Переход от углов e и DA к координатам на плоскости проекции:

(Б.31)

(Б.32)

где , , , а AS вычисляется по формуле (Б.26).

 

Приложение В. Редактор заголовков HeadEdit

Один из компонентов системы IRIS – приложение HeadEdit – был полностью разработан автором диссертации [23].

Редактор HeadEdit - составная часть системы IRIS. Он предназначен для отображения и редактирования сопроводительной информации к данным. Эта информация может содержаться как в текстовых файлах (тогда HeadEdit выступает в качестве текстового редактора), так и в заголовках файлов данных. Обладая всеми основными возможностями текстового редактора, HeadEdit также позволяет редактировать заголовки файлов данных различных форматов. В первую очередь это формат FITS [24,101], на который ориентирована система IRIS.

FITS (Flexible Image Transport System) - принятый в астрономии международный формат файлов данных (N-мерных массивов, в том числе изображений; расширения файлов .fts, .fit, .fits). FITS-файл обычно состоит из заголовка и массива данных (изображения). Заголовок содержит информацию об изображении (размеры, тип данных и т.д.), в том числе информацию астрономического характера (эфемериды, информацию об объекте, наблюдателе и т.п.).

Формат заголовка - текстовый, но с жёсткими ограничениями. Поэтому обычные текстовые редакторы не могут корректно работать с ним. HeadEdit позволяет редактировать FITS-заголовки в обычном текстовом виде, не обращая внимания на длину строк, их количество и т.п. Кроме этого, в редакторе предусмотрена проверка синтаксиса, что позволяет пользователю быть уверенным в соответствии сохранённых файлов формату FITS.

HeadEdit обеспечивает все основные возможности текстового редактора для работы с FITS-заголовками, а также обладает дополнительными возможностями. Редактор позволяет записать заголовок FITS-файла в виде отдельного текстового файла (расширение .hdr), с которым затем можно работать в любом редакторе. Также есть возможность сменить заголовок FITS, вставив его из другого FITS-файла или из текстового файла, в том числе из сохранённого в HeadEdit hdr-файла. Это бывает удобно при обработке наблюдательных данных.

Помимо формата FITS в HeadEdit имеется возможность редактировать заголовки файлов произвольного формата. Принцип открытости архитектуры, положенный в основу разработки системы IRIS, даёт возможность пользователю самому подключать новые форматы к системе.

HeadEdit имеет встроенный OLE-сервер, позволяющий другим программам, в т.ч. IRIS, конвертировать файлы в FITS-формат и обратно. OLE-функции поддерживают все форматы, подключенные в HeadEdit.

OLE-сервер HeadEdit также позволяет другим приложениям вести журнал работы. В частности, это можно делать из макропрограмм IRIS.

HeadEdit, являющийся составной частью IRIS, тем не менее выступает в качестве модуля расширения к системе, выполняющего определённый набор функций. Далее приведен OLE-интерфейс программы HeadEdit, использование которого может позволить разработчикам Windows-программ использовать все функции HeadEdit, в том числе конвертацию файлов в различные форматы.

OLE-интерфейс. HeadEdit содержит три интерфейса, два из которых (ICytegSrv и IIrisSrv) являются обязательными для модулей расширения IRIS, а третий (IMain) – содержит специфические функции самого HeadEdit. Доступ к функциям этих интерфейсов может быть получен по соответствующим именам классов: 'HeadEdit.CytegSrv', 'HeadEdit.IrisSrv' и 'HeadEdit.Main'. Описание первых двух интерфейсов можно найти в документации к IRIS, третий же интерфейс имеет следующий вид (на языке Object Pascal):

IMain = interface(IDispatch)

  [ uuid '{35A19262-2D3A-11D2-9BCD-00403396C84D}',

  version 1.0,

  helpstring 'Dispatch interface for HeadEdit.Main Object',

  dual, oleautomation ]

  function CytegSrv: IDispatch [propget, dispid $00000001]; safecall; //ссылка на интерфейс ICytegSrv

  function IrisSrv: IDispatch [propget, dispid $00000002]; safecall; //ссылка на интерфейс IIrisSrv

  procedure ScrollDown [dispid $00000003]; safecall; //показать последнюю строку текста

  function OpenLog(FileName: WideString; Show: OleVariant): Integer [dispid $00000004]; safecall; //открыть лог-файл с именем FileName; Show – отображать ли его содержимое в окне редактора (Boolean); результат – ID нового лог-файла

  procedure CloseLog(LogIndex: Integer) [dispid $00000005]; safecall; //закрать лог-файл с указанным ID (LogIndex)

  function AddToLog(LogIndex: Integer; Text: WideString; Color: Integer): OleVariant [dispid $00000006]; safecall; //добавить текст (Text) в лог-файл с указанным ID (LogIndex); Color – цвет для отображения текста; результат – завершилась ли функция удачно (Boolean)

  function FormatOf(FileName: WideString): WideString [dispid $00000007]; safecall; //выдает формат указанного файла

  function ConvertToFITS(Format, Source, Destination: WideString): WideString [dispid $00000008]; safecall; //конвертировать файл Source формата Format в FITS и записать его под именем Destination; результат – имя файла-результата, если Destination=''

  function ConvertFITSTo(Format, Source, Destination: WideString): WideString [dispid $00000009]; safecall; //конвертировать FITS-файл Source в формат Format и записать его под именем Destination; результат – имя файла-результата, если Destination=''

  function FormatSetup: OleVariant [dispid $0000000A]; safecall; //отобразить окно настроек форматов в IRIS

  function GetFormats: OleVariant [dispid $0000000B]; safecall; //выдает список зарегистрированных в IRIS форматов; результат – массив строк

end;

 

Приложение Г. Описание FITS-заголовка

При работе с FITS-заголовками автор диссертации использовал, кроме стандартного набора переменных [101], переменные, предложенные В. В. Корохиным [30], а также переменные, введенные самим автором. Здесь приведен полный набор этих переменных, использующийся при фотометрических исследованиях планет.

Все переменные имеют вещественный тип, кроме тех, для которых в скобках указан другой. Все угловые переменные измеряются в градусах.

Параметры фотометрии.

'KHAO OBJ_PHAS' – угол фазы

'KHAO OBS_OLAT' – планетографическая широта наблюдателя

'KHAO OBS_OLON' – планетографическая долгота наблюдателя

'KHAO SOL_OLAT' – планетографическая широта Солнца

'KHAO SOL_OLON' – планетографическая долгота Солнца

'KHAO OBJ_DIST' – расстояние от наблюдателя до планеты (в радиусах планеты)

Параметры изображения.

'KHAO OBJ_IR ' – радиус изображения планеты (в пикселах)

'KHAO OBJ_IP0 ' – позиционный угол изображения планеты

'KHAO OBJ_ID ' – расстояние от наблюдателя до планеты как параметр перспективной проекции (в радиусах планеты)

'KHAO OBJ_IB0 ' – планетографическая широта центра перспективной проекции

'KHAO OBJ_IL0 ' – планетографическая долгота центра перспективной проекции

'KHAO OBJ_IX0 ' – прямоугольная координата X центра перспективной проекции (в пикселах)

'KHAO OBJ_IY0 ' – прямоугольная координата Y центра перспективной проекции (в пикселах)

'KHAO OBJ_ISX ' – масштаб изображения по оси X (R/Rx)

'KHAO OBJ_ISY ' – масштаб изображения по оси Y (R/Ry)

Параметры совмещения изображений.

'KHAO COMB_ET ' (строка) – имя файла-эталона

'KHAO COMB_ANG' – относительный позиционный угол

'KHAO COMB_DX ' – смещение по оси X (в пикселах)

'KHAO COMB_DY ' – смещение по оси Y (в пикселах)

'KHAO COMB_M ' – относительный масштаб

'KHAO COMB_DXX',

'KHAO COMB_DYY',

'KHAO COMB_DXY',

'KHAO COMB_DYX' – коэффициенты матрицы бесконечно малых линейных преобразований

Параметры отождествления опорных точек.

'KHAO BP_Nxxxx' (строка) – координаты опорной точки № xxxx (например, BP_N0064), представленные в текстовом виде (например, 'x=438.0, y=488.0') 

<Предыдущий раздел | Оглавление