Software / 2026
Quantum Noise Analysis (QNA)
Desktopowa aplikacja PyQt6 do ilościowej analizy szumu w danych STM: mapy (I - I_SET)^2, pary ROI Site/Set, analiza klatka-po-klatce, wykresy zależne od potencjału i eksport STP.
O projekcie
Quantum Noise Analysis (QNA) to desktopowa aplikacja PyQt6 do ilościowej analizy szumu w danych STM. Program jest przeznaczony do przeglądu obrazów STM klatka-po-klatce oraz do porównywania lokalnych metryk szumu w regionach ROI dla pojedynczych obrazów, serii klatek i wieloklatkowych zbiorów MPP.
Aplikacja prowadzi użytkownika od surowych danych STM do pochodnych map szumu, metryk per klatka, wykresów zależnych od potencjału, porównań par ROI i eksportu STP w jednym powtarzalnym workflow desktopowym.
Co robi QNA?
QNA koncentruje się na ilościowej analizie lokalnych fluktuacji prądu STM. Dla każdego wczytanego wpisu STM aplikacja może wygenerować pochodną mapę szumu:
(I - I_SET)^2
gdzie I jest sygnałem obrazu, a I_SET jest zdefiniowaną przez użytkownika wartością prądu tunelowego. Następnie program łączy tę mapę z geometrią ROI i wartościami potencjału, aby obliczać oraz wizualizować wielkości związane z szumem w kolejnych klatkach.
Główne możliwości:
- wczytywanie danych STM z plików
.mpp,.stpi.s94, - przegląd surowych klatek STM i pochodnych map
(I - I_SET)^2, - definiowanie wielu nazwanych par ROI złożonych z
Site ROIiSet ROI, - obliczanie metryk szumu dla wybranych klatek albo całej listy klatek,
- analiza do 25 par ROI w jednym workflow,
- przypisywanie potencjałów z zewnętrznego pliku tekstowego
E(V), - wykresy metryk względem numeru klatki albo potencjału,
- statystyki, porównanie spotów i porównanie klatek,
- eksport map pochodnych jako
.stp, - batchowy zapis wszystkich map pochodnych,
- konwersja plików
.s94do.stp.
Obsługiwane dane
Formaty wejściowe
QNA obsługuje obecnie:
| Format | Użycie w QNA |
|---|---|
.mpp | Wieloklatkowe dane Omicron do analizy klatka-po-klatce. |
.stp | Pojedynczy obraz STM Omicron. |
.s94 | Obraz STM SPECS; może być również konwertowany do .stp. |
Aktualne reguły wczytywania
- Dane można wczytać przez
File -> Open file(s).... - Katalogi można wczytać przez
File -> Open directory...; aktualny loader katalogów skanuje pliki.stpi.s94. - Jednocześnie można wczytać tylko jeden plik
.mpp. - Każda klatka MPP pojawia się jako osobny wpis na liście.
- Repozytorium nie zawiera przykładowych datasetów STM; użytkownik dostarcza własne pliki.
Główny workflow
1. Wczytanie danych STM
Użytkownik otwiera pojedynczy plik STM, wiele plików albo katalog obrazów STM.
Typowe akcje:
File -> Open file(s)...
File -> Open directory...
Wczytane wpisy pojawiają się w lewym panelu. Listę można filtrować według typu pliku: All, STP, S94 albo MPP.
2. Ustawienie danych wejściowych analizy
Użytkownik ustawia setpoint prądu tunelowego używany do obliczania map szumu:
I_SET (A)
Dla wieloklatkowych workflow zależnych od potencjału można wczytać plik tekstowy E(V):
Load E(V) file
Plik potencjałów jest przypisywany wiersz-po-wierszu do aktualnych wpisów na liście.
3. Definicja par ROI
QNA używa par regionów zainteresowania:
- Site ROI - lokalny region związany z miejscem albo spotem poddawanym ocenie,
- Set ROI - region odniesienia używany jako
A_set, gdy włączony jest tryb ROI.
Aplikacja obsługuje wiele nazwanych par ROI. Edytowalna jest tylko aktywna para, co zmniejsza ryzyko przypadkowej zmiany geometrii podczas długiej analizy.
Przydatne kontrolki ROI:
- dodanie pary ROI,
- duplikowanie pary ROI,
- zmiana nazwy pary ROI,
- usunięcie pary ROI,
- blokada aktywnej pary,
- zmiana palety ROI dla lepszej widoczności,
- włączanie podglądu ROI,
- wybór
A_set: Full imagealboA_set: ROI.
4. Uruchomienie analizy
Dla pojedynczego wybranego wpisu:
File -> Analyze selected
Ctrl+R
Dla wszystkich wpisów i wszystkich par ROI:
File -> Full analysis (all frames)
Ctrl+Shift+R
Pełna analiza wymaga:
- co najmniej jednej pary ROI,
Site ROIdla każdej pary,- wartości potencjału przypisanych do wszystkich wczytanych wpisów.
5. Przegląd map, metryk i wykresów
Po analizie QNA pokazuje:
- surowy obraz STM,
- pochodną mapę
(I - I_SET)^2, - podgląd ROI,
- metryki aktywnej klatki,
- wykres właściwości względem klatki,
- wykres
L0(E) / L(E), - statystyki w kolejnych klatkach,
- tabelę porównania spotów,
- wykres albo heatmapę porównania klatek.
6. Eksport i konwersja
Akcje eksportu są dostępne w menu File:
Save (I - I_SET)^2 map to .stp
Save all (I - I_SET)^2 maps to .stp
Convert S94 to STP (from list)
Aktualny eksport skupia się na zapisie map STP i konwersji S94 do STP. Natywny zapis projektu/sesji i eksport tabel nie są obecnie główną ścieżką eksportu w kodzie.
Obliczane wielkości
QNA oblicza i pokazuje następujące wielkości analityczne:
| Wielkość | Znaczenie w workflow QNA |
|---|---|
L0 | Wielkość bazowa związana z szumem, wyprowadzona z mapy (I - I_SET)^2 i normalizacji ROI/pola. |
L | Skorygowana faradaiczna wielkość szumowa wyprowadzona z L0, offsetu i współczynnika korekcyjnego. |
K | Współczynnik korekcyjny oparty na różnicy między średnim prądem a I_SET. |
I_A | Średni prąd w wybranym obszarze odniesienia. |
D | Stosunek pól A_site i A_set. |
A_site | Fizyczne albo pikselowe pole regionu Site ROI. |
A_set | Pole pełnego obrazu albo regionu Set ROI, zależnie od trybu. |
E | Potencjał przypisany do klatki. |
Gdy metadane zawierają fizyczne wymiary skanu, pola są raportowane w nm². W przeciwnym razie QNA używa jednostek pikselowych.
Wykresy i porównania
Property vs frame
Wykres Property vs frame pokazuje wybrane metryki w kolejnych wpisach listy. Dostępne wielkości obejmują:
L0,L,K,I_A,D,E,A_site,A_set.
Widok jest przydatny do sprawdzania trendów klatka-po-klatce, outlierów, niestabilnych ROI albo zmian zależnych od potencjału.
L0(E) / L(E)
Widok L0(E) / L(E) pokazuje wielkości związane z szumem jako funkcję potencjału. Użytkownik może wybrać widoczne serie:
L0 + L,L0 only,L only.
Gdy dostępny jest SciPy i istnieje wystarczająco dużo poprawnych punktów, QNA może obliczyć opcjonalne dopasowania sigmoidalne i pokazać parametry takie jak E_inf oraz E_on.
Statystyki w kolejnych klatkach
Widok statystyk podsumowuje aktywną parę ROI w całej sekwencji, w tym metryki takie jak:
L0,L,D,I_A,K,A_site,A_set,- wartości pochodzące z dopasowania, gdy są dostępne.
Porównanie spotów
Porównanie spotów jest przeznaczone dla workflow z wieloma parami ROI. Pomaga porównać aktywne miejsca albo kandydatów na podstawie wielkości dopasowania i podsumowań, między innymi dL, E_on oraz statystyk L0/L.
Porównanie klatek
Porównanie klatek zapewnia przegląd wszystkich klatek dla wszystkich par ROI. Pomaga sprawdzić, czy trendy są wspólne dla wielu miejsc, czy lokalne dla konkretnego ROI.
Format pliku E(V)
Plik potencjałów powinien być zwykłym plikiem tekstowym z dwiema kolumnami oddzielonymi spacjami i bez nagłówka:
1 0.100
2 0.125
3 0.150
Reguły:
- kolumna 1: indeks klatki,
- kolumna 2: wartość potencjału
E(V), - kolejność wierszy jest używana do przypisania potencjałów do aktualnych wpisów listy,
- liczba wierszy musi zgadzać się z liczbą wczytanych wpisów.
Typowe zastosowania
Analiza szumu w pojedynczym obrazie
QNA pozwala analizować pojedynczy plik .stp, .s94 albo wybraną klatkę MPP.
Typowy przebieg:
- Wczytaj jeden albo więcej plików STM.
- Wybierz wpis do inspekcji.
- Ustaw
I_SET (A). - Zdefiniuj
Site ROIi opcjonalnieSet ROI. - Wybierz
A_set: Full imagealboA_set: ROI. - Uruchom
Analyze selected. - Przejrzyj mapę
(I - I_SET)^2i aktywne metryki. - W razie potrzeby wyeksportuj mapę pochodną do
.stp.
Ten tryb jest przydatny do szybkiej inspekcji pojedynczego aktywnego miejsca, sprawdzania lokalnie podwyższonego szumu i przygotowania map pochodnych do zewnętrznych narzędzi STM/SPM.
Wieloklatkowa analiza MPP
QNA może być używane do analizy zależnej od potencjału w sekwencji MPP.
Typowy przebieg:
- Wczytaj jeden plik
.mpp. - Ustaw
I_SET (A). - Wczytaj pasujący plik tekstowy
E(V). - Zdefiniuj jedną albo więcej par ROI.
- Uruchom
Full analysis. - Przejrzyj
Property vs frameorazL0(E) / L(E). - Porównaj spoty przez statystyki, porównanie spotów i porównanie klatek.
- W razie potrzeby wyeksportuj mapy pochodne jako
.stp.
Ten tryb jest przeznaczony do analizy szumu STM klatka-po-klatce, porównywania zachowania zależnego od potencjału między parami ROI oraz screeningu wielu kandydatów w jednej sekwencji STM.
Porównanie wielu miejsc
Wiele par ROI pozwala porównywać miejsca albo spoty na tych samych klatkach STM. Pary można duplikować, nazywać na przykład spot 1, spot 2, reference, defect albo terrace, a następnie analizować ich statystyki i parametry dopasowania.
Eksport STP i konwersja S94
QNA może działać jako pomost między plikami STM SPECS/Omicron a dalszymi narzędziami oczekującymi formatu STP. Obsługiwane są konwersja .s94 do .stp oraz zapis map (I - I_SET)^2 jako .stp.
Interfejs użytkownika
Lewy panel
- wczytane wpisy i klatki,
- filtrowanie po typie pliku,
- usuwanie wybranego wpisu,
- czyszczenie listy,
- nawigacja po klatkach z klawiatury.
Panel centralny
- pole
I_SET, - loader pliku
E(V), - potencjał bieżącej klatki,
- viewer obrazu surowego i pochodnego,
- kontrolki koloru i poziomów,
- wykresy właściwości oraz L0/L.
Panel ROI
- nazwane pary ROI,
- dodawanie, duplikowanie, zmiana nazwy i usuwanie,
- blokada aktywnej pary,
- kontrolki podglądu ROI,
- przełącznik trybu
A_set.
Panele analizy
- aktywne metryki,
- statystyki w kolejnych klatkach,
- porównanie spotów,
- porównanie klatek.
Instalacja i uruchomienie
Zalecany jest Python 3.11. Po utworzeniu albo aktywowaniu środowiska:
python -m pip install -r requirements.txt
Opcjonalna instalacja SciPy dla dopasowań sigmoidalnych:
python -m pip install scipy
Uruchomienie aplikacji:
python -m qna.main
Główne zależności repozytorium obejmują:
numpy,PyQt6,pyqtgraph.
Aktualny status
QNA jest aktywnie rozwijanym, wyspecjalizowanym narzędziem badawczym. Aktualna implementacja obsługuje główny workflow analizy szumu STM: wczytywanie danych STM, definicję par ROI, mapy pochodne szumu, pełną analizę klatek, wykresy zależne od potencjału, statystyki i porównania oraz eksport STP.
Praktyczne informacje o stanie projektu:
- jednocześnie można wczytać jeden plik
.mpp, - wczytywanie katalogu obejmuje obecnie
.stpi.s94, a.mppjest wczytywany przez wybór pliku, - dopasowanie sigmoidalne jest opcjonalne i zależy od SciPy,
- repozytorium nie zawiera przykładowych datasetów STM,
- zapis projektu/sesji nie jest obecnie głównym workflow,
- eksport skupia się na mapach STP i konwersji S94 do STP.
Możliwe przyszłe rozszerzenia obejmują mocniejszy eksport tabel wynikowych, zapis sesji, bogatsze raportowanie batchowe i dodatkowe narzędzia QA.