Снимки экрана на английском
Интерфейс IPAnalyzer в настоящее время локализован только на английский и японский языки, поэтому снимки экрана на этой странице показаны на английском, даже если текст переведён.
Обзор¶
IPAnalyzer преобразует кольца Дебая–Шеррера, зарегистрированные с помощью Imaging Plate (IP) или детекторов CCD/CMOS, в одномерные дифракционные профили — с высокой точностью и быстродействием. Его архитектура и функции созданы по образцу PIP, разработанного Hiroshi Fujihisa в National Institute of Advanced Industrial Science and Technology (AIST).
Основные возможности:
- Поддержка широкого набора форматов изображений (FujiBAS2000/2500, R-AXIS4/5, ITEX, Bruker CCD, IP Display, IPAimage, Fuji FDL, Rayonix, Mar research, Perkin Elmer, ADSC, RadIcon и общих форматов изображений)
- Рентгеновские, электронные и нейтронные источники
- Интеграция с PDIndexer
- Полуавтоматический анализ параметров измерения
Системные требования и установка¶
Требования¶
- ОС: Windows (рекомендуется Windows 11)
- Необходимая среда выполнения: .NET Desktop Runtime 10.0
- Рекомендуемая память: 16 GB или более
- Рекомендуемый процессор: 8 ядер или более
Внутри программа интенсивно использует многопоточные вычисления, поэтому процессор с большим числом ядер обеспечивает более комфортную работу. Интенсивности изображения хранятся внутри как значения с плавающей точкой двойной точности.
Программа распространяется под лицензией MIT.
Установка¶
- Заранее установите .NET Desktop Runtime 10.0.
- Скачайте
IPAnalyzerSetup.msiсо страницы релизов на GitHub. - Запустите
IPAnalyzerSetup.msiдля установки.
Ориентация осей, наклон IP и форма пикселя¶
IPAnalyzer использует правостороннюю систему координат с началом и направлениями осей, определёнными следующим образом.
- Точка пересечения рентгеновского или электронного пучка с IP (прямое пятно) принимается за начало координат (0, 0, 0), а ось Z совпадает с направлением пучка.
- Считая размер образца бесконечно малым, расстояние между положением образца и началом координат определяется как длина камеры (Camera Length, CL). Таким образом, образец находится в точке \((0,\ 0,\ -\mathrm{CL})\).
- Ось X совмещена с направлением сканирования считывающего лазера IP, когда IP не наклонена. Поэтому ось Y направлена вниз по экрану.
- Наклон IP выражается как поворот вокруг прямой, лежащей в плоскости XY и проходящей через начало координат: поворот на \( \tau \) вокруг прямой, составляющей угол \( \varphi \) с осью X.
- Форма пикселя рассматривается как параллелограмм, описываемый PixSizeX, PixSizeY и \( \xi \). Ненулевое \( \xi \) означает, что есть смещение в начальном положении сканирования считывающего лазера IP. Программа предполагает, что это смещение постоянно вдоль оси Y.
Длина камеры, \( \varphi \), \( \tau \), размер пикселя и \( \xi \) задаются на вкладке IP Condition окна свойств (см. 2. Property Windows).
Связь с (WIN)PIP¶
В IPAnalyzer ось X (направление вправо на изображении IP) поворачивается по часовой стрелке на \( \varphi \), а полученная ось затем поворачивается на \( \tau \). В PIP ось Y (направление вниз на изображении IP) поворачивается против часовой стрелки на \( \beta \), а полученная ось затем поворачивается на \( \Phi \). Поэтому для преобразования \((\beta,\ \Phi)\) из PIP в \((\varphi,\ \tau)\) из IPAnalyzer используйте \((\beta,\ \Phi) \rightarrow (270^\circ - \beta,\ \Phi)\).
Метод интегрирования интенсивности пикселей¶
Центральная задача при одномеризации — как распределить между шагами интегрирования интенсивность пикселя, который попадает сразу в несколько шагов; это происходит, когда угловой интервал шага меньше интервала пикселей (то есть размера пикселя).
Программа вычисляет пересечения между линиями, ограничивающими каждый шаг, и пикселем, и распределяет интенсивность, находя площадь пикселя, содержащуюся в каждом шаге. Чтобы обрабатывать случаи, когда пиксель не является строго квадратным — из-за наклона IP или искажения формы пикселя, — координаты четырёх углов каждого пикселя вычисляются последовательно для определения его четырёхугольной формы. В принципе это позволяет распределять интенсивность пикселя плавно по шагам, насколько бы малыми эти шаги ни были сделаны.
Этот алгоритм применяется не только для обычного интегрирования угол–интенсивность (Concentric Integration), но и для интегрирования вдоль окружности (Radial Integration) и для вычисления развёрнутого изображения (Unrolled Image).