$npx skillfedfor your agent

fill-voids

Fill voids in 3D binary images fast.

With conditionsPyPI Scientific/EngineeringReleased Apr 2026113.0K downloads / moLGPL-3.0-or-laterPlatform wheel

Decision gist · record as of 2026-08-14

platform wheels — fill_voids-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl · fill_voids-2.1.2-cp310-cp310-macosx_11_0_arm64.whl · fill_voids-2.1.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl
v2.1.2 · released 2026-04-30 · 2 runtime deps: numpy, fastremap

Yes, if you work with binary image morphology and need better performance than scipy.ndimage.binary_fill_holes. The package is actively maintained, has no vulnerabilities, and offers prebuilt wheels for common platforms. The LGPL-3.0-or-later license is permissive for research and open-source use but requires derivative works to remain open; verify compatibility with your project's licensing model. Medium install friction is acceptable for the performance gain in image processing workflows.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires numpy and fastremap as runtime dependencies; C++ compiler needed if installing from source on unsupported platforms.
  • Medium install friction due to compiled C++ components; prebuilt wheels available for Python 3.10, 3.11, and 3.12 on macOS, Linux (manylinux, musllinux), and Windows.
  • Falls back to source build if no wheel matches your platform, requiring a C++ compiler and python3-dev headers.

License · maintenance · safety

LGPL-3.0-or-later (copyleft) — Licensed under LGPL-3.0-or-later (copyleft). Derivative works and modifications must be released under compatible terms; static linking or closed-source use requires explicit permission or relicensing.

last release 2026-04-30 (106 days) · last repo commit 2026-04-29 · 30 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 113,036 downloads/mo, #12,353 on PyPI

Verify before relying

import fill_voids
import numpy as np

img = np.zeros((512, 512), dtype=np.uint8)
filled = fill_voids.fill(img, in_place=False)
filled, N = fill_voids.fill(img, return_fill_count=True)
  • Performance improvement magnitude vs. scipy.ndimage.binary_fill_holes on typical workloads
  • Memory overhead of in_place=False mode on large images
  • Whether Python 3.9 and 3.13 are supported at runtime despite classifier presence
Same gist for agents: .md · .json

What it is and what it does

fill-voids is a Python library that fills interior holes in binary images using a fast scan-line flood-fill algorithm. It works on both 2D and 3D arrays and is designed to be significantly faster and more memory-efficient than scipy's binary_fill_holes, which uses slower serial dilations. The library is written in C++ with Python bindings, and it exposes both a Python API and a C++ header for direct use.

The algorithm marks foreground pixels, scans from image boundaries to identify background regions connected to the exterior, then flood-fills those regions. Everything not visited by the flood fill is marked as foreground, effectively filling all interior voids. It uses performance tricks like libdivide for coordinate computation and directional scanning to exploit memory locality. The package is actively maintained, supports Python 3.10, 3.11, and 3.12 with prebuilt wheels, and has no known security vulnerabilities.

Use it for

  • Cleaning up connectomics segmentation masks by filling small holes in labeled regions before downstream analysis.
  • Preprocessing binary medical images to remove noise artifacts before feature extraction or registration.
  • Morphological post-processing in computer vision pipelines where speed matters on large 3D volumetric data.
  • Filling voids in 2D binary masks for image segmentation refinement in scientific imaging workflows.
  • Real-time or batch processing of densely labeled 3D datasets where scipy's performance is a bottleneck.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you work with binary image morphology and need better performance than scipy.ndimage.binary_fill_holes.

The package is actively maintained, has no vulnerabilities, and offers prebuilt wheels for common platforms. The LGPL-3.0-or-later license is permissive for research and open-source use but requires derivative works to remain open; verify compatibility with your project's licensing model. Medium install friction is acceptable for the performance gain in image processing workflows.

Install

fill-voids on PyPI

Before you install

Medium install friction due to compiled C++ components; prebuilt wheels available for Python 3.10, 3.11, and 3.12 on macOS, Linux (manylinux, musllinux), and Windows. Falls back to source build if no wheel matches your platform, requiring a C++ compiler and python3-dev headers.

Requires numpy and fastremap as runtime dependencies; C++ compiler needed if installing from source on unsupported platforms.

License in practice

Licensed under LGPL-3.0-or-later (copyleft). Derivative works and modifications must be released under compatible terms; static linking or closed-source use requires explicit permission or relicensing.

Quickstart

import fill_voids
import numpy as np

img = np.zeros((512, 512), dtype=np.uint8)
filled = fill_voids.fill(img, in_place=False)
filled, N = fill_voids.fill(img, return_fill_count=True)

Verify before relying

  • Performance improvement magnitude vs. scipy.ndimage.binary_fill_holes on typical workloads
  • Memory overhead of in_place=False mode on large images
  • Whether Python 3.9 and 3.13 are supported at runtime despite classifier presence

Package facts

LicenseLGPL-3.0-or-later copyleft
Python supportNot specified
Install frictionMedium. Platform-specific wheel
Runtime dependencies
2 packages
numpyfastremap
MaintenanceActively maintained 106 days since the last release
Last repo commit
First released
Downloads113,036 / month, #12,353 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableIntended Audience :: DevelopersProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9Topic :: Scientific/Engineering

Evidence: fill_voids-2.1.2-cp310-cp310-macosx_10_9_x86_64.whl; fill_voids-2.1.2-cp310-cp310-macosx_11_0_arm64.whl; fill_voids-2.1.2-cp310-cp310-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; fill_voids-2.1.2-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; fill_voids-2.1.2-cp310-cp310-musllinux_1_2_aarch64.whl; fill_voids-2.1.2-cp310-cp310-musllinux_1_2_x86_64.whl; fill_voids-2.1.2-cp310-cp310-win_amd64.whl; fill_voids-2.1.2-cp311-cp311-macosx_10_9_x86_64.whl; fill_voids-2.1.2-cp311-cp311-macosx_11_0_arm64.whl; fill_voids-2.1.2-cp311-cp311-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; fill_voids-2.1.2-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; fill_voids-2.1.2-cp311-cp311-musllinux_1_2_aarch64.whl; fill_voids-2.1.2-cp311-cp311-musllinux_1_2_x86_64.whl; fill_voids-2.1.2-cp311-cp311-win_amd64.whl; fill_voids-2.1.2-cp312-cp312-macosx_10_13_x86_64.whl; fill_voids-2.1.2-cp312-cp312-macosx_11_0_arm64.whl; fill_voids-2.1.2-cp312-cp312-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl; fill_voids-2.1.2-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl; fill_voids-2.1.2-cp312-cp312-musllinux_1_2_aarch64.whl; fill_voids-2.1.2-cp312-cp312-musllinux_1_2_x86_64.whl

Tags

Capabilities
binary image hole fillingvoid filling 3d imagesflood fill algorithmmorphological image processingconnectomics segmentationfast binary morphologyimage inpainting voids
Topics
image-processingmorphologyhigh-performance

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “binary image hole filling”

  • fill-voidsFills interior voids in 2D and 3D binary images using a fast…
  • simple-lama-inpaintingPerforms image inpainting using the LaMa model, filling in masked…
  • DataRecorderDataRecorder provides buffered writing tools for saving data to files…

Give your agent the search over MCP, or paste the wish link into any chat.

More Scientific/Engineering packages

numpy Worth it
PyPI · Software Development · released Aug 2026

NumPy provides an N-dimensional array object and a comprehensive suite of mathematical, linear algebra, Fourier transform, and random number functions for scientific computing in Python.

BSD-3-Clause AND 0BSD AND MIT AND Zlib AND CC0-1.0compiled wheel · 3.12+
1.1Bdownloads / mo
pandas Worth it
PyPI · Scientific/Engineering · released Jul 2026

pandas provides fast, flexible data structures (Series and DataFrame) for loading, cleaning, transforming, and analyzing labeled or relational data in Python.

BSD-3-Clausecompiled wheel · 3.11+
769.1Mdownloads / mo
scipy Worth it
PyPI · Libraries · released Jun 2026

scipy provides numerical algorithms for mathematics, science, and engineering—including optimization, integration, linear algebra, Fourier transforms, signal and image processing, and ODE solvers—built on numpy arrays.

BSD-3-Clausecompiled wheel · 3.12+
449.0Mdownloads / mo
scikit-learn Worth it
PyPI · Software Development · released Jun 2026

scikit-learn provides a comprehensive Python library for supervised and unsupervised machine learning, including classification, regression, clustering, dimensionality reduction, and model evaluation tools built on NumPy and SciPy.

Install it if you need to train, evaluate, or deploy supervised or unsupervised learning models.

BSD-3-Clausecompiled wheel · 3.11+
235.5Mdownloads / mo
dill Worth it
PyPI · Software Development · released Jan 2026

dill extends Python's pickle module to serialize and deserialize a much wider range of Python objects, including functions, lambdas, classes, and interpreter sessions, to byte streams for storage or network transmission.

BSD-3-Clausepure Python · 3.9+
208.1Mdownloads / mo
multiprocess Worth it
PyPI · Software Development · released Jan 2026

Multiprocess is an enhanced fork of Python's standard multiprocessing library that uses dill for better serialization, allowing you to spawn processes with a threading-like API and share complex objects between them.

Install it if you use multiprocessing and encounter pickle serialization limits with lambdas or complex objects.

BSD-3-Clausepure Python · 3.9+
202.7Mdownloads / mo

See also connected-components-3d · simple-lama-inpainting · pixeloe · isosurfaces · fastremap · batchgenerators · PyMatting · opensimplex · blendmodes · empty-files