add new old fourier

This commit is contained in:
awe
2026-03-12 17:44:15 +03:00
parent 9e09acc708
commit f6a7cb5570
5 changed files with 196 additions and 21 deletions

View File

@ -205,6 +205,7 @@ def run_pyqtgraph(args) -> None:
bg_compute_cb = QtWidgets.QCheckBox("расчет фона")
bg_subtract_cb = QtWidgets.QCheckBox("вычет фона")
fft_bg_subtract_cb = QtWidgets.QCheckBox("FFT вычет фона")
fft_symmetric_cb = QtWidgets.QCheckBox("симм. IFFT")
peak_search_cb = QtWidgets.QCheckBox("поиск пиков")
calib_group = QtWidgets.QGroupBox("Калибровка")
calib_group_layout = QtWidgets.QVBoxLayout(calib_group)
@ -239,6 +240,7 @@ def run_pyqtgraph(args) -> None:
settings_layout.addWidget(bg_compute_cb)
settings_layout.addWidget(bg_subtract_cb)
settings_layout.addWidget(fft_bg_subtract_cb)
settings_layout.addWidget(fft_symmetric_cb)
settings_layout.addWidget(peak_search_cb)
status = pg.LabelItem(justify="left")
@ -248,6 +250,7 @@ def run_pyqtgraph(args) -> None:
bg_compute_enabled = True
bg_subtract_enabled = False
fft_bg_subtract_enabled = False
fft_symmetric_enabled = True
status_note = ""
status_dirty = True
fixed_ylim: Optional[Tuple[float, float]] = None
@ -441,11 +444,26 @@ def run_pyqtgraph(args) -> None:
fft_bg_subtract_enabled = False
runtime.mark_dirty()
def set_fft_symmetric_enabled() -> None:
nonlocal fft_symmetric_enabled
try:
fft_symmetric_enabled = bool(fft_symmetric_cb.isChecked())
except Exception:
fft_symmetric_enabled = True
runtime.ring.set_symmetric_fft_enabled(fft_symmetric_enabled)
runtime.current_distances = runtime.ring.distance_axis
runtime.current_fft_db = None
set_status_note("IFFT: симметричный" if fft_symmetric_enabled else "IFFT: обычный")
update_physical_axes()
runtime.mark_dirty()
try:
bg_compute_cb.setChecked(True)
fft_symmetric_cb.setChecked(True)
except Exception:
pass
set_bg_compute_enabled()
set_fft_symmetric_enabled()
try:
calib_cb.stateChanged.connect(lambda _v: set_calib_enabled())
@ -455,6 +473,7 @@ def run_pyqtgraph(args) -> None:
bg_compute_cb.stateChanged.connect(lambda _v: set_bg_compute_enabled())
bg_subtract_cb.stateChanged.connect(lambda _v: set_bg_subtract_enabled())
fft_bg_subtract_cb.stateChanged.connect(lambda _v: set_fft_bg_subtract_enabled())
fft_symmetric_cb.stateChanged.connect(lambda _v: set_fft_symmetric_enabled())
except Exception:
pass
@ -745,7 +764,12 @@ def run_pyqtgraph(args) -> None:
distance_axis = runtime.current_distances if runtime.current_distances is not None else runtime.ring.distance_axis
if sweep_for_fft is not None and sweep_for_fft.size > 0 and distance_axis is not None:
if runtime.current_fft_db is None or runtime.current_fft_db.size != distance_axis.size or runtime.plot_dirty:
runtime.current_fft_db = compute_fft_row(sweep_for_fft, runtime.current_freqs, distance_axis.size)
runtime.current_fft_db = compute_fft_row(
sweep_for_fft,
runtime.current_freqs,
distance_axis.size,
symmetric=fft_symmetric_enabled,
)
fft_vals = runtime.current_fft_db
xs_fft = distance_axis[: fft_vals.size]
if fft_bg_subtract_enabled and bg_fft_for_line is not None: