Так как простейшие методы интегрирования градиента волнового фронта не показали себя надежными, попробую следующий шаг - разложение по полиномам Цернике.
Ортогональность полиномов Цернике в окружности единичного радиуса и их
несложная форма позволяют перейти от описания оптической поверхности через
координаты ограниченного количества узлов к описанию через коэффициенты
первых N полиномов.
Для восстановления волнового фронта, исходя из знаний лишь о его градиентах в
конечном количестве точек, необходимо разложить матрицу градиентов по
производным полиномов Цернике. Однако, эти производные не являются
ортогональными, поэтому разложение может быть неточным. Поэтому в разложении
поля градиентов волнового фронта по конечному набору полиномов используется
такой набор ортогональных многочленов, из которых можно арифметическими
операциями получить производные многочленов Цернике.
В некоторых случаях вместо многочленов Цернике могут применяться другие
многочлены, ортогональные на кругу или на кольце (для зон с центральным
экранированием).
В нотации Нолля (Noll) полиномы Цернике записываются так:
(1)
где
Здесь Zx - полином Цернике индекса x; n - степень радиальной координаты; m - множитель угловой координаты (m ≤ n и (n-m) должно быть четным числом).
Продифференцировав (
1), получим:
(2)
где
Эти градиенты полиномов Цернике не являются ортогональными (см.
Жао, 2007). Следуя Жао, построим ортонормированный
векторный базис на основе метода ортогонализации Грэма-Шмидта (Gram-Schmidt),
используя декартово представление (
2).
Так как grad Z₁=0, в построении полиномов будут использоваться градиенты с индексом, большим 1. Для всех j при n=m получим:
(3)
а для всех j при n ≠ m
(4)
где j-j' четно при m ≠ 0.
Так как градиенты полиномов Цернике являются линейной комбинацией этих полиномов, а базис Sj является линейной комбинацией градиентов, то этот базис является линейной комбинацией полиномов Цернике:
Для вычисления коэффициентов, а также индексов при соответствующих полиномах Цернике, Жао предложил табличный способ, поддающийся алгоритмизации.
Раскладывая векторную функцию V(x,y), заданную на единичной окружности, по базисуSj, можно из(
3) и (
4) определить скалярный базис φ, для которого Sj=grad φ. Для всех j при n=m
и для всех j при n ≠ m
где j-j' четно при m ≠ 0.
Итак, пусть волновой фронт представлен функцией Ф(x,y), заданной на единичной окружности и нам известно поле градиентов этой функции, V=grad Ф. Найдя разложение этого поля по конечному количеству членов базиса, S, получим коэффициенты разложения, αj: V=Σj=2n αjSj. Используя эти коэффициенты восстанавливается функция Ф с точностью до постоянного слагаемого.
Недостатком векторного базиса S, определенного через градиент скалярного поля является то, что ротор этого поля равен нулю (это имеет значение в интерферометрии, но не в гартманновском восстановлении волнового фронта), т.е. в этом базисе нельзя будет разложить ротороподобную функцию. Создать полноценный векторный базис можно, добавив к S компоненту T = rot P (Жао, 2008).
Теперь остается изучить существующие алгоритмы разложения волнового фронта по полиномам Цернике, модифицировать наиболее простой из них для разложения градиентов по описанному ортонормированному векторному базису (для начала - хотя бы без роторной компоненты), а затем уже провести реконструкцию. О результатах буду писать.