py_distance_transforms
is a Python package that provides efficient distance transform operations on arrays. It is a wrapper around the Julia package DistanceTransforms.jl, bringing its high-performance capabilities to the Python ecosystem.
Docs | Description |
---|---|
Getting Started: | A quickstart guide to using py_distance_transforms for efficient distance transform operations on arrays. |
Deep Learning (Hausdorff Loss): | A MONAI tutorial adjusted to show how to use the Hausdorff loss function and the corresponding py_distance_transforms |
- Fast distance transform computations on CPU and GPU
- Support for 1D, 2D, and 3D arrays
- Multi-threading for enhanced CPU performance
- GPU acceleration for NVIDIA GPUs (CUDA)
- Simple and intuitive API
Install py_distance_transforms
using pip:
pip install py_distance_transforms
from py_distance_transforms import transform
import numpy as np
arr = np.random.choice([0, 1], size=(10, 10)).astype(np.float32)
result = transform(arr)
import torch
from py_distance_transforms import transform_cuda
x_gpu = torch.rand((100, 100), device='cuda')
x_gpu = (x_gpu > 0.5).float()
gpu_transformed = transform_cuda(x_gpu)
py_distance_transforms
is a Python wrapper around the Julia package DistanceTransforms.jl.- Huge thanks to @pabloferz for getting DLPack.jl to work with PythonCall/juliacall and PyTorch. Massive thanks to @cjdoris and all of the contributors to PythonCall.jl as well.