Skip to content

Commit 357b13d

Browse files
committed
Fix retrieve logic
1 parent 7675cbb commit 357b13d

File tree

1 file changed

+13
-1
lines changed

1 file changed

+13
-1
lines changed

qiskit_experiments/library/driven_freq_tuning/coefficient.py

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@
2020
from qiskit_ibm_experiment.service import IBMExperimentService
2121
from qiskit_ibm_experiment.exceptions import IBMApiError
2222

23+
from qiskit_experiments.framework.json import ExperimentDecoder
2324
from qiskit_experiments.framework.backend_data import BackendData
2425
from qiskit_experiments.framework.experiment_data import ExperimentData
2526

@@ -223,11 +224,14 @@ def retrieve_coefficients_from_service(
223224
RuntimeError: When stark_coefficients entry doesn't exist in the service.
224225
"""
225226
try:
227+
if isinstance(qubit, (list, tuple)) and len(qubit) == 1:
228+
qubit = qubit[0]
226229
retrieved = service.analysis_results(
227230
device_components=[f"Q{qubit}"],
228231
result_type="stark_coefficients",
229232
backend_name=backend_name,
230233
sort_by=["creation_datetime:desc"],
234+
json_decoder=ExperimentDecoder,
231235
)
232236
except (IBMApiError, ValueError) as ex:
233237
raise RuntimeError(
@@ -238,7 +242,15 @@ def retrieve_coefficients_from_service(
238242
"Analysis result of stark_coefficients is not found in the "
239243
"experiment service. Run and save the result of StarkRamseyXYAmpScan."
240244
)
241-
return retrieved[0].result_data["value"]
245+
246+
result_data_dict = retrieved[0].result_data
247+
if "_value" in result_data_dict:
248+
# In IBM Experiment service, the result_data["value"] returns
249+
# a display value for the experiment service webpage.
250+
# Original data is stored in "_value".
251+
# TODO: this must be handled by experiment service.
252+
return result_data_dict["value"]
253+
return result_data_dict["value"]
242254

243255

244256
def retrieve_coefficients_from_backend(

0 commit comments

Comments
 (0)