From ee5837a46ff1db29ee12da73ecbdcd6042c79589 Mon Sep 17 00:00:00 2001 From: Yukai Xue <144064399+AlwinXue@users.noreply.github.com> Date: Mon, 30 Mar 2026 18:51:12 -0700 Subject: [PATCH] fix: return asl context for siemens dicom metadata Made-with: Cursor --- .../siemens/asl/siemens_basic_single_pld.py | 3 ++- .../tests/test_siemens_basic_single_pld.py | 17 +++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) create mode 100644 package/src/pyaslreport/tests/test_siemens_basic_single_pld.py diff --git a/package/src/pyaslreport/sequences/siemens/asl/siemens_basic_single_pld.py b/package/src/pyaslreport/sequences/siemens/asl/siemens_basic_single_pld.py index 7cd9a570..3ac772d0 100644 --- a/package/src/pyaslreport/sequences/siemens/asl/siemens_basic_single_pld.py +++ b/package/src/pyaslreport/sequences/siemens/asl/siemens_basic_single_pld.py @@ -19,4 +19,5 @@ def extract_bids_metadata(self): bids["LabelingDuration"] = d.get(dcm_tags.GE_LABEL_DURATION, None).value if dcm_tags.GE_INVERSION_TIME in d: bids["PostLabelingDelay"] = d.get(dcm_tags.GE_INVERSION_TIME, None).value - return bids \ No newline at end of file + asl_context = ["deltaM", "m0scan"] + return bids, asl_context \ No newline at end of file diff --git a/package/src/pyaslreport/tests/test_siemens_basic_single_pld.py b/package/src/pyaslreport/tests/test_siemens_basic_single_pld.py new file mode 100644 index 00000000..6587bda5 --- /dev/null +++ b/package/src/pyaslreport/tests/test_siemens_basic_single_pld.py @@ -0,0 +1,17 @@ +from unittest.mock import patch + +from pyaslreport.sequences.siemens.asl.siemens_basic_single_pld import SiemensBasicSinglePLD + + +def test_extract_bids_metadata_returns_metadata_and_context_tuple(): + sequence = SiemensBasicSinglePLD({}) + + with patch.object(SiemensBasicSinglePLD, "_extract_common_metadata", return_value={"Manufacturer": "Siemens"}), \ + patch.object(SiemensBasicSinglePLD, "_extract_siemens_common_metadata", return_value={"MRAcquisitionType": "3D"}): + metadata, asl_context = sequence.extract_bids_metadata() + + assert metadata == { + "Manufacturer": "Siemens", + "MRAcquisitionType": "3D", + } + assert asl_context == ["deltaM", "m0scan"]