add new old fourier
This commit is contained in:
@ -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:
|
||||
|
||||
Reference in New Issue
Block a user