@@ -46,32 +46,22 @@ def prepare_timing_parameters(metadata: dict):
46
46
--------
47
47
48
48
>>> prepare_timing_parameters({'FrameTimesStart': [0, 2, 6], 'FrameDuration': [2, 4, 4]})
49
- {'VolumeTiming ': [0, 2, 6], 'AcquisitionDuration ': [2, 4, 4], 'SliceTimingCorrected': False }
49
+ {'FrameTimesStart ': [0, 2, 6], 'FrameDuration ': [2, 4, 4]}
50
50
"""
51
- timing_parameters = {
52
- key : metadata [key ]
53
- for key in (
54
- 'VolumeTiming' ,
55
- 'AcquisitionDuration' ,
56
- 'FrameTimesStart' ,
57
- 'FrameDuration' ,
58
- )
59
- if key in metadata
60
- }
51
+ timing_parameters = {}
52
+
53
+ frame_times = metadata .get ('FrameTimesStart' ) or metadata .get ('VolumeTiming' )
54
+ frame_duration = metadata .get ('FrameDuration' ) or metadata .get ('AcquisitionDuration' )
61
55
62
- frame_times = timing_parameters . pop ( 'FrameTimesStart' , None )
63
- frame_duration = timing_parameters . pop ( 'FrameDuration' , None )
56
+ if frame_times is not None :
57
+ timing_parameters [ 'FrameTimesStart' ] = frame_times
64
58
65
- if 'RepetitionTime' not in timing_parameters and 'VolumeTiming' not in timing_parameters :
66
- if frame_times is not None :
67
- timing_parameters ['VolumeTiming' ] = frame_times
68
- if frame_duration is not None :
69
- if isinstance (frame_duration , list ) and len (set (frame_duration )) == 1 :
70
- timing_parameters .setdefault ('AcquisitionDuration' , frame_duration [0 ])
71
- else :
72
- timing_parameters .setdefault ('AcquisitionDuration' , frame_duration )
59
+ if frame_duration is not None :
60
+ timing_parameters ['FrameDuration' ] = frame_duration
73
61
74
- timing_parameters ['SliceTimingCorrected' ] = False
62
+ for key in ('InjectedRadioactivity' , 'InjectedRadioactivityUnits' ):
63
+ if key in metadata :
64
+ timing_parameters [key ] = metadata [key ]
75
65
76
66
return timing_parameters
77
67
0 commit comments