Skip to content

Evaluate whether FreeSurfer's surfa could replace or simplify some of our custom code #13433

@hoechenberger

Description

@hoechenberger

Surfa is a collection of Python utilities for medical image analysis and mesh-based surface processing. It provides tools that operate on 3D image arrays and triangular meshes with consideration of their representation in a world (or scanner) coordinate system. While broad in scope, surfa is developed with particular emphasis on neuroimaging applications.

  • Documentation

  • Code

  • surfa is a Python package derived from FreeSurfer. Some of its outputs and inputs directly overlap with MNE’s use of FreeSurfer I/O (meshes, surfaces, coordinate systems transformations).

  • It has built-in coordinate system awareness (scanner / RAS).

  • It's actively developed by the FreeSurfer team.

  • It uses Cython and compiled extensions for performance-critical operation (which can also be a con, I haven't checked whether they provide up-to-date binary wheels).

  • Since it provides a Python API, we don't need to piece together and call shell commands to run FS operations.

Any thoughts?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions