From ac8d8d33cecf0afb165fbc47b9fa3ece8fcce467 Mon Sep 17 00:00:00 2001 From: Alessandro Candido Date: Thu, 12 Dec 2024 15:46:44 +0100 Subject: [PATCH] feat: Split bin counts, to reuse in acquisition --- src/qibolab/_core/execution_parameters.py | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/src/qibolab/_core/execution_parameters.py b/src/qibolab/_core/execution_parameters.py index d846e7d3e..39d8a1458 100644 --- a/src/qibolab/_core/execution_parameters.py +++ b/src/qibolab/_core/execution_parameters.py @@ -77,20 +77,24 @@ class ExecutionParameters(Model): top of platform defaults. """ - def results_shape( - self, sweepers: list[ParallelSweepers], samples: Optional[int] = None - ) -> tuple[int, ...]: - """Compute the expected shape for collected data.""" - + def bins(self, sweepers: list[ParallelSweepers]) -> tuple[int, ...]: + assert self.nshots is not None shots = ( (self.nshots,) if self.averaging_mode is AveragingMode.SINGLESHOT else () ) sweeps = tuple( min(len(sweep.values) for sweep in parsweeps) for parsweeps in sweepers ) + return shots + sweeps + + def results_shape( + self, sweepers: list[ParallelSweepers], samples: Optional[int] = None + ) -> tuple[int, ...]: + """Compute the expected shape for collected data.""" + inner = { AcquisitionType.DISCRIMINATION: (), AcquisitionType.INTEGRATION: (2,), AcquisitionType.RAW: (samples, 2), }[self.acquisition_type] - return shots + sweeps + inner + return self.bins(sweepers) + inner