Back to
Projects List
NousNav Project Updates
Key Investigators
- Sam Horvath (Kitware, USA)
- Alexandra Golby (BWH, USA)
- Tina Kapur (BWH, USA)
Project Description
The NousNav project is an initiative led by Dr Alexandra Golby to develop a low-cost neuronavigation system designed for use in low- and middle-income countries. We are developing a 3D Slicer based application focused on supporting segmentation, registration and navigation tasks.
The project will also include the development of open source hardware desgins for these applications.
This week will include continued development on the NousNav project, in preparation for work with new collaborators. This includes new usability features, UI refinement and updating the guidance images for the patient registration.
Objectives and Progress
- Generate installers for NousNav 1.1
- In progress, pending IGSIO build fixes
- 1.2 tasks finished:
- Add recenter views toolbar button — New toolbar button (Google Material “my_location” icon) next to the screenshot button that recenters all 2D slice views and resets 3D cameras.
- Update registration guidance images — Updated images used during the registration workflow.
- Fix picture layout image scaling to maintain aspect ratio — Replaced ctkThumbnailLabel with QLabel and added a resize event filter to scale images proportionally using KeepAspectRatio.
- Fix tab bars to fit all tabs without scrolling — Disabled scroll buttons on primary and secondary tab bars, removed min-width: 200px from tab QSS rules, and zeroed spacer stretch factors so tabs share available space. Closes #322.
- Reduce module panel width to give more space to central layout — Scaled down per-page widget sizes by ~5% (fonts, margins, min-heights) and set minimum size policy on the module panel.
- Add user-settable RMSE error thresholds in settings dialog — Added a new “Error Thresholds” section to the settings dialog with spin boxes for pivot, spin, registration, initial registration, and conditional registration RMSE thresholds, persisted via QSettings.
- Replace flake8 with ruff for pre-commit linting — Swapped flake8 for ruff (v0.15.17) in .pre-commit-config.yaml, created ruff.toml with equivalent rules adapted from Slicer, and auto-fixed 89 whitespace issues.
- Work on addressing licensing concerns from MGB
Illustrations


Background and References
Previous Project Week Pages:
No response