GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - HINTLab/Bonnet: [ISBI'26 Oral] Bonnet: Ultra-Fast Whole-Body Bone Segmentation from CT Scans

BranchesTags
Open more actions menu

Latest commit

 

History

28 Commits
28 Commits

Folders and files

NameName
Last commit message
Last commit date
CACHE/batch_specs=(sparse_voxel),hu_max=3000,hu_min=200/s0000
CACHE/batch_specs=(sparse_voxel),hu_max=3000,hu_min=200/s0000
 
 
DS_ORIGINAL/s0000
DS_ORIGINAL/s0000
 
 
conf
conf
 
 
src
src
 
 
.gitignore
.gitignore
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 

Repository files navigation

  • Bonnet: Ultra-Fast Whole-Body Bone Segmentation from CT Scans

    Bonnet is an ultra-fast whole-body bone segmentation pipeline for CT scans. It runs in seconds per scan on a single commodity GPU while maintaining reliable segmentation quality across different datasets.[Paper]


    Contents

    • Processed training data & model weights
    • Data Preparation
    • Training
    • Inference
    • Citation

    Processed training data & model weights

    • Processed training data: Processed Data
    • Model weights: Weights

    Data Preparation

    If you want to train on your own dataset, use the provided preprocessing script to convert CT and segmentation files into sparse voxel formats (.npz).

    1. Organize your raw data

    Ensure your data follows this structure:

    DS_ORIGINAL/
    ├── s0001/
    │   ├── ct.nii.gz
    │   └── segmentations/ 
    │       ├── vertebra_C1.nii.gz
    │       └── ...
    └── s0002/
    

    2. Run Preprocessing

    The script src/preprocess_dataset.py extracts voxels within the [200, 3000] HU range and maps labels according to conf/classes.yaml.

    Bash

    python src/preprocess_dataset.py
    
    • Input: Defined by INPUT_ROOT in the script.
    • Output: Generates sparse_voxel.npz for each case in the OUTPUT_ROOT.

    Training

    1. Configure Paths:
      • Open Bonnet/conf/data/totalseg_hu200_3000.yaml.
      • Set dataset_path and cache_path to your preprocessed data folder.
    2. Run Training:
    python main.py
    

    Inference

    Option A: Single Case Inference (End-to-End)

    Use inference_single.py to segment a raw .nii.gz CT scan directly. This script handles preprocessing, windowed inference, and volume reconstruction automatically.

    Bash

    python inference_single.py --ct /path/to/ct.nii.gz --out ./prediction.nii.gz --device cuda
    

    Note: Ensure the CHECKPOINT_PATH and CONFIG_PATH inside the script point to your actual local files.

    Option B: Evaluation with Sample Data

    To run evaluation on the provided sample test set:

    1. Open Bonnet/conf/eval/eval_on_test.yaml and set eval_only: True.
    2. Point your data config to the sample data path.
    3. Run: python main.py

Citation

If you find this work useful in your research, please consider citing:

@article{zhu2026bonnet,
  title={Bonnet: Ultra-Fast Whole-Body Bone Segmentation from CT Scans},
  author={Hanjiang Zhu and Pedro Martelleto Rezende and Zhang Yang and Tong Ye and Bruce Z. Gao and Feng Luo and Siyu Huang and Jiancheng Yang},
  journal={arXiv preprint arXiv:2601.22576},
  year={2026}
}

About

[ISBI'26 Oral] Bonnet: Ultra-Fast Whole-Body Bone Segmentation from CT Scans

Resources

Readme
Apache-2.0 license
Activity
Custom properties

Stars

10 stars

Watchers

0 watching

Forks

1 fork
Report repository

Releases

Packages

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.