Skip to main content

2D and 3D Skeletonization and Graph-based Analysis

Project description

VesSkel

Vessel Skeletonization and Graph-Based Phenotype Analysis in Retinal Fundus Images

Installation

uv sync                  # core only
uv sync --extra dev      # + test tools
uv sync --extra napari   # + napari GUI
uv sync --all-extras     # everything

Napari

uv sync --extra napari && uv run napari

Open a manual1 TIFF from the HRF folder, then run Lee94 Thinning from the VesSkel plugin menu to see the skeleton.

Inside the Analyze Vessels widget, tune extraction settings and use Save Config to export a reusable JSON preset.

CLI

Use the same JSON preset exported from napari to batch-process images.

vesskel config-init --out config.json
vesskel validate-config --config config.json
vesskel run --input HRF/manual1 --config config.json --out outputs

CLI outputs:

  • outputs/summary.csv with one feature row per image
  • Optional per-image skeleton outputs (default: .npy)
  • Optional per-image branch tables when output.write_branch_csv=true

Shell completions

# zsh
eval "$(vesskel completions zsh)"

# bash
eval "$(vesskel completions bash)"

# PowerShell
vesskel completions powershell | Out-String | Invoke-Expression

Add the appropriate line to your shell rc for persistent tab-completion.

Tests

uv sync --extra dev && uv run pytest                     # all tests
uv sync --extra dev && uv run pytest -m "not slow"       # skip regression tests
  • 2D regression - thinning + feature extraction on all 45 HRF samples, compared against saved baselines
  • 3D regression - thinning + features on a brain volume (from scikit-image), same baseline approach
  • 3D comparison - vesskel lee94_thin vs skimage.morphology.skeletonize on the brain volume, asserting identical output

First run (or --update-baseline) generates baselines in tests/skeletons/ and tests/features/.

Dataset

This project uses the High-Resolution Fundus (HRF) Image Database, established by a collaborative research group to support comparative studies on automatic segmentation algorithms on retinal fundus images.

The database contains 45 images total:

  • 15 images of healthy patients
  • 15 images of patients with diabetic retinopathy
  • 15 images of glaucomatous patients

Binary gold standard vessel segmentation images and field of view (FOV) masks are available for each image.

License

Budai, Attila; Bock, Rüdiger; Maier, Andreas; Hornegger, Joachim; Michelson, Georg. Robust Vessel Segmentation in Fundus Images. International Journal of Biomedical Imaging, vol. 2013, 2013

The HRF dataset is released under the Creative Commons 4.0 Attribution License.

For more information, visit the HRF Image Database.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

vesskel-3.6.0.tar.gz (37.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vesskel-3.6.0-py3-none-any.whl (31.4 kB view details)

Uploaded Python 3

File details

Details for the file vesskel-3.6.0.tar.gz.

File metadata

  • Download URL: vesskel-3.6.0.tar.gz
  • Upload date:
  • Size: 37.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vesskel-3.6.0.tar.gz
Algorithm Hash digest
SHA256 0e5be153c18f51fde36b3bc6cb49be19c79d553b37d2227c922d61530b3b8634
MD5 39bf6035e441ec4479ab9704093bc8c8
BLAKE2b-256 5fd369e5395ea69735450d21c5eb48312afd317f7a4aadd988478e373375e06b

See more details on using hashes here.

Provenance

The following attestation bundles were made for vesskel-3.6.0.tar.gz:

Publisher: release.yml on 404Simon/VesSkel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file vesskel-3.6.0-py3-none-any.whl.

File metadata

  • Download URL: vesskel-3.6.0-py3-none-any.whl
  • Upload date:
  • Size: 31.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for vesskel-3.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 f2e72737e1d2e4ad6476225aee6836d119dec07076cdba86173bed151eae2f44
MD5 355700a191e9452ef01c429cd42d75cb
BLAKE2b-256 042c2dc5b125ae50db8663e94ad424bdb237922297460089a78e9cb9cc1191ec

See more details on using hashes here.

Provenance

The following attestation bundles were made for vesskel-3.6.0-py3-none-any.whl:

Publisher: release.yml on 404Simon/VesSkel

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page