These repositories are small self-contained tools written in pure PyTorch, that I have found useful in many projects.
They are (relatively) stable, as backward-compatible as possible with respect to PyTorch versions, and can be used as core dependencies to higher level projects.
| Package | Description | Readiness |
|---|---|---|
torch-bounds | Boundary conditions (circulant, mirror, reflect) and real transforms (DCT, DST) | 🟢 |
torch-interpol | High-order spline interpolation | 🟢 |
torch-distmap | Euclidean distance transform | 🟢 |
torch-relay | Backward-compatible PyTorch functions (work-in-progress) | 🔴 |
torch-diffeo | Scaling-and-squaring and Geodesic Shooting layers in PyTorch (work-in-progress) | 🟠 |
jitfields | Fast functions for dense scalar and vector fields, implemented using just-in-time compilation | 🟠 |
Note
The last package, jitfields, reimplements many of the utilities from the other core
packages, but does it directly in CUDA/C++.
The CUDA/C++ sources are compiled
just-in-time using cupy
and cppyy.
These packages underpin my research in medical image computing.
In general, my aim is to write a set of mid-level packages that specialize in various tasks (data augmentation, network architectures, modality-specific tasks, etc.).
| Package | Description | Readiness |
|---|---|---|
cornucopia | An abundance of augmentation layers | 🟢 |
nitorch | An (overweight and poorly maintained) package for everything neuroimaging | 🟠 |
synthsurf | Surface-based image synthesis and PyTorch utilities for triangular surfaces | 🟠 |
synthspline | Synthetic tubular structures (vessels, axons) for NN pretraining | 🟠 |
cassetta | A deep learning toolbox (under early development) | 🔴 |
braindataprep | Download, bidsify and preprocess public datasets (work-in-progress) | 🔴 |
| Package | Description | Readiness |
|---|---|---|
variational_staple | STAPLE and variants | 🟢 |
optimal_affine | Build optimal "subject to mean space" affines from "subject to subject" pairwise affines | 🟢 |
metrics | A bunch of metrics | 🔴 |
| Package | Description | Readiness |
|---|---|---|
spm_mni_align | SPM toolbox to align an image to SPM's template space | 🟠 |
multi-bias | Fit a multi-view bias field | 🟢 |
super-resolution | MTV-based denoising/super-resolution | 🟢 |
cmaps | (Some) Matplotlib colormaps in Matlab | 🟢 |
| Package | Description | Readiness |
|---|---|---|
tfaffine | Affine matrices encoded in their Lie algebra, in tensorflow | 🟢 |