This commit is contained in:
Ross
2026-05-20 22:18:47 +01:00
parent bf9190d177
commit a7a21fab9c
2 changed files with 134 additions and 107 deletions
+28 -1
View File
@@ -158,8 +158,35 @@ def _build_declared_series_groups(series, series_images_with_urls):
return normalized
return ""
def get_private_b_value():
# Siemens private (0019,100C)
try:
elem = ds.get((0x0019, 0x100C))
if elem is not None:
normalized = _normalise_group_rule_value(getattr(elem, "value", elem))
if normalized != "":
return normalized
except Exception:
pass
# GE private (0043,1039) can be "b\something" format
try:
elem = ds.get((0x0043, 0x1039))
if elem is not None:
raw = getattr(elem, "value", elem)
if isinstance(raw, pydicom.multival.MultiValue):
raw = raw[0] if len(raw) > 0 else ""
text = str(raw).split("\\")[0].strip()
normalized = _normalise_group_rule_value(text)
if normalized != "":
return normalized
except Exception:
pass
return ""
rule_values = {
"dwiBValue": get_value("DiffusionBValue", "DiffusionbValue"),
"dwiBValue": get_value("DiffusionBValue", "DiffusionbValue") or get_private_b_value(),
"dwiDirection": get_value("DiffusionGradientDirection", "DiffusionGradientOrientation"),
"temporalPosition": get_value("TemporalPositionIdentifier"),
"triggerTime": get_value("TriggerTime"),
+106 -106
View File
File diff suppressed because one or more lines are too long