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
- Import danych z pliku
.stplub.s94. - Inspekcja obrazu, metadanych, rozmiaru skanu i kalibracji.
- Opcjonalny preprocessing: leveling, filtracja lub denoising.
- Obliczenie FFT dla pełnego obrazu albo ROI.
- Analiza podłoża przez wybór pików Bragga i obliczenie transformacji afinicznej.
- Analiza adsorbatu z użyciem korekcji zakotwiczonej w podłożu.
- Analiza superstruktur, pików satelitarnych i okresów modulacji.
- Wizualizacja real-space: wektory sieci, kąty, domeny i overlaye.
- 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
| Zadanie | Zalecane narzędzie |
|---|---|
| Korekcja dryfu i deformacji skanera na podstawie FFT | LFA |
| Parametry sieci podłoża i adsorbatu | LFA |
| Rejestracja adsorbat-podłoże | LFA |
| Analiza superstruktur i pików satelitarnych | LFA |
| Rekonstrukcja z maskowanego FFT i mapa Pattersona | LFA |
| Lokalizacja pojedynczych atomów w przestrzeni rzeczywistej | AtomMapper |
| Rzędy atomowe, odległości i odchylenia lokalne | AtomMapper |
| Ręczna korekta punktów i eksport pozycji atomów | AtomMapper |
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
- Publikacja opisująca LFA: LFA: A Lattice Fourier Analyzer for Quantitative In Situ EC-STM of Adsorbate-Substrate Superstructures.
- Repozytorium projektu: github.com/RafLew84/NEtCAT_LFA.
- Dane opisane w artykule: OSF DOI 10.17605/OSF.IO/K7A3N.
- Wyszukiwanie cytowań: Google Scholar query.
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.