@@ -22,12 +22,13 @@ def vm_step_gauss(ppm, data_, mask):
22
22
data_: ndarray (1d, masked data)
23
23
mask: 3-element tuple of 1d ndarrays (X,Y,Z)
24
24
"""
25
- ntissues = ppm .shape [3 ]
25
+ ntissues = ppm .shape [- 1 ]
26
26
mu = np .zeros (ntissues )
27
27
sigma = np .zeros (ntissues )
28
28
29
29
for i in range (ntissues ):
30
- P = ppm [:,:,:,i ][mask ]
30
+ #P = ppm[:,:,:,i][mask]
31
+ P = ppm .T [i ].T [mask ]
31
32
Z = P .sum ()
32
33
tmp = data_ * P
33
34
mu_ = tmp .sum ()/ Z
@@ -54,13 +55,13 @@ def vm_step_laplace(ppm, data_, mask):
54
55
data_: ndarray (1d, masked data)
55
56
mask: 3-element tuple of 1d ndarrays (X,Y,Z)
56
57
"""
57
- ntissues = ppm .shape [3 ]
58
+ ntissues = ppm .shape [- 1 ]
58
59
mu = np .zeros (ntissues )
59
60
sigma = np .zeros (ntissues )
60
61
ind = np .argsort (data_ ) # data_[ind] increasing
61
62
62
63
for i in range (ntissues ):
63
- P = ppm [:,:,:, i ] [mask ]
64
+ P = ppm . T [ i ]. T [mask ]
64
65
mu_ = wmedian (data_ , P , ind )
65
66
sigma_ = np .sum (np .abs (P * (data_ - mu_ )))/ P .sum ()
66
67
mu [i ] = mu_
@@ -95,10 +96,10 @@ def __init__(self, ppm, data, mask=None, noise='gauss',
95
96
96
97
# Mask data
97
98
self .ppm = ppm
98
- self .ntissues = ppm .shape [3 ]
99
+ self .ntissues = ppm .shape [- 1 ]
99
100
if mask == None :
100
- mask = np .mgrid [[slice (0 ,d ) for d in ppm .shape [ 0 : - 1 ] ]]
101
- mask = tuple (np .reshape (mask , [3 , np .prod (ppm .shape [ 0 : - 1 ] )]))
101
+ mask = np .mgrid [[slice (0 ,d ) for d in data .shape ]]
102
+ mask = tuple (np .reshape (mask , [data . ndim , np .prod (data .shape )]))
102
103
self .mask = mask
103
104
self .data_ = data [mask ]
104
105
if prior :
@@ -110,7 +111,7 @@ def __init__(self, ppm, data, mask=None, noise='gauss',
110
111
# debug
111
112
print ('**************' )
112
113
print self .ref_ .shape
113
- print self .data . _shape
114
+ print self .data_ . shape
114
115
115
116
# Label information
116
117
if labels == None :
0 commit comments