new channel mode

This commit is contained in:
awe
2026-04-10 19:18:38 +03:00
parent 3cd29c60d6
commit 709976c527
2 changed files with 112 additions and 4 deletions

View File

@ -19,6 +19,7 @@ from rfg_adc_plotter.gui.pyqtgraph_backend import (
sanitize_curve_data_for_display,
sanitize_image_for_display,
set_image_rect_if_ready,
resolve_visible_raw_plot_curves,
resolve_visible_fft_curves,
resolve_visible_aux_curves,
)
@ -214,6 +215,77 @@ class ProcessingTests(unittest.TestCase):
self.assertTrue(np.allclose(visible[0], aux[0]))
self.assertTrue(np.allclose(visible[1], aux[1]))
def test_resolve_visible_raw_plot_curves_channel_pair_mode_prefers_aux(self):
raw = np.asarray([10.0, 11.0], dtype=np.float32)
aux = (
np.asarray([1.0, 2.0], dtype=np.float32),
np.asarray([3.0, 4.0], dtype=np.float32),
)
visible_raw, visible_aux = resolve_visible_raw_plot_curves(
raw,
aux,
channel_pair_raw_mode=True,
parsed_data_enabled=False,
)
self.assertIsNone(visible_raw)
self.assertIsNotNone(visible_aux)
self.assertTrue(np.allclose(visible_aux[0], aux[0]))
self.assertTrue(np.allclose(visible_aux[1], aux[1]))
def test_resolve_visible_raw_plot_curves_channel_pair_mode_falls_back_to_raw(self):
raw = np.asarray([10.0, 11.0], dtype=np.float32)
visible_raw, visible_aux = resolve_visible_raw_plot_curves(
raw,
None,
channel_pair_raw_mode=True,
parsed_data_enabled=False,
)
self.assertIsNotNone(visible_raw)
self.assertTrue(np.allclose(visible_raw, raw))
self.assertIsNone(visible_aux)
def test_resolve_visible_raw_plot_curves_non_channel_pair_hides_aux_when_checkbox_off(self):
raw = np.asarray([10.0, 11.0], dtype=np.float32)
aux = (
np.asarray([1.0, 2.0], dtype=np.float32),
np.asarray([3.0, 4.0], dtype=np.float32),
)
visible_raw, visible_aux = resolve_visible_raw_plot_curves(
raw,
aux,
channel_pair_raw_mode=False,
parsed_data_enabled=False,
)
self.assertIsNotNone(visible_raw)
self.assertTrue(np.allclose(visible_raw, raw))
self.assertIsNone(visible_aux)
def test_resolve_visible_raw_plot_curves_non_channel_pair_shows_aux_when_checkbox_on(self):
raw = np.asarray([10.0, 11.0], dtype=np.float32)
aux = (
np.asarray([1.0, 2.0], dtype=np.float32),
np.asarray([3.0, 4.0], dtype=np.float32),
)
visible_raw, visible_aux = resolve_visible_raw_plot_curves(
raw,
aux,
channel_pair_raw_mode=False,
parsed_data_enabled=True,
)
self.assertIsNotNone(visible_raw)
self.assertTrue(np.allclose(visible_raw, raw))
self.assertIsNotNone(visible_aux)
self.assertTrue(np.allclose(visible_aux[0], aux[0]))
self.assertTrue(np.allclose(visible_aux[1], aux[1]))
def test_decimate_curve_for_display_preserves_small_series(self):
xs = np.linspace(3.3, 14.3, 64, dtype=np.float64)
ys = np.linspace(-1.0, 1.0, 64, dtype=np.float32)