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:
-
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.
-
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.
-
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 2015, 2017 and 2019.
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. Use the DIPlib reference to learn how to use each function. Get started by reading the User Manual.
These Jupyter notebooks give a short introduction:
License
Copyright 2014-2024 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
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distributions
Hashes for diplib-3.5.1-cp312-cp312-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f0cf3525f9701541e1162aa6ad6a8b4de678f0b08b956507f77bc0b8bf617ad0 |
|
MD5 | c3dcef8aeac54aed10a484607d5324e8 |
|
BLAKE2b-256 | 1383c04f4d8bca94d75213ce5655b7843c28db3ed80259367043b9739bceee7e |
Hashes for diplib-3.5.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4f4ce6117d10b5667143ac1418e5b05f3d2d6f5f973658b393a66aafda0af6eb |
|
MD5 | b72add75c1498ed19f4ecc8d629c8002 |
|
BLAKE2b-256 | 33c80164252e91def569b5f93da8393b44eaca281dd24e69f9394ff2e3b8963e |
Hashes for diplib-3.5.1-cp312-cp312-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b58f9acaca1eab30463f1360d4c34757dd87cc625070c74859c53eb28380bb72 |
|
MD5 | 730d93dabb0691185a25e325d02f3f8c |
|
BLAKE2b-256 | 0644ded837554938ad48c8e6a2f86f48e2d15ee4c108f0e9f212246fa3a367e4 |
Hashes for diplib-3.5.1-cp312-cp312-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5ac1fd5ea734c7581f144cba46854a767d6e521e241ec03f36ca699caca0bde1 |
|
MD5 | 5818dfba4447ccc4010a2ae636e3bf95 |
|
BLAKE2b-256 | 08d7be4d5f94a6ff0bd0995b00e3f9a22a82bd1929e183c811698ccd338ee34a |
Hashes for diplib-3.5.1-cp311-cp311-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 27644a6ce39b8fc8924eb9c5e21fc4ca340921d3671d9de33380c51990fe2720 |
|
MD5 | 9faa7f368580a7d6eb1823755a350454 |
|
BLAKE2b-256 | f6165e16b0d2dfc9d84eb970a8dbb0db013da80b9a0d45677f1579193ef1147f |
Hashes for diplib-3.5.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f6ee2c047aa8f69e09cb2f4312ed2d6da3f90867c5ad3e13969a3038176e1b3c |
|
MD5 | 131b965058b3b4b8f0bb8dded7449cca |
|
BLAKE2b-256 | 13010aabc7c3ddd78f66588540dfd658ba161b87593a7da893f587f71e9220e6 |
Hashes for diplib-3.5.1-cp311-cp311-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f529d523d27c8456cda15b0747d40351c08c2f4b517458a81a10a95eb16b83f2 |
|
MD5 | 09c3a8007f9d91f356325ae457b31593 |
|
BLAKE2b-256 | 9e621d203561a0adc369a6e6e56df3936cd7a09d012751f87072b5c87a7acd70 |
Hashes for diplib-3.5.1-cp311-cp311-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | bb067c2a64bd4369a772b2cbd37c7d1d924487fde4bc7863db723156ed6720d3 |
|
MD5 | 9c7be710827d9279d2e4b21175f5ed5a |
|
BLAKE2b-256 | 4bb1b72c9149c9f447d7a56bf47d430504ddd18462dca773566ff2acb587b1a5 |
Hashes for diplib-3.5.1-cp310-cp310-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | fe3d9b6f21cb04772a02ac976ea95d60321eac9e677d5b29b05b8919221e94bd |
|
MD5 | aac0878e565fa77abba341b417452158 |
|
BLAKE2b-256 | 63d5eb2690e91b541dc8293eefe5818386010a8f41d160145a5373bfa3c79e32 |
Hashes for diplib-3.5.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1f05f6d86c09c152e7d445c0db676e88e851769edac02a91d87e4f4ee55fef18 |
|
MD5 | eee2be871fc0b6f9b64b27c13a73e755 |
|
BLAKE2b-256 | 5fbcd1b305ee398fd7233f865a526b754d6ecba29a0340e9c0a1c07030c8aee6 |
Hashes for diplib-3.5.1-cp310-cp310-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | d9bbcd61485dcb68e01cce1dbd4de74056e2acfddaae79979fb184b941770764 |
|
MD5 | 6159749610d47bc2d8815ad60a527544 |
|
BLAKE2b-256 | eb5d932ccfd8075d49e246e21401db4e8e0c9404890f4169264a3893d0acdf46 |
Hashes for diplib-3.5.1-cp310-cp310-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1d3e8ef00568cd6653c5f229a553d31a9e02e986a0cb0b4e4ad58646917ec367 |
|
MD5 | 738494596c2af05704c01e1490402012 |
|
BLAKE2b-256 | 6d610e88daf1bd9f223ac58a35425f3f08210a55e3945f62fa860b2115b0b5b9 |
Hashes for diplib-3.5.1-cp39-cp39-win_amd64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee6f09a875509d42d80be4441d133553406ca5e9e51f3fec52e4f6509efe0cf4 |
|
MD5 | fe0f03e01038ce5863ab3fc6327880da |
|
BLAKE2b-256 | 97d721fbc264c320e00a2531e1b69caa231aebbea95952f66a7986ddd8feff69 |
Hashes for diplib-3.5.1-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | e1342bf8fcc9fc6c76d401bd7e3e99f2b72f58641ec56487f3b7c02726a0a345 |
|
MD5 | d375b6fc017767b723f589d9bea2d46a |
|
BLAKE2b-256 | c146dc16fd7e9b5aefbc2bd32a9889c26aca6c52ac47d6dd4e55c17b7a867ea2 |
Hashes for diplib-3.5.1-cp39-cp39-macosx_14_0_arm64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 636723d9fd139669011843a0e023b6fd1f7092da1fd4c3dec1d64db5e635bd22 |
|
MD5 | 67951c8efc3191e9768cf1aadcad0f52 |
|
BLAKE2b-256 | de4d016356492bcecdc34ee9bd6a6e854bc607f85e778ff82ddd9d10688ed3d7 |
Hashes for diplib-3.5.1-cp39-cp39-macosx_12_0_x86_64.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | f32c34423b6075c91ff35fa9bd4b2971fc94b2de1e7e29f46e34e3ce3b1ec032 |
|
MD5 | cacbb7799b883fdb7b858df01d9c1a52 |
|
BLAKE2b-256 | c5214c98cb1d49bcb2daa08361ab52cf5b721d34b01564a3a91f4727cc7fe2dd |