def test_kfold_xval_MD_mod(): ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "decaying_exp", 10, initial=-0.5, bounds=[(None, None)], signal="log") # Check to see if the sum of the squared errors is around the values # that we want. npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "decaying_exp_plus_const", 10, initial=(-0.5, -0.5), bounds=[(None, None), (None, None)], signal="log") npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "two_decaying_exp", 10, initial=(-0.5, -0.5, -0.5), bounds=[(None, None), (None, None), (None, None)], signal="log") npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "single_exp_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "single_exp_nf_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "bi_exp_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "bi_exp_nf_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1)
def test_kfold_xval_MD_mod(): ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "decaying_exp", 10, initial = -0.5, bounds=[(None, None)], signal="log") # Check to see if the sum of the squared errors is around the values # that we want. npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "decaying_exp_plus_const", 10, initial = (-0.5, -0.5), bounds=[(None, None), (None, None)], signal="log") npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "two_decaying_exp", 10, initial=(-0.5, -0.5, -0.5), bounds=[(None, None), (None, None), (None, None)], signal="log") npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "single_exp_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "single_exp_nf_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "bi_exp_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1) ss_err, predict_out = mdm.kfold_xval_MD_mod(data_pv, bvals_pv, bvecs_pv, mask_pv, "bi_exp_nf_rs", 10) npt.assert_equal(np.mean(ss_err) < 200, 1)
bvals = np.loadtxt(os.path.join(data_path, "bvals")) bvecs = np.loadtxt(os.path.join(data_path, "bvecs")) low = i*2000 # Make sure not to go over the edge of the mask: high = np.min([(i+1) * 2000, int(np.sum(mask_data))]) # Now set the mask: mask = np.zeros(wm_data_file.shape) mask[mask_idx[0][low:high], mask_idx[1][low:high], mask_idx[2][low:high]] = 1 if im == "bi_exp_rs": shorthand_im = "be" elif im == "single_exp_rs": shorthand_im = "se" param_out, fit_out, _ = mdm.optimize_MD_params(data, bvals, bvecs, mask, im, signal = "relative_signal") cod, predict_out = mdm.kfold_xval_MD_mod(data, bvals, bvecs, mask, im, 10, signal="relative_signal") np.save(os.path.join(data_path, "im_cod_%s%s.npy"%(shorthand_im, i)), cod) np.save(os.path.join(data_path, "im_predict_out_%s%s.npy"%(shorthand_im, i)), predict_out) np.save(os.path.join(data_path, "im_param_out_%s%s.npy"%(shorthand_im, i)), param_out) t2 = time.time() print "This program took %4.2f minutes to run."%((t2 - t1)/60.)