something working new format
This commit is contained in:
@ -13,11 +13,13 @@ from rfg_adc_plotter.processing.pipeline import SweepPreprocessor
|
||||
ROOT = Path(__file__).resolve().parents[1]
|
||||
SAMPLE_BG = ROOT / "sample_data" / "empty"
|
||||
SAMPLE_CALIB = ROOT / "sample_data" / "no_antennas_35dB_attenuators"
|
||||
SAMPLE_NEW_FMT = ROOT / "sample_data" / "new_format" / "attenuators_50dB"
|
||||
|
||||
|
||||
def test_detect_reference_file_format_for_sample_capture():
|
||||
assert detect_reference_file_format(str(SAMPLE_BG)) == "bin_capture"
|
||||
assert detect_reference_file_format(str(SAMPLE_CALIB)) == "bin_capture"
|
||||
assert detect_reference_file_format(str(SAMPLE_NEW_FMT)) == "bin_capture"
|
||||
|
||||
|
||||
def test_load_capture_sweeps_parses_binary_capture():
|
||||
@ -33,6 +35,22 @@ def test_load_capture_sweeps_parses_binary_capture():
|
||||
assert channels == {0}
|
||||
|
||||
|
||||
def test_load_capture_sweeps_parses_new_format_logdetector_capture():
|
||||
sweeps = load_capture_sweeps(str(SAMPLE_NEW_FMT), fancy=False, logscale=False)
|
||||
assert len(sweeps) > 900
|
||||
|
||||
widths = [int(s.size) for s, _info in sweeps]
|
||||
dominant_width = max(set(widths), key=widths.count)
|
||||
# Должно совпадать с ожидаемой шириной свипа из штатных capture.
|
||||
assert dominant_width in (758, 759)
|
||||
|
||||
channels = set()
|
||||
for _s, info in sweeps:
|
||||
chs = info.get("chs", [info.get("ch", 0)])
|
||||
channels.update(int(v) for v in chs)
|
||||
assert channels == {0}
|
||||
|
||||
|
||||
def test_aggregate_capture_reference_filters_incomplete_sweeps():
|
||||
sweeps = load_capture_sweeps(str(SAMPLE_BG), fancy=False, logscale=False)
|
||||
vector, summary = aggregate_capture_reference(sweeps, channel=0, method="median", path=str(SAMPLE_BG))
|
||||
|
||||
Reference in New Issue
Block a user