Skip to content

Project: 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

    Labels

    2026projects for brainhack 2026approvedthe label for an approved projectproject-proposal

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions