@@ -76,8 +76,8 @@ def roi_measure(image, mask_image):
76
76
mask_image (str, ndarray): Mask image.
77
77
78
78
Returns:
79
- dict{'mean': mean, 'median': median, 'sd': sd}
80
- mean, median and sd (float, ndarray): statistics for masked
79
+ dict{'mean': mean, 'median': median, 'sd': sd, 'min': min, 'max': max, 'pct25': pct25, 'pct75': pct75 }
80
+ mean, median, sd, min, max, 25th percentile and 75th percentile (float, ndarray): statistics for masked
81
81
voxels. For input data with one more dimension than the mask
82
82
image (e.g. a time series), a 1D array of floats is returned.
83
83
"""
@@ -95,9 +95,16 @@ def roi_measure(image, mask_image):
95
95
96
96
# measure statistics for masked voxels
97
97
masked_voxels = data_2d [mask_1d == 1 , :]
98
- stats = [(np .nanmean (m_d ), np .nanmedian (m_d ), np .nanstd (m_d ))
98
+ stats = [(np .nanmean (m_d ), np .nanmedian (m_d ), np .nanstd (m_d ), np .nanmin (m_d ), np .nanmax (m_d ),
99
+ np .percentile (m_d , 25 ), np .percentile (m_d , 75 ))
99
100
for m_d in masked_voxels .transpose ()]
100
- mean , median , sd = zip (* stats )
101
-
102
- return {'mean' : np .squeeze (mean ), 'median' : np .squeeze (median ),
103
- 'sd' : np .squeeze (sd )}
101
+ mean , median , sd , mini , maxi , pct25 , pct75 = zip (* stats )
102
+
103
+ return {'mean' : np .squeeze (mean ),
104
+ 'median' : np .squeeze (median ),
105
+ 'sd' : np .squeeze (sd ),
106
+ 'min' : np .squeeze (mini ),
107
+ 'max' : np .squeeze (maxi ),
108
+ 'pct25' : np .squeeze (pct25 ),
109
+ 'pct75' : np .squeeze (pct75 )
110
+ }
0 commit comments