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, .stp i .s94,
  • przegląd surowych klatek STM i pochodnych map (I - I_SET)^2,
  • definiowanie wielu nazwanych par ROI złożonych z Site ROI i Set 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 .s94 do .stp.

Obsługiwane dane

Formaty wejściowe

QNA obsługuje obecnie:

FormatUżycie w QNA
.mppWieloklatkowe dane Omicron do analizy klatka-po-klatce.
.stpPojedynczy obraz STM Omicron.
.s94Obraz 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 .stp i .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 image albo A_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 ROI dla 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
L0Wielkość bazowa związana z szumem, wyprowadzona z mapy (I - I_SET)^2 i normalizacji ROI/pola.
LSkorygowana faradaiczna wielkość szumowa wyprowadzona z L0, offsetu i współczynnika korekcyjnego.
KWspółczynnik korekcyjny oparty na różnicy między średnim prądem a I_SET.
I_AŚredni prąd w wybranym obszarze odniesienia.
DStosunek pól A_site i A_set.
A_siteFizyczne albo pikselowe pole regionu Site ROI.
A_setPole pełnego obrazu albo regionu Set ROI, zależnie od trybu.
EPotencjał 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:

  1. Wczytaj jeden albo więcej plików STM.
  2. Wybierz wpis do inspekcji.
  3. Ustaw I_SET (A).
  4. Zdefiniuj Site ROI i opcjonalnie Set ROI.
  5. Wybierz A_set: Full image albo A_set: ROI.
  6. Uruchom Analyze selected.
  7. Przejrzyj mapę (I - I_SET)^2 i aktywne metryki.
  8. 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:

  1. Wczytaj jeden plik .mpp.
  2. Ustaw I_SET (A).
  3. Wczytaj pasujący plik tekstowy E(V).
  4. Zdefiniuj jedną albo więcej par ROI.
  5. Uruchom Full analysis.
  6. Przejrzyj Property vs frame oraz L0(E) / L(E).
  7. Porównaj spoty przez statystyki, porównanie spotów i porównanie klatek.
  8. 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 .stp i .s94, a .mpp jest 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.