Skip to content

TractFigure Studio: a multi-tool for tractography visualization #104

Description

@gabtaylor1

Title

TractFigure Studio: a multi-tool for tractography visualization

Leaders

Gabriella Taylor (gabtaylor1)

Collaborators

No response

Project description

TractFigure Studio is a cross-platform Python application for loading, inspecting, rendering, and exporting publication-ready diffusion MRI tractography figures. At least, it will be by the end of BrainHack.

To date, there is no singular tractography visualization software that does it all - a veritable "multi-tool" capable of loading any tract file or tractography dataset, making high-quality figures exactly to the user's specifications, and storing all settings in a interpretable format to be used on multiple sets of tracts. We owe it to ourselves and to diffusion researchers everywhere to make that "multi-tool" a reality.

Contributors will build on a validated starter application, incorporating anatomical presets, advanced rendering options, registration controls, scalable tract management, and batch rendering features. This project has something for everyone: whether you come from a neuroscience, computer science, engineering, or UX background, you are bound to find a niche here!

Link to project repository/sources

https://github.com/gabtaylor1/tractfigure-studio/tree/main

Concerete goals with specific tasks for Brainhack Vanderbilt 2026

The starter code already provides installation, data fetching, automatic coordinate detection, and platform cross-integration, as well as independent visibility options, reset behavior, and save/export options. The objective for the hackathon is to build upon this basic foundation in several key areas, including:

  • Neuro: make anatomically meaningful figure presets for users who do not want to configure every visual parameter themselves.
  • Registration: turn the existing registration backend into a full UI registration workflow.
  • Rendering: add customizable glass brain rendering, lighting effects, and color gradient settings.
  • UI: build scalable layer cards, filtering/search features, and explicit global-versus-active-layer operations.
  • API: add batch rendering options to build consistent figures across multiple files or datasets using a single scene "recipe".

Additionally, we propose the following advanced "stretch goals" to be completed only after meeting all of the above milestones:

  • Add deterministic turntable/video export options
  • Add a smooth nonlinear registration prototype
  • Add a "universal adapter" for all major tractography filetypes.

Detailed descriptions and acceptance criteria for the above goals can be found in the attached onboarding document: PREHACKATHON_GUIDE.md

Good first issues

Issue 1: follow the instructions in PREHACKATHON_GUIDE.md from beginning to end. The guide covers all steps in the current project workflow from cloning the repository through submitting a pull request.

Beyond this point, issues are divided by area of focus. Your starting place will depend on your interests. Good first issues per area are:

  • Neuro issue 2: define named anatomical presentation presets (e.g.: Orthographic, Four-view Clinical) and create HEX-value tract palettes for each.
  • Registration issue 2: add new rigid and full-affine registration actions to the existing workflow. Rigid mode should add no scale or shear, and full affine mode should follow the moving-RASMM-to-fixed-RASMM direction.
  • Rendering issue 2: implement a glass-brain surface rendering option using a binary mask of a diffusion or anatomical image.
  • UI issue 2: build scalable layer cards for the current UI. Scenes containing many layers (70+) should remain navigable by the user.
  • API issue 2: add a supported headless CLI/API that loads a scene "recipe", validates its data root, renders requested views, and returns exit codes.

Skills

  • Python: basic to intermediate
    This project is an excellent learning opportunity for beginners.
  • Git: intermediate
    We will use Git extensively throughout the hackathon. Knowledge of CI/CD preferred but not required.
  • UNIX shell/bash: basic
    You must be able to access and navigate a UNIX-like environment. If you don't have this skill, this is a good chance to learn!
  • Prior experience with diffusion MRI processing preferred but not required.
    Bonus points if you have any experience with tractography!

Onboarding documentation

https://github.com/gabtaylor1/tractfigure-studio/blob/main/PREHACKATHON_GUIDE.md

What will participants learn?

  • Build confidence with Python by making visible improvements to a scientific application.
  • Learn Git and GitHub collaboration through guided issues, branches, and code review.
  • Explore diffusion MRI tractography by inspecting and visualizing white matter pathways from multiple datasets.
  • Explore interactive 3D graphics in PyVista, VTK, and Trame.
  • Develop user-interface features such as layer controls and visibility toggles.
  • Work with medical-image coordinate systems and learn to perform visual quality control.

Public data to use

All files are obtained via DIPY's data.fetcher module: https://docs.dipy.org/stable/reference/dipy.data.html#module-dipy.data.fetcher

Number of collaborators

4+

Credit to collaborators

All project contributors will be listed in the README for the Git repository. If a version this project is submitted for publication to a conference or journal, each contributor will be offered co-authorship on the work (provided he/she/they can be contacted by the project leader).

Image

Image

Project Summary

Introducing TractFigure Studio: a Python application for publication-ready tractography figures. Contributors will build on validated starter code, adding anatomical presets, registration controls, and more.

Type

visualization

Development status

1_basic structure

Topic

tractography, data_visualisation

Tools

DIPY, ANTs

Programming language

Python, unix_command_line

Modalities

DWI, MRI

Git skills

1_commit_push, 2_branches_PRs, 3_continuous_integration

Anything else?

No response

Things to do after the project is submitted and ready to review.

  • Add a comment below the main post of your issue saying: Hi @brainhack-vandy/project-monitors my project is ready!

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions