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)
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))
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)
def fit(self, data, mask=None): coeff = np.zeros(data.shape[:-1] + (15, )) return SphHarmFit(self, coeff, mask=None)
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)
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)