Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Support surface data #830

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

JulioAPeraza
Copy link
Collaborator

@JulioAPeraza JulioAPeraza commented Aug 30, 2023

Closes None.

In this PR, I will start drafting some of the things we need to implement to support surface data in NiMARE.

  • Support 2D coordinates of vertices in Kernel transformers: ALEKernel, and KDAKernel.
  • Support 2D arrays in compute_kda_ma and compute_ale_ma to compute MA maps on the surface.
  • Note: For these cases, we won't need sparse arrays.
  • Return 2D kernels from get_ale_kernel when requested.
  • Add vertex2voxel and voxel2vertex functions. Use registration fusion (Wu et al., 2018).
  • For voxel2vertex (required for surface-based meta-analysis), use a surface-to-MNI mapping (only available for fsaverage 164K, here). This function implemented in Matlab returns the indices of the vertex given the MNI coordinate from volume space.
  • For vertex2voxel (not required, only implemented for completeness), use the MNI-to-surface mapping available here. Surfaces available: civet (41k), fsaverage (3k, 10k, 41k, 164k), and fsLR (32k, 164k). See here a Matlab implementation.
  • For the kernel transformer, get the geodesic distance between all vertices on the surface. See get_surface_distance.
  • Masker:
  • In this case, we won't need a masker, but a function that converts gifti to a numpy array. See _gifti_to_array in neuromaps.
  • Remove the medial wall from each hemisphere and stack the two arrays: https://github.com/JulioAPeraza/gradec/blob/c2cae635132c2b42b47c36b237fb393eb6ebc158/gradec/utils.py#L121

@JulioAPeraza JulioAPeraza added enhancement New feature or request effort: high Estimated high effort task opinions wanted A discussion item for which opinions would be appreciated. labels Aug 30, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort: high Estimated high effort task enhancement New feature or request opinions wanted A discussion item for which opinions would be appreciated.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant