test new variant
This commit is contained in:
@ -15,6 +15,8 @@ from rfg_adc_plotter.gui.pyqtgraph_backend import (
|
||||
coalesce_packets_for_ui,
|
||||
compute_background_subtracted_bscan_levels,
|
||||
compute_aux_phase_curve,
|
||||
compute_do1_tagged_aggregate,
|
||||
compute_do1_tagged_phase_curves,
|
||||
convert_tty_i16_to_voltage,
|
||||
decimate_bscan_rows_for_display,
|
||||
decimate_curve_for_display,
|
||||
@ -30,6 +32,7 @@ from rfg_adc_plotter.gui.pyqtgraph_backend import (
|
||||
set_image_rect_if_ready,
|
||||
resolve_visible_fft_curves,
|
||||
resolve_visible_aux_curves,
|
||||
resolve_visible_do1_tagged_aux_curves,
|
||||
)
|
||||
from rfg_adc_plotter.processing.calibration import (
|
||||
build_calib_envelope,
|
||||
@ -316,6 +319,53 @@ class ProcessingTests(unittest.TestCase):
|
||||
self.assertEqual(phase.shape, expected.shape)
|
||||
self.assertTrue(np.allclose(phase, expected, atol=1e-6))
|
||||
|
||||
def test_compute_do1_tagged_aggregate_nanmean_merges_low_and_high(self):
|
||||
low = np.asarray([1.0, np.nan, 5.0, np.nan], dtype=np.float32)
|
||||
high = np.asarray([3.0, 7.0, np.nan, np.nan], dtype=np.float32)
|
||||
|
||||
merged = compute_do1_tagged_aggregate(low, high)
|
||||
|
||||
self.assertIsNotNone(merged)
|
||||
self.assertTrue(np.allclose(merged[:3], np.asarray([2.0, 7.0, 5.0], dtype=np.float32), equal_nan=True))
|
||||
self.assertTrue(np.isnan(merged[3]))
|
||||
|
||||
def test_resolve_visible_do1_tagged_aux_curves_obeys_checkbox_state(self):
|
||||
aux_low = (
|
||||
np.asarray([1.0, 2.0], dtype=np.float32),
|
||||
np.asarray([3.0, 4.0], dtype=np.float32),
|
||||
)
|
||||
aux_high = (
|
||||
np.asarray([5.0, 6.0], dtype=np.float32),
|
||||
np.asarray([7.0, 8.0], dtype=np.float32),
|
||||
)
|
||||
|
||||
hidden_low, hidden_high = resolve_visible_do1_tagged_aux_curves(aux_low, aux_high, enabled=False)
|
||||
self.assertIsNone(hidden_low)
|
||||
self.assertIsNone(hidden_high)
|
||||
|
||||
visible_low, visible_high = resolve_visible_do1_tagged_aux_curves(aux_low, aux_high, enabled=True)
|
||||
self.assertIsNotNone(visible_low)
|
||||
self.assertIsNotNone(visible_high)
|
||||
self.assertTrue(np.allclose(visible_low[0], aux_low[0]))
|
||||
self.assertTrue(np.allclose(visible_high[1], aux_high[1]))
|
||||
|
||||
def test_compute_do1_tagged_phase_curves_returns_two_independent_series(self):
|
||||
aux_low = (
|
||||
np.asarray([1.0, 1.0], dtype=np.float32),
|
||||
np.asarray([0.0, 1.0], dtype=np.float32),
|
||||
)
|
||||
aux_high = (
|
||||
np.asarray([1.0, -1.0], dtype=np.float32),
|
||||
np.asarray([1.0, 1.0], dtype=np.float32),
|
||||
)
|
||||
|
||||
phase_low, phase_high = compute_do1_tagged_phase_curves(aux_low, aux_high)
|
||||
|
||||
self.assertIsNotNone(phase_low)
|
||||
self.assertIsNotNone(phase_high)
|
||||
self.assertTrue(np.allclose(phase_low, np.asarray([0.0, np.pi / 4.0], dtype=np.float32), atol=1e-6))
|
||||
self.assertTrue(np.allclose(phase_high, np.asarray([np.pi / 4.0, 3.0 * np.pi / 4.0], dtype=np.float32), atol=1e-6))
|
||||
|
||||
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)
|
||||
|
||||
Reference in New Issue
Block a user