up dv3d
This commit is contained in:
+28
-1
@@ -158,8 +158,35 @@ def _build_declared_series_groups(series, series_images_with_urls):
|
|||||||
return normalized
|
return normalized
|
||||||
return ""
|
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 = {
|
rule_values = {
|
||||||
"dwiBValue": get_value("DiffusionBValue", "DiffusionbValue"),
|
"dwiBValue": get_value("DiffusionBValue", "DiffusionbValue") or get_private_b_value(),
|
||||||
"dwiDirection": get_value("DiffusionGradientDirection", "DiffusionGradientOrientation"),
|
"dwiDirection": get_value("DiffusionGradientDirection", "DiffusionGradientOrientation"),
|
||||||
"temporalPosition": get_value("TemporalPositionIdentifier"),
|
"temporalPosition": get_value("TemporalPositionIdentifier"),
|
||||||
"triggerTime": get_value("TriggerTime"),
|
"triggerTime": get_value("TriggerTime"),
|
||||||
|
|||||||
+106
-106
File diff suppressed because one or more lines are too long
Reference in New Issue
Block a user