コード例 #1
0
def reconstruction(conn_model, gtab, dwi_data, B0_mask):
    """
    Estimate a tensor model from dwi data.

    Parameters
    ----------
    conn_model : str
        Connectivity reconstruction method (e.g. 'csa', 'tensor', 'csd',
        'sfm').
    gtab : Obj
        DiPy object storing diffusion gradient information.
    dwi_data : array
        4D array of dwi data.
    B0_mask : str
        File path to B0 brain mask.

    Returns
    -------
    mod_fit : ndarray
        Fitted connectivity reconstruction model.
    mod : obj
        Connectivity reconstruction model.

    References
    ----------
    .. [1] Soares, J. M., Marques, P., Alves, V., & Sousa, N. (2013).
      A hitchhiker’s guide to diffusion tensor imaging.
      Frontiers in Neuroscience. https://doi.org/10.3389/fnins.2013.00031

    """
    from pynets.dmri.estimation import (
        csa_mod_est,
        csd_mod_est,
        sfm_mod_est,
        tens_mod_est,
    )

    if conn_model == "csa" or conn_model == "CSA":
        [mod_fit, mod] = csa_mod_est(gtab, dwi_data, B0_mask)
    elif conn_model == "csd" or conn_model == "CSD":
        [mod_fit, mod] = csd_mod_est(gtab, dwi_data, B0_mask)
    elif conn_model == "sfm" or conn_model == "SFM":
        [mod_fit, mod] = sfm_mod_est(gtab, dwi_data, B0_mask)
    elif conn_model == "ten" or conn_model == "tensor" or \
        conn_model == "TEN":
        [mod_fit, mod] = tens_mod_est(gtab, dwi_data, B0_mask)
    else:
        try:
            raise ValueError(
                "Error: No valid reconstruction model specified. See the "
                "`-mod` flag."
            )
        except ValueError:
            import sys
            sys.exit(0)

    del dwi_data

    return mod_fit, mod
コード例 #2
0
ファイル: test_estimation.py プロジェクト: dPys/PyNets
def test_sfm_mod_est(dmri_estimation_data):
    """Test SFM model estimation."""

    gtab = dmri_estimation_data['gtab']
    dwi_file = dmri_estimation_data['dwi_file_small']
    dwi_data_small = nib.load(dwi_file).get_fdata()
    B0_mask_file = dmri_estimation_data['B0_mask_small']

    [sf_odf, model] = sfm_mod_est(gtab, dwi_data_small, B0_mask_file)

    assert sf_odf is not None
    assert model is not None
コード例 #3
0
def test_sfm_mod_est(dmri_estimation_data):
    """Test SFM model estimation."""

    gtab = dmri_estimation_data['gtab']
    dwi_data = dmri_estimation_data['dwi_img']
    B0_mask_img = dmri_estimation_data['B0_mask_img']

    B0_mask_file = tempfile.NamedTemporaryFile(mode='w+', suffix='.nii.gz')
    nib.save(B0_mask_img, B0_mask_file.name)
    dwi_data = dwi_data.get_fdata()

    [sf_odf, model] = sfm_mod_est(gtab, dwi_data, B0_mask_file.name)

    assert sf_odf is not None
    assert model is not None

    B0_mask_file.close()