Skip to main content

Python bindings for DIPlib, the quantitative image analysis library

Project description

Python bindings to DIPlib 3 (a.k.a. PyDIP)

Introduction

The purpose of the DIPlib project is to provide a one-stop library and development environment for quantitative image analysis, be it applied to microscopy, radiology, astronomy, or anything in between.

As opposed to all other image processing/analysis libraries and packages out there, DIPlib focuses on quantification. The first priority is precision, all other principles have a lower priority. Our principles are:

  1. Precision:

    We implement the most precise known methods, and output often defaults to floating-point samples. The purpose of these algorithms is quantification, not approximation.

  2. Ease of use

    Although our Python bindings are not much more than a thin wrapper of the C++ library functionality, the image analysis functionality is always easy to use. For example, the user does not, in general, need to be aware of the data type of the image to use these algorithms effectively.

  3. Efficiency

    We implement the most efficient known algorithms, as long as they don't compromise precision. Ease-of-use features might also incur a slight overhead in execution times. The library can be used in high-throughput quantitative analysis pipelines, but is not designed for real-time video processing.

Besides an extensive collection of image processing and analysis algorithms, this package contains DIPviewer, an interactive multi-dimensional image viewer, and DIPjavaio, an interface to the OME Bio-Formats library. The package is compatible with NumPy and any image processing package that uses a NumPy-compatible way of representing images.

See the DIPlib website for more information.

Note! We consider the Python bindings (PyDIP) to be in development. We aim at not making breaking changes, but will sometimes do so when we feel it significantly improves the usability of the module. These changes will always be highlighted in the change logs and the release notification on the DIPlib website. We recommend that you pin your project to use a specific version of the package on PyPI, and carefully read the change logs before upgrading.

Installation

To install, simply type

pip install diplib

Windows users might need to install the Microsoft Visual C++ Redistributable for Visual Studio.

To read images through the Bio-Formats library, you will need to download it separately:

python -m diplib download_bioformats

Note: The diplib package on PyPI vendors the OpenMP library for some platforms (libomp.dylib on macOS, libgomp.so on Linux). It is possible, though rare, for another package to vendor an incompatible OpenMP library, and for the combined use to cause Python to crash. See for example this issue. If you happen to run into this problem, please let us know!. You can find more information about the simultaneous use of multiple OpenMP libraries on this page.

Usage

The interface only has automatically generated docstrings that show the names of each of the parameters, together with the first paragraph of the function's documentation, except where the syntax differs from that of DIPlib. Use the DIPlib reference to learn how to use each function. Get started by reading the PyDIP User Manual.

These Jupyter notebooks replicate much of what is shown in the User Manual:

License

Copyright 2014-2025 Cris Luengo and contributors
Copyright 1995-2014 Delft University of Technology

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this library except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0
(or see the LICENSE.txt file in this distribution)

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

diplib-3.6.0-cp314-cp314-win_amd64.whl (5.7 MB view details)

Uploaded CPython 3.14Windows x86-64

diplib-3.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

diplib-3.6.0-cp314-cp314-macosx_14_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.14macOS 14.0+ ARM64

diplib-3.6.0-cp313-cp313-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.13Windows x86-64

diplib-3.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

diplib-3.6.0-cp313-cp313-macosx_14_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.13macOS 14.0+ ARM64

diplib-3.6.0-cp313-cp313-macosx_13_0_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.13macOS 13.0+ x86-64

diplib-3.6.0-cp312-cp312-win_amd64.whl (5.6 MB view details)

Uploaded CPython 3.12Windows x86-64

diplib-3.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

diplib-3.6.0-cp312-cp312-macosx_14_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.12macOS 14.0+ ARM64

diplib-3.6.0-cp312-cp312-macosx_13_0_x86_64.whl (7.3 MB view details)

Uploaded CPython 3.12macOS 13.0+ x86-64

diplib-3.6.0-cp311-cp311-win_amd64.whl (5.5 MB view details)

Uploaded CPython 3.11Windows x86-64

diplib-3.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (8.5 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

diplib-3.6.0-cp311-cp311-macosx_14_0_arm64.whl (6.1 MB view details)

Uploaded CPython 3.11macOS 14.0+ ARM64

diplib-3.6.0-cp311-cp311-macosx_13_0_x86_64.whl (7.2 MB view details)

Uploaded CPython 3.11macOS 13.0+ x86-64

File details

Details for the file diplib-3.6.0-cp314-cp314-win_amd64.whl.

File metadata

  • Download URL: diplib-3.6.0-cp314-cp314-win_amd64.whl
  • Upload date:
  • Size: 5.7 MB
  • Tags: CPython 3.14, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for diplib-3.6.0-cp314-cp314-win_amd64.whl
Algorithm Hash digest
SHA256 7db12f7c4abd531a88c8240f87fb8530f8b6a4edaaa8ce485690e275964c86ed
MD5 303dec997f607d8fec831efe6880392a
BLAKE2b-256 acbef3697ebfaf09893c4be2b7c3de7ca7ca8da42c8c9fad1a275eb84a0b078c

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 1d027bfd0a7b4ef3d42844ec835c51975eeb500a4728a4c43224977c2f141f22
MD5 6c0909868df201b4a5c2039747a0bd0f
BLAKE2b-256 6b323baec88af5338ce35a20a8a6f4f38f633a4c2c40c7d086cd5694127538f9

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp314-cp314-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp314-cp314-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 0642a62e361cdd88440d63fb3a9b1368491080f51e309b7e4c68adadcc769f66
MD5 1b87c75c3fa598e2dfb7777a63bcb04b
BLAKE2b-256 f8c6784ec4d43eb4999c50c934f9bf56cf17e3ea3f99305ca82d992b011399b2

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: diplib-3.6.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for diplib-3.6.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 ef30e7b349bd2940093c31f3fd91e0146788903f2b345e6c1fd22a62410fa936
MD5 75f7b442c8c6de1f22d6b6a88c28aa21
BLAKE2b-256 e9a2be741025d4c947210f17a47ed3fd460d17db9d1c9e9e2cb42ec9eb2f7dff

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 040b4c5c465fede539fcc5438ee5d5cda5164ee5526083bb8dd2893d0aaeb6df
MD5 cd2e3273eb50b45ee3a2ebae2cb5074f
BLAKE2b-256 57e0bac61056fc34b276756041445964ee1a0cbb01e1e20d7600f949c189a371

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp313-cp313-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp313-cp313-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 9bec1cfe08cb78287bcb951b5595003a5a9bdc5b95a6261d18272197bdb9f608
MD5 0291f94889597e44f9fa7d698a87cb82
BLAKE2b-256 9a6adaf71616cdab0bb5857fefaeaa327942e5903345687f15076db625e5b1e6

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp313-cp313-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp313-cp313-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 3b32f4f362cb79f27c5c5385e84ed3957108b56ec90bbd591df1afc8944f7831
MD5 724d674d5a484efcf6dfaeab8f8611e5
BLAKE2b-256 cf8ec4c864c865a8ad6231c986dea4dc8f76e719202e0206a501804b2a2fc6ed

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: diplib-3.6.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for diplib-3.6.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 4bbd76c4a23c99b46543934d51293f222047c0a1a0fc520605fdab46668edf04
MD5 f5b2ba07e951f4194b1593b897a55999
BLAKE2b-256 22a0698a45eaa65dc61a235e1396993d0aa5877623a51a81fe396532a3701f89

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 f286a350894ca0d84230355750f969f16916c1f67a71df2ce295bfd57985bbda
MD5 46c626a598eaad029681b5e7c3a79cef
BLAKE2b-256 1755b9778f8569e62ad65835f343e5c47ab6b338add688e06506432a78a2b396

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp312-cp312-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp312-cp312-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 91b8ae5a9eb75a2abf0f17d40ff6e6af0d2f49ed12bb50465792e9785cde9e20
MD5 e2e86ae263391ab711261acf2ea31ab7
BLAKE2b-256 cbb5ac9900fd1bb33dd0b7ba18b7d02b8e148d698569fdea70742bc8bcec4e2c

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp312-cp312-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp312-cp312-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 7492269effbd37806875d9d50ea8d40fbdc44ac43af1d58de1510c78b1eee433
MD5 a504f97e898c4b7824c942125759cee0
BLAKE2b-256 6dadc0fa2feccd18a71d5a36b1f2631e26b3c3891d11b3d115b04b6ec05d6ef0

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: diplib-3.6.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 5.5 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.9.13

File hashes

Hashes for diplib-3.6.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ec3f8fae9f77fbbdc2e0b3c4e081c44e268c1b86593165d4a14ea88f4db3a155
MD5 604212940b4fd16b37f8b801eb1cd682
BLAKE2b-256 73079299525346c45ef8f0dd4da9e77714ae6f08c01815bf2d8ce15b3ec6cda2

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl
Algorithm Hash digest
SHA256 ba0509e5f51241d29d90465a397a16ef974d3ddab4c9719a61f6a8a5e6cf54f4
MD5 8049aec3d19ac6776d7249507a431e46
BLAKE2b-256 9e227c08262977e4e28cb2a7c1a386635de7e1c9005446c7f3479dae303c5bd1

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp311-cp311-macosx_14_0_arm64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp311-cp311-macosx_14_0_arm64.whl
Algorithm Hash digest
SHA256 e9a4f40abf54927883af047140c003b2916e14648d7dbec6fb116d1ab2faffb6
MD5 d6cec4ce24c8762639b0003c9366f064
BLAKE2b-256 acf4b447c469da508ad1adfbb72089bbb845ff6d49d9f21e275e208fd08476b5

See more details on using hashes here.

File details

Details for the file diplib-3.6.0-cp311-cp311-macosx_13_0_x86_64.whl.

File metadata

File hashes

Hashes for diplib-3.6.0-cp311-cp311-macosx_13_0_x86_64.whl
Algorithm Hash digest
SHA256 08a26cbf82a22080e6d0d3f68dfa3888a300b2b1693c575a956fbbe819bc789a
MD5 e2fede12d3cfb0e4397361c67eec9de4
BLAKE2b-256 22b23fcbf3b3e7415ebd238fdd937759b91a2cfbeb915e860a18bcbe8475f9f2

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page