English | 日本語 | Deutsch | Français | Español | Italiano | Русский | 简体中文 | 繁體中文 | 한국어 | Português
ReciPro — бесплатная кристаллографическая программа с открытым исходным кодом и графическим интерфейсом, предназначенная для решения самых разных задач. Она обеспечивает удобный доступ к функциям поиска по кристаллографическим базам данных, визуализации кристаллических структур и настроек гониометра, моделирования дифракционных картин и изображений высокоразрешающей микроскопии, а также анализа дифракционных данных. Эти функции связаны между собой в удобном графическом интерфейсе, а результаты отображаются синхронно, практически в реальном времени. ReciPro будет полезна широкому кругу кристаллографов (в том числе начинающих), работающих с рентгеновской, электронной и нейтронной дифракцией, а также с ПЭМ.
ReciPro непрерывно разрабатывается с 2002 года и доступна на GitHub с марта 2020 года. Программа была загружена с GitHub более 27 000 раз и используется сотнями пользователей более чем в десятке лабораторий университетов и компаний.
Как пользоваться программой, см. в руководстве!
Recipro_Demo.mp4
ReciPro разрабатывается Seto Y. и Ohtsuka M.. Функции и алгоритмы описаны в статье.
Если вы используете ReciPro в научной работе, воспользуйтесь ссылкой Cite this repository на странице репозитория GitHub. Метаданные для цитирования содержатся в файле CITATION.cff; предпочтительной является следующая статья:
При необходимости можно также сослаться на сам репозиторий программы:
- Репозиторий: https://github.com/seto77/ReciPro
- Выпуски: https://github.com/seto77/ReciPro/releases/latest
- Загрузите ReciPro-setup.msi (прямая ссылка на последнюю версию) и запустите файл. Его также можно найти на странице выпусков. (До версии 4.939 установщик назывался ReciProSetup.msi.)
- ReciPro работает в Windows при наличии .Net Desktop Runtime 10.0 (НЕ .Net Runtime 10.0), который можно установить отсюда.
- Если запустить установщик невозможно (например, на компьютерах с ограниченными правами), на странице выпусков доступен портативный ZIP-пакет (ReciPro-v.X.XXX.zip): он самодостаточен, не требует установки и среды выполнения .NET — достаточно распаковать и запустить.
- ReciPro распространяется по лицензии MIT (любой может свободно использовать, изменять и распространять программу).
- О состоянии подписи кода и проверке установщика см. политику подписи кода.
- Сведения о включённых или используемых сторонних компонентах и данных приведены в уведомлениях о стороннем ПО.
- Официально ReciPro поддерживает только Windows, однако сообщалось о её работе на macOS (Apple Silicon) при сочетании портативного ZIP-пакета с оболочкой Wine Sikarugir и драйвером OpenGL Mesa3D — без лицензии Windows и виртуальной машины.
- См. пошаговое руководство, опубликованное Ryo Fukushima (JAMSTEC): https://github.com/Ryo-fkushima/ReciPro_macOS_memo
- Такая конфигурация официально не поддерживается и полностью не проверена. Известное ограничение: некоторые символы (Å, надстрочные знаки, стрелки) могут отображаться неправильно.
- Искажённые символы можно исправить, установив в префикс Wine шрифты с широким набором глифов (DejaVu Sans/Serif, а для японского интерфейса — Noto Sans CJK JP): ReciPro определяет среду Wine и автоматически переключается на них. Подробности см. в разделе устранение неполадок.
- Загружайте ReciPro только с официальной страницы GitHub Releases: https://github.com/seto77/ReciPro/releases/latest
- В некоторых системах Windows перед запуском установщика может появиться предупреждение Microsoft Defender SmartScreen или Smart App Control. Это возможно для недавно собранного или узко распространяемого научного ПО, и само по себе предупреждение не означает, что установщик вредоносный.
- Если вы хотите самостоятельно проверить загруженный установщик, его можно просканировать мультидвижковым сервисом, например VirusTotal.
Бесплатная подпись кода для Windows предоставлена SignPath.io, сертификат — SignPath Foundation.
Начиная с версии 4.942 артефакты выпуска (установщик ReciPro-setup.msi и портативный ReciPro.exe) подписываются с помощью Windows Authenticode в рамках автоматизированного конвейера выпуска, а каждый запрос на подпись перед публикацией проверяется и вручную утверждается сопровождающим. Полная политика — включая область подписи, способ проверки установщика и порядок сообщения о подозрительных файлах — приведена в CODE_SIGNING.md.
ReciPro — локальное настольное приложение. Оно не собирает, не хранит и не передаёт никаких персональных данных или сведений об использовании и не содержит телеметрии или аналитики. После установки программа работает полностью автономно.
Единственные сетевые соединения ReciPro — это необязательные загрузки, инициируемые пользователем, и ни одна из них не передаёт ваши данные:
- Проверка обновлений (команда меню): сравнивает установленную версию с последним выпуском на GitHub и, по вашему выбору, загружает новый установщик с официальной страницы GitHub Releases.
- База данных COD (Crystallography Open Database): загружается при первом использовании (~880 МБ) с GitHub-зеркала автора, далее используется автономно.
- Библиотека Intel MKL (необязательное ускорение): загружается (~55 МБ) с nuget.org только при включении параметра Use MKL — для ускорения расчётов динамической дифракции.
Встроенная база данных AMCSD и все основные функции работают полностью автономно.
- Онлайн-руководство (английский / японский): https://seto77.github.io/ReciPro/ru/
- Японская версия: https://yseto.net/soft/recipro
- AMCSD (American Mineralogist Crystal Structure Database): более 21 000 кристаллических структур встроены и доступны сразу после установки.
- База данных сильно сжата (~5 МБ) и включена в установочный файл, поэтому доступна и без подключения к сети.
- Кристаллы можно искать по названию, химическому составу, параметрам решётки, плотности, симметрии и входящим элементам.
- Ссылка: Downs & Hall-Wallace, 2003, American Mineralogist 88, 247-250
- COD (Crystallography Open Database): также доступно около 525 000 кристаллических структур, включая органические кристаллы.
- Загружается автоматически при первом использовании (~880 МБ), затем доступна автономно.
- Ссылки: Gražulis et al., 2009, J. Appl. Cryst. 42, 726-729; Gražulis et al., 2012, Nucleic Acids Res. 40, D420-D427
- Импорт и экспорт файлов в форматах CIF и AMC.
- Поддерживается 530 обозначений пространственных групп: 230 стандартных установок ITA + 300 нестандартных установок осей.
- Общие условия (правила погасания), позиции Вайкоффа и кратности для всех пространственных групп.
- Геометрический расчёт периодичности и/или углов между плоскостями и/или осями.
- Генерация эквивалентных положений атомов.
- Простое преобразование между нестандартными установками осей (например, Pbnm в Pnma) и сдвигами начала координат.
- Длины волн и энергии характеристического рентгеновского излучения для элементов от 1H до 98Cf.
- Атомные факторы рассеяния для рентгеновского излучения, электронов и нейтронов.
- Трёхмерная визуализация кристаллических структур на основе архитектуры OpenGL (GLSL).
- Отрисовка атомов, связей, координационных полиэдров, элементарных ячеек, кристаллографических плоскостей, граничных поверхностей и подписей легенды.
- Даже сложные структуры с десятками тысяч атомов отрисовываются плавно и в реальном времени.
- Цвета и размеры атомов по умолчанию совместимы с VESTA.
- Область отрисовки задаётся кратностью элементарной ячейки либо индексами кристаллической плоскости и расстоянием от центра.
- Произвольный габитус кристалла можно передать раскраской граничных плоскостей.
- Можно отобразить любые кристаллографические плоскости, что помогает начинающим понять их роль в дифракционных явлениях.
- Вращение, перемещение и масштабирование свободно управляются мышью.
- По щелчку на атоме отображаются расстояния и валентные углы до соседних атомов.
- Состояние вращения немедленно отражается в других функциональных окнах (стереографическая проекция, симулятор дифракции и т. д.).
- Встроенный видеокодировщик (Windows Media Foundation) позволяет создавать видеоролики с анимацией вращения (H.264/H.265 MP4) для докладов.
- Отображает кристаллографические плоскости и оси на стереографической проекции.
- Поддерживаются как равноугольная (сетка Вульфа), так и равноплощадная (сетка Шмидта) проекции с линиями широты и долготы.
- Индексы можно задать числовым диапазоном или конкретными значениями.
- Большие круги отображаются заданием осей зоны.
- Построенные объекты можно сохранить или скопировать в векторном формате и позднее редактировать без потери разрешения.
- Трёхмерная визуализация геометрии стереографической проекции в учебных целях.
-
Моделирует дифракционные картины монокристалла для рентгеновского излучения, электронов и нейтронов.
- Кинетическую энергию падающего пучка можно задавать произвольно.
- Встроены энергии характеристического рентгеновского излучения от 1H до 98Cf.
- Область построения задаётся разрешением изображения (размером пикселя) и длиной камеры.
- Поддерживается геометрия с наклонным детектором.
- Поддерживается наложение экспериментально полученных изображений.
- Вращение кристалла (условие дифракции) можно задавать, и оно немедленно синхронизируется с другими окнами.
-
Поликристаллическая дифракция: моделирование дебаевских колец в предположении поликристаллического образца.
-
Прецессионная камера (рентген): моделирование картин прецессионной камеры для нулевой зоны Лауэ.
-
Камера обратного отражения Лауэ (рентген): моделирование лауэграмм на отражение.
- Доступна для всех источников (рентген, электроны, нейтроны).
- Интенсивности дифракции оцениваются по квадрату модуля структурного фактора кристалла и ошибке возбуждения.
- Учитывается влияние фактора Дебая — Валлера на интенсивности дифракции.
-
Основана на методе блоховских волн (Bethe, 1928), который допускает произвольную ориентацию кристалла без ограничения низкоиндексными осями зоны.
-
Доступны два подхода к расчёту:
- Метод собственных значений Бете: диагонализация матрицы для получения собственных значений и векторов блоховских состояний. Подходит при изменении толщины образца.
- Метод матрицы рассеяния: прямое вычисление матричной экспоненты методом масштабирования и возведения в квадрат с аппроксимацией Паде. Подходит для быстрых расчётов при одной толщине.
-
Наиболее быстрый алгоритм и оптимальная математическая библиотека (Eigen, Intel MKL или Math.NET) выбираются автоматически.
-
Поглощающий потенциал теплового диффузного рассеяния (TDS) вычисляется аналитически ради высокой производительности.
-
SAED (дифракция электронов с выделенной области): моделирование дифракции электронов в параллельном пучке с учётом эффектов динамического рассеяния.
-
PED (прецессионная электронная дифракция): моделирует картины PED по заданным углу прецессии и азимутальному угловому разрешению. Полезно для анализа кристаллической структуры и оптимизации квазикинематических условий PED.
-
CBED (дифракция сходящегося электронного пучка): моделирует картины CBED при задаваемых пользователем полуугле сходимости и числе разбиений. Поддерживается расчёт по толщине для её определения.
- Картины CBED, усреднённые по положению (PACBED).
- Моделирование широкоугловой CBED (LA-CBED).
- Моделирование изображений просвечивающей электронной микроскопии высокого разрешения в рамках той же теории блоховских волн.
- Оптические параметры (ускоряющее напряжение, коэффициент сферической аберрации, дефокусировка, толщина образца и др.) задаются через графический интерфейс.
- Встроены типовые наборы оптических параметров ПЭМ, вызываемые щелчком правой кнопкой мыши.
- Две модели формирования изображения для частичной когерентности:
- Линейная теория передачи контраста: меньшие вычислительные затраты; подходит для тонких образцов, удовлетворяющих приближению слабого фазового объекта.
- Нелинейная теория передачи контраста (модель TCC): основана на перекрёстном коэффициенте пропускания первого порядка (Ishizuka, 1980); надёжна и для более толстых образцов и материалов с большим Z.
- Возможно построение функции передачи контраста с огибающими функциями.
- Серии изображений по толщине и дефокусировке могут рассчитываться одновременно.
- При стандартных условиях расчёт обычно завершается менее чем за секунду.
- Моделирование изображений сканирующей просвечивающей электронной микроскопии.
- Режимы светлого поля (BF), кольцевого тёмного поля (ADF) и кольцевого тёмного поля больших углов (HAADF).
- Сходящийся пучок рассматривается как суперпозиция множества плоских волн с точным расчётом перекрытий.
- Неупруго рассеянные электроны рассчитываются по модели поглощающего потенциала.
- Возможно создание серий изображений по толщине и дефокусировке.
- Полуавтоматическое индицирование дифракционных рефлексов на экспериментальных картинах SAED.
- Spot ID v1: поиск осей зоны по геометрической конфигурации (расстояниям и углам) дифракционных рефлексов. Поддерживает одновременный анализ 2–3 изображений.
- Spot ID v2: прямая загрузка изображений картин SAED.
- Поддерживаются стандартные форматы изображений: TIFF (.tif), Digital Micrograph 3/4 (.dm3, .dm4) и другие.
- Автоматическое обнаружение рефлексов и их аппроксимация двумерными функциями псевдо-Фойгта.
- Полный перебор ориентаций кристалла, согласующихся с расположением векторов обратной решётки.
- Точное определение даже высокоиндексных осей зоны.
- Связывает углы Эйлера в ReciPro с гониометром в лаборатории.
- Показывает, как нужно повернуть гониометр, чтобы получить требуемую ориентацию кристалла (например, низкоиндексную ось зоны).
- Поддерживает произвольные определения гониометра.
- Макросы с синтаксисом Python для автоматизации задач.
- Пример: вращать кристалл с шагом 1° и на каждом шаге сохранять дифракционные картины или изображения STEM.
- Специфические функции ReciPro доступны в пространстве имён «ReciPro».
- Примеры использования приведены в руководстве.
- Симулятор пробега электронов: моделирование пробега электронов в веществе методом Монте-Карло.
- EBSD (дифракция обратно рассеянных электронов): в разработке.
- Написано на C++, C# и OpenGL Shading Language (GLSL).
- Многопоточное распараллеливание для высокопроизводительных расчётов на современных многоядерных процессорах.
- Все функциональные окна обновляются синхронно и в реальном времени при изменении ориентации кристалла.
- Используется правая декартова система координат (X — вправо, Y — вверх, Z — вперёд) с соглашением об углах Эйлера Z–X–Z.
- Определения координат совместимы с ПО для EBSD компании Thermo Fisher Scientific.
- Рецензируемая статья о программе: Seto, Y. & Ohtsuka, M. (2022), Journal of Applied Crystallography, 55, 397-410.
- Цитирующие работы: цитирующие статьи в Google Scholar.
- Внимание к статье: сведения Altmetric.
| Показатель | Значение |
|---|---|
| Всего загрузок с GitHub | более 27 000 загрузок |
| Цитирования в Google Scholar | более 170 цитирований |
| Цитирования в Dimensions | более 160 цитирований |
| Читатели в Mendeley | более 90 читателей |










