roi_cache.py 文件源码

python
阅读 23 收藏 0 点赞 0 评论 0

项目:Waskom_PNAS_2017 作者: WagnerLabPapers 项目源码 文件源码
def surface_transform(vals, subj, hemi, direction="reverse"):
    """Transform a surface scalar map using spherical transform.

    Parameters
    ----------
    vals : array or Series
        Scalar value map to transform.
    subj : string
        Freesurfer subject ID.
    hemi : lh | rh
        Hemisphere data are defined on
    direction : reverse | forward
        Whether transformation should be from group space to subject space
        (reverse) or the other direction (forward).

    Returns
    -------
    out_vals : array or Series
        Scalar value map defined on new surface.

    """
    data_dir = PROJECT["data_dir"]
    sphere_reg_fname = op.join(data_dir, subj, "surf", hemi + ".sphere.reg")
    avg_sphere_fname = op.join(data_dir, "fsaverage/surf", hemi + ".sphere")

    sphere_reg, _ = nib.freesurfer.read_geometry(sphere_reg_fname)
    avg_sphere, _ = nib.freesurfer.read_geometry(avg_sphere_fname)

    if direction.startswith("f"):
        src_sphere, trg_sphere = sphere_reg, avg_sphere
    elif direction.startswith("r"):
        src_sphere, trg_sphere = avg_sphere, sphere_reg

    interpolator = interpolate.NearestNDInterpolator(src_sphere, vals)
    out_vals = interpolator(trg_sphere)

    if isinstance(vals, pd.Series):
        out_vals = pd.Series(out_vals)

    return out_vals
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号