evdmeshlib
The code that accompanies the research article in Neurosurgical Focus https://doi.org/10.3171/2025.4.FOCUS25163
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
Repository
The code that accompanies the research article in Neurosurgical Focus https://doi.org/10.3171/2025.4.FOCUS25163
Basic Info
Statistics
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
- Releases: 0
Topics
Metadata Files
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-msrvto 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]
trogonis 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
- Repositories: 2
- Profile: https://github.com/MathijsdeBoer
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
- 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
- nvidia/cuda 12.0.1-devel-ubuntu22.04 build
- 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
- 182 dependencies