Skip to main content

BIPL is a Big Image Python Library

Library to read big pyramidal images like in formats like BigTiff, Aperio SVS, Leica MRXS.

bipl.Slide - ndarray-like reader for multiscale images (svs, tiff, etc...)

import numpy as np
from bipl import Slide

slide = Slide.open('test.svs')
shape: tuple[int, ...] = slide.shape  # Native shape
downsamples: tuple[int, ...] = slide.downsamples  # List of pre-existing sub-resolution levels

# Get native miniature
tmb: np.ndarray = slide.thumbnail()

mpp: float = slide.mpp  # X um per pixel, native resolution
image: np.ndarray = slide[:2048, :2048]  # Get numpy.ndarray of 2048x2048 from full resolution

MPP = 16.  # Let's say we want slide at 16 um/px resolution
downsample = MPP / slide.mpp
mini = slide.pool(downsample)  # Gives `downsample`-times smaller image
mini = slide.resample(MPP)  # Gives the same result

# Those ones trigger ndarray conversion
image: np.ndarray
image = mini[:512, :512]  # Take a part of
image = mini.numpy()  # Take a whole resolution level
image = np.array(mini, copy=False)  # Use __array__ API

bipl.Mosaic - apply function for each tile of big image on desired scale.

import numpy as np
from bipl import Mosaic, Slide

m = Mosaic(step=512, overlap=0)  # Read at [0:512], [512:1024], ...

# Open slide at 1:1 scale
s = Slide.open('test.svs')

# Target at 4 um/px resolution
# If `test.svs` has some pyramid in it (i.e. 1:1, 1:4, 1:16), it will be used to speed up reads.
s4 = s.resample(mpp=4.0)

# Get iterator over tiles.
# Reads will be at [0:512], [512:1024] ... @ MPP
tiles = m.iterate(s4)

# Read only subset of tiles according to binary mask (1s are read, 0s are not).
# `s4.shape * scale = mask.shape`, `scale <= 1`
tiles = tiles.select(mask, scale)

# Read all data, trigger I/O. All the previous calls do not trigger any disk reads beyond metadata.
images: list[np.ndarray] = [*tiles]

Installation

pip install bipl

BIPL is compatible with: Python 3.13+. Tested on Ubuntu & Windows.

DeepZoom server

To start use:

pip install bipl[deepzoom]
export SLIDES=~/slides
uvicorn bipl.dzi:app --workers 4 --host 0.0.0.0 --port 8000

Or you can just use a router from there:

from bipl.dzi import router

your_fastapi_app.include_router(router)

Download files

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

Source Distribution

bipl-0.7.7.tar.gz (47.2 kB view details)

Uploaded Source

Built Distribution

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

bipl-0.7.7-py3-none-win_amd64.whl (3.8 MB view details)

Uploaded Python 3Windows x86-64

File details

Details for the file bipl-0.7.7.tar.gz.

File metadata

  • Download URL: bipl-0.7.7.tar.gz
  • Upload date:
  • Size: 47.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for bipl-0.7.7.tar.gz
Algorithm Hash digest
SHA256 982328c0efcb134a2b9b36621350651eced09005abd13680cece45f0a2e18a96
MD5 c31b07d9b886d47f258c6001037e335a
BLAKE2b-256 fe2e5f6914d0ce6e6ef9d0c31c71fd83ec8f27cee72f28fedc0594586f056726

See more details on using hashes here.

Provenance

The following attestation bundles were made for bipl-0.7.7.tar.gz:

Publisher: publish.yaml on arquolo/bipl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file bipl-0.7.7-py3-none-win_amd64.whl.

File metadata

  • Download URL: bipl-0.7.7-py3-none-win_amd64.whl
  • Upload date:
  • Size: 3.8 MB
  • Tags: Python 3, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.14

File hashes

Hashes for bipl-0.7.7-py3-none-win_amd64.whl
Algorithm Hash digest
SHA256 163dacf091254cf9356bebf9a218886e36f8f30d6330265415ce21d2f1cfd339
MD5 46292438c04d697367aacee9b93bb1ea
BLAKE2b-256 176655f9fc4fa8adbdfacd704cd258ea99c9b35d28f8f10c524d7a51242035b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for bipl-0.7.7-py3-none-win_amd64.whl:

Publisher: publish.yaml on arquolo/bipl

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

This release

0.7.7 This release

2 files

0.7.2.11

1 file

0.6.16

1 file

0.6.6

2 files

0.6.1

2 files

0.6.0

2 files

0.5.15

2 files

0.5.2

2 files

0.3.9

2 files

0.2.4

2 files

0.1.2

2 files

Supported by

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