コード例 #1
0
                d = DTdirs[di]

                # Repeat simulations for the given directions
                for s_i in np.arange(di * nrep, (di + 1) * nrep):
                    # Multi-compartmental simulations using
                    # Dipy's function multi_tensor
                    signal, sticks = multi_tensor(gtab,
                                                  mevals,
                                                  S0=100,
                                                  angles=[d, (1, 0, 0)],
                                                  fractions=fracts,
                                                  snr=snr)
                    DWI_simulates[fa_i, snr_i, s_i, :] = signal

    # Fit all simulated signals for given set of parameters
    params = nls_fit_tensor(gtab, DWI_simulates, Diso=Dwater)
    fw_params[acq_i, ...] = params

    # Display progress
    prog = (acq_i + 1.0) / nacq * 100
    time.sleep(1)
    sys.stdout.write("\r%f%%" % prog)
    sys.stdout.flush()

# ----------------------------------------------------------------
print('Compute and plot MSE...')
# ----------------------------------------------------------------

fig, axs = plt.subplots(nrows=2, ncols=3, figsize=(13, 10))

# Defining the figure's acquisition labels
コード例 #2
0
data = img.get_data()

affine = img.get_affine()

# ---------------------------------------------------------------
print('Estimate a brain mask...')
# ---------------------------------------------------------------

maskdata, mask = median_otsu(data, 4, 2, False, vol_idx=[0, 1], dilate=1)

# ---------------------------------------------------------------
print('Fitting the free water DTI model...')
# ---------------------------------------------------------------

t0 = time.time()
fw_params = nls_fit_tensor(gtab, data, mask)
dt = time.time() - t0
print("This step took %f seconds to run" % dt)

# ----------------------------------------------------------------
print('Compute tensor statistic from the fitted parameters...')
# ----------------------------------------------------------------

evals = fw_params[..., :3]
FA = dti.fractional_anisotropy(evals)
MD = dti.mean_diffusivity(evals)
F = fw_params[..., 12]

# ----------------------------------------------------------------
print('Compute standard DTI for comparison...')
# ----------------------------------------------------------------
                # Select a diffusion tensor direction
                d = DTdirs[di]

                # Repeat simulations for the given directions
                for s_i in np.arange(di * nrep, (di+1) * nrep):
                    # Multi-compartmental simulations using
                    # Dipy's function multi_tensor
                    signal, sticks = multi_tensor(gtab, mevals,
                                                  S0=100,
                                                  angles=[d, (1, 0, 0)],
                                                  fractions=fracts,
                                                  snr=snr)
                    DWI_simulates[fa_i, snr_i, s_i, :] = signal

    # Fit all simulated signals for given set of parameters
    params = nls_fit_tensor(gtab, DWI_simulates, Diso=Dwater)
    fw_params[acq_i, ...] = params

    # Display progress
    prog = (acq_i+1.0) / nacq * 100
    time.sleep(1)
    sys.stdout.write("\r%f%%" % prog)
    sys.stdout.flush()

# ----------------------------------------------------------------
print('Compute and plot MSE...')
# ----------------------------------------------------------------

fig, axs = plt.subplots(nrows=2, ncols=3, figsize=(13, 10))

# Defining the figure's acquisition labels
コード例 #4
0
                d = DTdirs[di]

                # Repeat each direction 100 times
                for s_i in np.arange(di * nrep, (di+1) * nrep):

                    # Multi-compartmental simulations are done using
                    # Dipy's function multi_tensor
                    signal, sticks = multi_tensor(gtab, mevals, S0=100,
                                                  angles=[d, (1, 0, 0)],
                                                  fractions=fractions,
                                                  snr=SNRa)
                    rep_simulates[s_i, :] = signal

            # Process NLS fitting for all simulation repetitions of
            # a given pair of minimum-maximun b-value
            fw_params[bmin_i, bmax_i, :, :] = nls_fit_tensor(gtab,
                                                             rep_simulates)

            # Process computing progress
            prog = (bmax_i*1.0)/bmax.size + (bmin_i+1.0)/(bmax.size*bmin.size)
            time.sleep(1)
            sys.stdout.write("\r%f%%" % prog * 100)
            sys.stdout.flush()

# ----------------------------------------------------------------
print('Compute FA and f-value statistics and save results...')
# ----------------------------------------------------------------

# select computed diffusion eigenvalues
evals = fw_params[..., :3]

# Compute the tissue's diffusion tensor fractional anisotropy
コード例 #5
0
                for s_i in np.arange(di * nrep, (di + 1) * nrep):

                    # Multi-compartmental simulations are done using
                    # Dipy's function multi_tensor
                    signal, sticks = multi_tensor(gtab,
                                                  mevals,
                                                  S0=100,
                                                  angles=[d, (1, 0, 0)],
                                                  fractions=fractions,
                                                  snr=SNRa)
                    rep_simulates[s_i, :] = signal

            # Process NLS fitting for all simulation repetitions of
            # a given pair of minimum-maximun b-value
            fw_params[bmin_i,
                      bmax_i, :, :] = nls_fit_tensor(gtab, rep_simulates)

            # Process computing progress
            prog = (bmax_i * 1.0) / bmax.size + (bmin_i + 1.0) / (bmax.size *
                                                                  bmin.size)
            time.sleep(1)
            sys.stdout.write("\r%f%%" % prog * 100)
            sys.stdout.flush()

# ----------------------------------------------------------------
print('Compute FA and f-value statistics and save results...')
# ----------------------------------------------------------------

# select computed diffusion eigenvalues
evals = fw_params[..., :3]
コード例 #6
0
data = img.get_data()

affine = img.get_affine()

# ---------------------------------------------------------------
print('Estimate a brain mask...')
# ---------------------------------------------------------------

maskdata, mask = median_otsu(data, 4, 2, False, vol_idx=[0, 1], dilate=1)

# ---------------------------------------------------------------
print('Fitting the free water DTI model...')
# ---------------------------------------------------------------

t0 = time.time()
fw_params = nls_fit_tensor(gtab, data, mask)
dt = time.time() - t0
print("This step took %f seconds to run" % dt)

# ----------------------------------------------------------------
print('Compute tensor statistic from the fitted parameters...')
# ----------------------------------------------------------------

evals = fw_params[..., :3]
FA = dti.fractional_anisotropy(evals)
MD = dti.mean_diffusivity(evals)
F = fw_params[..., 12]

# ----------------------------------------------------------------
print('Compute standard DTI for comparison...')
# ----------------------------------------------------------------