Skip to main content

A python wrapper around the libCZI C++ library with reading and writing functionality.

Project description

pylibCZIrw - Python wrapper for libCZI

This project provides a simple and easy-to-use Python wrapper for libCZI - a cross-platform C++ library intended for providing read and write access to CZI image documents.

Important Remarks

  • At the moment, pylibCZIrw completely abstracts away the subblock concept, both in the reading and in the writing APIs.
  • The core concept of pylibCZIrw is focussing on reading and writing 2D image planes by specifying the dimension indices and its location in order to only read or write what is really needed.
  • It allows reading data via http/https-protocol enabling cloud storage scenarios.

Example Usage

from pylibCZIrw import czi as pyczi

filepath = "myimagefile.czi"

# open the CZI document to read the
with pyczi.open_czi(filepath) as czidoc:
    # get the image dimensions as a dictionary, where the key identifies the dimension
    total_bounding_box = czidoc.total_bounding_box

    # get the total bounding box for all scenes
    total_bounding_rectangle = czidoc.total_bounding_rectangle

    # get the bounding boxes for each individual scene
    scenes_bounding_rectangle = czidoc.scenes_bounding_rectangle

    # read a 2D image plane and optionally specify planes, zoom levels and ROIs
    image2d = czidoc.read(plane={"T": 1, "Z": 2, "C": 0}, zoom=1.0, roi=(0, 0, 50, 100))

The detailed usage can be inferred from the sample notebooks.

For more detailed information (on the latest version) refer to https://zeiss.github.io/pylibczirw/.

Installation

In case there is no wheel available for your system configuration, you can:

Disclaimer

The library and the notebook are free to use for everybody. Carl Zeiss Microscopy GmbH undertakes no warranty concerning the use of those tools. Use them at your own risk.

By using any of those examples you agree to this disclaimer.

Version: 2023.11.20

Copyright (c) 2023 Carl Zeiss AG, Germany. All Rights Reserved.

CHANGELOG

v4.1.3 (2024-08-26)

Fix

  • fix: Channel ID and Name in display settings metadata (#37)

This PR inlcudes the latest version ov libczirw to fix #13 Fixes #13 (04316fe)

v4.1.2 (2024-08-06)

Chore

  • chore: remove temporary debugging logic to push to PyPI (#30)

[x] I followed the How to structure your PR. [ ] Based on Commit Parsing: In case a new major release will be created (because the body or footer begins with 'BREAKING CHANGE:'), I created a new Jupyter notebook with a matching version. [ ] Based on Commit Parsing: In case a new minor/patch release will be created (because PR title begins with 'feat'/('fix' or 'perf')), I optionally created a new Jupyter notebook with a matching version. [ ] In case of API changes, I updated API.md.

Remove debugging code for temporaily pushing to testpypi until infrastructure properly set up. (3b2ea06)

Fix

  • fix: consider only dimensions with size >1 for plane-coordinate (#28)

[x] I followed the How to structure your PR. [ ] Based on Commit Parsing: In case a new major release will be created (because the body or footer begins with 'BREAKING CHANGE:'), I created a new Jupyter notebook with a matching version. [ ] Based on Commit Parsing: In case a new minor/patch release will be created (because PR title begins with 'feat'/('fix' or 'perf')), I optionally created a new Jupyter notebook with a matching version. [ ] In case of API changes, I updated API.md.

Re-write of #16 due to changes in infrastructure.

Fixes #10


Co-authored-by: Soyer, Sebastian <sebastian.soyer@zeiss.com> Co-authored-by: soyers <soyer.sebastian@gmail.com> (264fcb4)

v4.1.1 (2024-07-26)

Chore

  • chore: Add codeowners (#27)

Add CODEOWNERS file (dc1717b)

Deps

  • deps: bump codecov/codecov-action from 3 to 4 (#2)

Bumps codecov/codecov-action from 3 to 4.

Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Felix Scheffler <felix.scheffler@zeiss.com> (dab7b18)

Refactor

  • refactor: Megalinter and infrastructure (#19)

[x] I followed the How to structure your PR. [ ] Based on Commit Parsing: In case a new major release will be created (because the body or footer begins with 'BREAKING CHANGE:'), I created a new Jupyter notebook with a matching version. [ ] Based on Commit Parsing: In case a new minor/patch release will be created (because PR title begins with 'feat'/('fix' or 'perf')), I optionally created a new Jupyter notebook with a matching version. [ ] In case of API changes, I updated API.md.

Infrastructure related changes, linting (2e60a2b)

Unknown

Project details


Download files

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

Source Distribution

pylibCZIrw-4.1.3.tar.gz (5.0 MB view hashes)

Uploaded Source

Built Distributions

pylibCZIrw-4.1.3-cp311-cp311-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.11 Windows x86-64

pylibCZIrw-4.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

pylibCZIrw-4.1.3-cp310-cp310-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.10 Windows x86-64

pylibCZIrw-4.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

pylibCZIrw-4.1.3-cp39-cp39-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.9 Windows x86-64

pylibCZIrw-4.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

pylibCZIrw-4.1.3-cp38-cp38-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

pylibCZIrw-4.1.3-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

pylibCZIrw-4.1.3-cp37-cp37m-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

pylibCZIrw-4.1.3-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.17+ x86-64

Supported by

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