Skip to main content

supervoxel-splitter

codecov

Pluggable supervoxel-splitting algorithms behind a uniform Splitter interface.

What it does

Given a 3-D foreground mask, source seeds, and sink seeds, return a labeled volume that partitions the foreground into a source side and a sink side. Useful for proofreading workflows that need to split a single supervoxel without touching the rest of the segmentation.

The package ships multiple techniques behind the same Splitter protocol:

  • GeodesicSplitter — anisotropic geodesic carve via an EDT-derived speed field. Default technique; preserves the neck-aware behavior used in PyChunkedGraph today.
  • WatershedSplitter — seeded watershed on the distance transform.
  • NoopSplitter — reference implementation; documents the protocol shape for downstream plugin authors (e.g. a learned splitter).

Install

Requires Python 3.14 or newer.

pip install supervoxel-splitter           # core
pip install "supervoxel-splitter[fast]"   # adds dijkstra3d as the geodesic backend

The uniform interface

Every splitter satisfies the same Splitter protocol. Technique-specific knobs live on the constructor; split() itself stays clean.

from supervoxel_splitter import GeodesicSplitter

splitter = GeodesicSplitter(backend="dj3d")
result = splitter.split(
    mask=foreground_3d_bool,
    sources=src_seeds_xyz,
    sinks=snk_seeds_xyz,
    voxel_size=(4.0, 4.0, 40.0),
)

# result.labels: uint8 in {0, SOURCE, SINK, STRAY}
# result.side_of_label: {SOURCE: 1, SINK: 2}
# result.diagnostics: per-stage timings, label counts, etc.

Plugin authors implement the protocol structurally — no base class to inherit:

class MyLearnedSplitter:
    def __init__(self, *, model_path):
        ...
    def split(self, mask, sources, sinks, *,
              voxel_size=(1.0, 1.0, 1.0),
              vol_order="xyz", vox_order="xyz", seed_order="xyz"):
        ...
        return SplitResult(...)

assert isinstance(MyLearnedSplitter(model_path="..."), Splitter)

Boundary

The package knows nothing about ChunkedGraph, BigTable, IDs, or edges. It takes voxels in and gives labels back. New-ID minting, edge updates, and persistence are the consumer's responsibility.

Status

v0.1.0 covers GeodesicSplitter. WatershedSplitter and NoopSplitter ship as small reference impls demonstrating the protocol; production-quality parity with geodesic is out of scope for v0.1.0.

License

MIT.

Metadata

Release files for supervoxel-splitter 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for supervoxel-splitter 0.1.0
File Size Uploaded Provenance Actions
supervoxel_splitter-0.1.0.tar.gz 29.3 kB With provenance Details for supervoxel_splitter-0.1.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for supervoxel-splitter 0.1.0
File Interpreter ABI Platform Actions
supervoxel_splitter-0.1.0-py3-none-any.whl Python 3 none any Details for supervoxel_splitter-0.1.0-py3-none-any.whl

Total release size: 56.1 kB

Release files / supervoxel_splitter-0.1.0.tar.gz

Download URL supervoxel_splitter-0.1.0.tar.gz
Size 29.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d1f6d847c75d25945ef8209a6f7dac863d945b7d031eb3d0c25d38a414b14968
BLAKE2b-256 checksum
How to use checksums
0d3d63ff7bf7107a303b1c6fed7bfc90d3a0bdd9f97043b48414b1f08039905c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.

Transparency log

Release files / supervoxel_splitter-0.1.0-py3-none-any.whl

Download URL supervoxel_splitter-0.1.0-py3-none-any.whl
Size 26.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4b89d7aeaff37360716794fb0af7c582e5aca2566528782092385f197545eec8
BLAKE2b-256 checksum
How to use checksums
07c3786ebaa11c1a7ad1bade8e94ec87acd2d2ca2ee0c6cabcda3edb054b5a7e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.

Transparency log

Security for supervoxel-splitter 0.1.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for supervoxel_splitter-0.1.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files Full provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page