Software / 2026

Lattice Fourier Analyzer (LFA)

Otwartoźródłowa aplikacja desktopowa w Pythonie do ilościowej analizy obrazów STM i EC-STM: preprocessing, FFT, korekcja dryfu, metrologia sieciowa, niepewności i eksport wyników.

O projekcie

Lattice Fourier Analyzer (LFA) to otwartoźródłowa aplikacja desktopowa w Pythonie do ilościowej analizy obrazów STM i EC-STM. Program prowadzi użytkownika od surowych danych topograficznych, przez preprocessing i analizę FFT, aż do parametrów sieci krystalicznej, korekcji dryfu oraz wizualizacji struktur w przestrzeni rzeczywistej.

LFA jest szczególnie przydatny wtedy, gdy obraz STM zawiera jednocześnie kilka okresowości, na przykład podłoże, adsorbat i superstrukturę, a bezpośredni pomiar w przestrzeni rzeczywistej jest obciążony dryfem, anizotropią skanera albo deformacją piezo. Główna idea programu polega na użyciu znanej sieci podłoża lub warstwy komensuratywnej jako wewnętrznego wzorca geometrycznego.

Co robi LFA?

LFA łączy przetwarzanie obrazów STM, analizę Fouriera oraz metrologię sieciową w jednym przepływie pracy:

  • importuje obrazy STM wraz z metadanymi kalibracyjnymi,
  • pozwala wykonać niedestrukcyjny preprocessing obrazu,
  • oblicza dwuwymiarowe FFT dla pełnego obrazu lub wybranego ROI,
  • umożliwia precyzyjne wskazywanie i dopasowanie pików Bragga,
  • wyznacza transformację korekcyjną dla dryfu, rotacji, skali i ścinania,
  • oblicza parametry sieci podłoża i adsorbatu,
  • analizuje okresowości superstruktur na podstawie pików satelitarnych,
  • rekonstruuje obraz w przestrzeni rzeczywistej z maskowanych komponentów FFT,
  • zapisuje pełny przebieg analizy w sesji i eksportuje wyniki do formatów tabelarycznych.

Najważniejsze funkcje

Import i inspekcja danych

Program obsługuje pliki STM w formatach .stp oraz .s94. Podczas importu zachowywane są dane obrazu oraz metadane, takie jak rozmiar skanu, liczba pikseli, napięcie, prąd tunelowy, kąt skanowania i parametry kalibracyjne, jeśli są dostępne w pliku źródłowym. Dzięki temu workflow może przejść od pikseli do jednostek fizycznych, takich jak nm i nm^-1.

Preprocessing STM

Preprocessing jest opcjonalny i niedestrukcyjny. Każda operacja tworzy nowy stan w historii, a oryginalny obraz pozostaje dostępny. Dostępne narzędzia obejmują między innymi plane leveling, filtr Gaussa, unsharp mask, filtr medianowy, Non-Local Means oraz BM3D, gdy zainstalowany jest opcjonalny pakiet bm3d.

Analiza FFT i lokalizacja pików

LFA oblicza dwuwymiarową transformatę Fouriera dla pełnego obrazu lub wybranego ROI. Użytkownik może stosować funkcje okna, takie jak Hann, Hamming i Blackman, oraz wybierać sposób prezentacji mapy FFT. Piki Bragga i piki satelitarne mogą być lokalizowane z dokładnością podpikselową przez wskazanie bezpośrednie, maksimum piksela, dopasowanie 2D Gaussian, interpolację paraboliczną 3x3 albo lokalne doprecyzowanie DFT.

Korekcja dryfu i deformacji

Kluczową funkcją LFA jest substrate-anchored affine correction. Użytkownik wybiera piki podłoża w FFT, a program dopasowuje je do idealnej sieci referencyjnej. Na tej podstawie wyznaczana jest transformacja afiniczna opisująca rotację obrazu, anizotropowe skalowanie, ścinanie, rozciągnięcia główne i jakość dopasowania, w tym RMSE.

Korekcja wykonywana jest w przestrzeni odwrotnej, gdzie piki sieciowe można lokalizować bardzo precyzyjnie. Następnie transformacja jest przenoszona do przestrzeni rzeczywistej, co pozwala uzyskać skorygowane wektory sieciowe, długości, kąty i niepewności.

Analiza adsorbatu i superstruktur

Po wyznaczeniu korekcji dla podłoża LFA może zastosować tę samą transformację do pików adsorbatu. Dzięki temu parametry warstwy adsorpcyjnej są obliczane w układzie odniesienia podłoża, a nie w zniekształconym układzie obrazu STM.

Program pozwala analizować wiele zestawów pików adsorbatu w jednej sesji, co jest przydatne przy współistniejących domenach, fazach obróconych lub strukturach o różnej symetrii. Dla superstruktur LFA umożliwia pomiar rozszczepienia między pikiem głównym i satelitarnym, a następnie wyznaczenie okresu modulacji w przestrzeni rzeczywistej oraz względnej intensywności modulacji.

Wizualizacja, sesje i eksport

LFA obsługuje wizualizację skorygowanych wektorów sieciowych, overlaye podłoża i adsorbatu, mapy Pattersona, rekonstrukcje z maskowanych komponentów FFT oraz interaktywny widok 3D, jeśli dostępne są opcjonalne zależności pyvista i pyvistaqt.

Sesje .lfa_proj przechowują stan kontrolera, historię, wybrane piki, wyniki analizy, metadane niepewności oraz ustawienia wizualizacji. Wyniki mogą być eksportowane do JSON, CSV albo kopiowane do schowka jako podsumowanie.

Typowy workflow

  1. Import danych z pliku .stp lub .s94.
  2. Inspekcja obrazu, metadanych, rozmiaru skanu i kalibracji.
  3. Opcjonalny preprocessing: leveling, filtracja lub denoising.
  4. Obliczenie FFT dla pełnego obrazu albo ROI.
  5. Analiza podłoża przez wybór pików Bragga i obliczenie transformacji afinicznej.
  6. Analiza adsorbatu z użyciem korekcji zakotwiczonej w podłożu.
  7. Analiza superstruktur, pików satelitarnych i okresów modulacji.
  8. Wizualizacja real-space: wektory sieci, kąty, domeny i overlaye.
  9. Eksport wyników oraz zapis sesji.

Przykładowe zastosowania

  • korekcja dryfu w obrazach STM / EC-STM,
  • rejestracja adsorbat-podłoże,
  • analiza zmian strukturalnych zależnych od potencjału elektrody,
  • analiza molekularnych monowarstw i układów supramolekularnych,
  • porównywanie wielu domen i faz w jednym eksperymencie,
  • przygotowanie tabel, figur i danych wspierających publikacje.

AtomMapper

Repozytorium zawiera również AtomMapper - osobne narzędzie desktopowe do lokalnej analizy obrazów STM na poziomie pojedynczych atomów i rzędów atomowych. AtomMapper nie zastępuje głównego workflow LFA opartego na FFT; jest narzędziem uzupełniającym do pracy w przestrzeni rzeczywistej.

AtomMapper wspiera lokalizację atomów lub maksimów w obrazie STM, pracę na małych ROI, dopasowanie lokalnych modeli pików, grupowanie punktów w rzędy atomowe, ręczną korektę pozycji punktów, analizę geometrii rzędów, wykrywanie lokalnych zaburzeń oraz eksport punktów do CSV.

LFA a AtomMapper

ZadanieZalecane narzędzie
Korekcja dryfu i deformacji skanera na podstawie FFTLFA
Parametry sieci podłoża i adsorbatuLFA
Rejestracja adsorbat-podłożeLFA
Analiza superstruktur i pików satelitarnychLFA
Rekonstrukcja z maskowanego FFT i mapa PattersonaLFA
Lokalizacja pojedynczych atomów w przestrzeni rzeczywistejAtomMapper
Rzędy atomowe, odległości i odchylenia lokalneAtomMapper
Ręczna korekta punktów i eksport pozycji atomówAtomMapper

Instalacja i uruchamianie

Wymagany jest Python 3.10 lub nowszy. Python 3.12 jest zalecany dla zgodności z aktualną konfiguracją developerską repozytorium.

pip install -r requirements-core.txt
pip install -r requirements-optional.txt

Uruchamianie LFA:

python -m lfa.main

Uruchamianie AtomMapper:

python -m AtomMapper.app.main

Zakres i ograniczenia

LFA najlepiej działa dla obrazów, w których okresowości dają rozdzielone piki w przestrzeni odwrotnej. Jakość wyników zależy od stosunku sygnału do szumu, separacji pików, poprawnej kalibracji rozmiaru skanu oraz właściwego wyboru pików referencyjnych.

Dla stabilnej korekcji podłoża zaleca się co najmniej cztery dobrze rozdzielone piki dla sieci kwadratowej i sześć dla sieci heksagonalnej. Analiza superstruktur wymaga rozpoznawalnych pików satelitarnych. Jeżeli piki nakładają się zbyt silnie albo obraz nie zawiera wiarygodnej periodyczności, wynik wymaga szczególnej kontroli użytkownika.

AtomMapper jest narzędziem interaktywnym i wspierającym. Wyniki lokalizacji punktów i kandydaci na zaburzenia powinny być traktowane jako ilościowa pomoc w analizie, a nie jako automatyczna interpretacja fizyczna próbki.

Publikacje, dane i cytowanie

Jeżeli używasz LFA w pracy naukowej, zacytuj artykuł opisujący metodę i oprogramowanie oraz wskaż wersję programu albo commit repozytorium użyty do analizy.

Rafał Lewandków, Paulina Wira, Anna Futyma, Radosław Wasielewski, Tomasz Kosmala, LFA: A Lattice Fourier Analyzer for Quantitative In Situ EC-STM of Adsorbate-Substrate Superstructures, Advanced Materials Interfaces, 2026, e70500. DOI: 10.1002/admi.70500.