evdmeshlib

The code that accompanies the research article in Neurosurgical Focus https://doi.org/10.3171/2025.4.FOCUS25163

https://github.com/mathijsdeboer/evdmeshlib

Science Score: 57.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (16.4%) to scientific vocabulary

Keywords

medical-imaging medicine neurosurgery scientific-computing
Last synced: 6 months ago · JSON representation ·

Repository

The code that accompanies the research article in Neurosurgical Focus https://doi.org/10.3171/2025.4.FOCUS25163

Basic Info
  • Host: GitHub
  • Owner: MathijsdeBoer
  • License: mit
  • Language: Jupyter Notebook
  • Default Branch: main
  • Homepage:
  • Size: 2.02 MB
Statistics
  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • Open Issues: 0
  • Releases: 0
Topics
medical-imaging medicine neurosurgery scientific-computing
Created over 2 years ago · Last pushed 7 months ago
Metadata Files
Readme License Citation

Readme.md

ExtraVentricular Drain (EVD) Planning Tool

This code is associated with the paper published in Neurosurgical Focus. If you use this code, please cite the paper.

bibtex @article{de_Boer_Fully_Automatic_Anatomical_2025, author = {de Boer, Mathijs and van Doormaal, Jesse A.M. and Köllen, Mare H. and Bartels, Lambertus W. and Robe, Pierre A.J.T. and van Doormaal, Tristan P.C.}, doi = {10.3171/2025.4.FOCUS25163}, journal = {Neurosurgical Focus}, month = jul, number = {7}, title = {{"Fully Automatic Anatomical Landmark Localization and Trajectory Planning for Navigated External Ventricular Drain Placement"}}, volume = {58}, year = {2025} }

The above citation is provided for convenience, but we encourage you to use the citation format of your choice, as generated by your preferred citation manager.

Requirements

All requirements are documented in the cargo.toml and pyproject.toml files. Building the project requires both the Rust compiler and the Python interpreter.

At time of writing, we used the following versions:

  • Rust 1.84.0
  • Python 3.12.8

[!IMPORTANT] Post-publication notice: We have pinned the maximum supported Python version to 3.12 to ensure that the released code is compatible with the published paper. We currently see no issues in updating the Python version and packages to later ones, but responsibility of correctness lies with the user.

To this end, we've updated the project to work better with uv, to reduce friction in getting started with the project.

Finally, we used cargo-msrv to find the minimum supported Rust version, which is 1.74.1.

Installation

To install the project, clone the repository, open a terminal in the project directory and run the following command:

bash pip install .

[!WARNING] We highly recommend using a virtual environment to avoid conflicts with other projects.

Usage

We provide a set of CLI commands to interact with the main functionalities of the project. Each command will start with evd followed by the subcommand. Note that subcommands can have their own subcommands.

To see the list of available commands, run:

bash evd --help

This will also work for subcommands:

bash evd subcommand --help

We include trogon integration to run the commands in a TUI environment.

bash evd tui

[!WARNING] trogon is a fairly experimental library and may not work as expected.

License

This project is licensed under the MIT License - see the LICENSE file for details.

Owner

  • Name: Mathijs de Boer
  • Login: MathijsdeBoer
  • Kind: user

Citation (Citation.cff)

cff-version: 1.2.0
title: "EVD Planner"
message: "If you use this software, please cite it using the metadata from this file."
authors:
- given-names: "Mathijs"
  family-names: "Boer"
  email: "m.deboer-41@umcutrecht.nl"
  affiliation: "Image Sciences Institute, University Medical Centre Utrecht"
  orcid: "https://orcid.org/0009-0004-6415-7194"
  name-particle: "de"
- given-names: "Jesse A.M."
  name-particle: "van"
  family-names: "Doormaal"
  affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
  orcid: "https://orcid.org/0000-0002-9531-2765"
- given-names: "Mare H."
  family-names: "Köllen"
  affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
- given-names: "Lambertus W."
  family-names: "Bartels"
  affiliation: "Image Sciences Institute, University Medical Centre Utrecht"
- given-names: "Pierre A.J.T."
  family-names: "Robe"
  affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
- given-names: "Tristan P.C."
  name-particle: "van"
  family-names: "Doormaal"
  affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
url: "https://github.com/MathijsdeBoer/EVDMeshLib"
license: MIT
preferred-citation:
  type: article
  authors:
  - given-names: "Mathijs"
    family-names: "Boer"
    email: "m.deboer-41@umcutrecht.nl"
    affiliation: "Image Sciences Institute, University Medical Centre Utrecht"
    orcid: "https://orcid.org/0009-0004-6415-7194"
    name-particle: "de"
  - given-names: "Jesse A.M."
    name-particle: "van"
    family-names: "Doormaal"
    affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
    orcid: "https://orcid.org/0000-0002-9531-2765"
  - given-names: "Mare H."
    family-names: "Köllen"
    affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
  - given-names: "Lambertus W."
    family-names: "Bartels"
    affiliation: "Image Sciences Institute, University Medical Centre Utrecht"
  - given-names: "Pierre A.J.T."
    family-names: "Robe"
    affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
  - given-names: "Tristan P.C."
    name-particle: "van"
    family-names: "Doormaal"
    affiliation: "Department of Neurosurgery, University Medical Centre Utrecht"
  title: >-
      "Fully Automatic Anatomical Landmark Localization and
      Trajectory Planning for Navigated External Ventricular
      Drain Placement"
  doi: "10.3171/2025.4.FOCUS25163"
  journal: "Neurosurgical Focus"
  month: 7
  issue: 7
  volume: 58
  year: 2025

GitHub Events

Total
  • Push event: 1
  • Public event: 1
Last Year
  • Push event: 1
  • Public event: 1

Dependencies

Cargo.lock cargo
  • approx 0.5.1
  • autocfg 1.1.0
  • bitflags 1.3.2
  • bvh 0.9.0
  • bytemuck 1.14.3
  • byteorder 1.5.0
  • cfg-if 1.0.0
  • crossbeam-deque 0.8.5
  • crossbeam-epoch 0.9.18
  • crossbeam-utils 0.8.19
  • either 1.9.0
  • float-cmp 0.9.0
  • getrandom 0.2.11
  • heck 0.4.1
  • indoc 2.0.4
  • itertools 0.12.1
  • libc 0.2.150
  • lock_api 0.4.11
  • log 0.4.20
  • matrixmultiply 0.3.8
  • memoffset 0.9.0
  • nalgebra 0.32.4
  • nalgebra-macros 0.2.1
  • ndarray 0.15.6
  • noise 0.9.0
  • num 0.4.1
  • num-bigint 0.4.4
  • num-complex 0.4.4
  • num-integer 0.1.45
  • num-iter 0.1.44
  • num-rational 0.4.1
  • num-traits 0.2.17
  • numpy 0.21.0
  • once_cell 1.18.0
  • parking_lot 0.12.1
  • parking_lot_core 0.9.9
  • paste 1.0.14
  • portable-atomic 1.6.0
  • ppv-lite86 0.2.17
  • proc-macro2 1.0.78
  • pyo3 0.21.2
  • pyo3-build-config 0.21.2
  • pyo3-ffi 0.21.2
  • pyo3-macros 0.21.2
  • pyo3-macros-backend 0.21.2
  • quote 1.0.35
  • rand 0.8.5
  • rand_chacha 0.3.1
  • rand_core 0.6.4
  • rand_xorshift 0.3.0
  • rawpointer 0.2.1
  • rayon 1.9.0
  • rayon-core 1.12.1
  • redox_syscall 0.4.1
  • rustc-hash 1.1.0
  • safe_arch 0.7.1
  • scopeguard 1.2.0
  • serde 1.0.197
  • serde_derive 1.0.197
  • simba 0.8.1
  • smallvec 1.11.2
  • stl_io 0.7.0
  • syn 1.0.109
  • syn 2.0.52
  • target-lexicon 0.12.12
  • typenum 1.17.0
  • unicode-ident 1.0.12
  • unindent 0.2.3
  • wasi 0.11.0+wasi-snapshot-preview1
  • wide 0.7.17
  • windows-targets 0.48.5
  • windows_aarch64_gnullvm 0.48.5
  • windows_aarch64_msvc 0.48.5
  • windows_i686_gnu 0.48.5
  • windows_i686_msvc 0.48.5
  • windows_x86_64_gnu 0.48.5
  • windows_x86_64_gnullvm 0.48.5
  • windows_x86_64_msvc 0.48.5
Cargo.toml cargo
Dockerfile docker
  • nvidia/cuda 12.0.1-devel-ubuntu22.04 build
pyproject.toml pypi
  • PyMCubes ~=0.1.4
  • SimpleITK ~=2.3.1
  • arrow ~=1.3.0
  • click ~=8.1.3
  • crc32c ~=2.3.0
  • imageio ~=2.33.1
  • lightning ~=2.1.4
  • loguru ~=0.7.2
  • matplotlib ~=3.8.2
  • monai ~=1.3.0
  • numpy ~=1.26.0
  • opensimplex ~=0.4.5
  • optuna ~=3.5.0
  • pillow ~=10.2.0
  • seaborn ~=0.13.2
  • tensorboard ~=2.16.2
  • tensorboardx ~=2.6.2.2
  • torch ~=2.2.0
  • tqdm ~=4.66.1
  • trogon ~=0.5.0
uv.lock pypi
  • 182 dependencies