コード例 #1
0
ファイル: csdeconv.py プロジェクト: wrgr/dipy
 def fit(self, data):
     dwi_data = data[self._where_dwi]
     shm_coeff, _ = csdeconv(dwi_data,
                             self._X,
                             self.B_reg,
                             self.tau,
                             P=self._P)
     return SphHarmFit(self, shm_coeff, None)
コード例 #2
0
def test_SphHarmFit():
    coef = np.zeros((3, 4, 5, 45))
    mask = np.zeros((3, 4, 5), dtype=bool)

    fit = SphHarmFit(None, coef, mask)
    item = fit[0, 0, 0]
    assert_equal(item.shape, ())
    slice = fit[0]
    assert_equal(slice.shape, (4, 5))
    slice = fit[..., 0]
    assert_equal(slice.shape, (3, 4))
コード例 #3
0
ファイル: csdeconv.py プロジェクト: wrgr/dipy
 def fit(self, data):
     s_sh = np.linalg.lstsq(self.B_dwi, data[self._where_dwi])[0]
     # initial ODF estimation
     odf_sh = np.dot(self.P, s_sh)
     qball_odf = np.dot(self.B_reg, odf_sh)
     Z = np.linalg.norm(qball_odf)
     # normalize ODF
     odf_sh /= Z
     shm_coeff, num_it = odf_deconv(odf_sh, self.R, self.B_reg,
                                    self.lambda_, self.tau)
     # print 'SDT CSD converged after %d iterations' % num_it
     return SphHarmFit(self, shm_coeff, None)
コード例 #4
0
 def fit(self, data, mask=None):
     coeff = np.zeros(data.shape[:-1] + (15, ))
     return SphHarmFit(self, coeff, mask=None)
コード例 #5
0
 def fit(self, data):
     dwi_data = data[self._where_dwi]
     X = self.R.diagonal() * self.B_dwi
     shm_coeff, num_it = csdeconv(dwi_data, self.sh_order, X, self.B_reg,
                                  self.lambda_, self.tau)
     return SphHarmFit(self, shm_coeff, None)
コード例 #6
0
 def fit(self, data):
     s_sh = np.linalg.lstsq(self.B_dwi, data[self._where_dwi])[0]
     shm_coeff, num_it = csdeconv(s_sh, self.sh_order, self.R, self.B_reg,
                                  self.lambda_, self.tau)
     return SphHarmFit(self, shm_coeff, None)