Skip to main content

BiMaTo

DOI1 DOI2 GPLv3 license PyPI version shields.io Documentation Status

Bio Matrix Topology (BiMaTo) is a library containing all the biopolymer matrix topology analyses published by the Biological Physics Group, (BIP), Peter Debye Institute, University Leipzig, Germany.

Documentation can be found here.

How to install

bimato uses Python3.8 and up. Installation is trivial:

pip install bimato

Exemplary analysis workflow

This is an exemplary workflow to analyze pore sizes of two different collagen scaffolds. The matrices have been fluorescently stained and 3D images were recorded using an LSM.

Usually, we have for example different collagen scaffolds and want to compare structural parameters. For this, we would load several images, calculate their structural parameters and plot them. Below is an exemplary workflow for this:

  • load each image in the LIF file

  • analyze it

  • extract meta-data such as collagen concentration from image name

  • concatenate this data to global DataFrame

  • plot comparison boxplot

Pore-Size

We load a lif file with multiple samples per collagen concentration and analyze these in a loop:

import pandas as pd
from readlif.reader import LifFile
import seaborn as sns
import bimato

lif_file = LifFile("/path/to/sample.lif")

df_poresize = list()
for lif_image in lif_file.get_iter_image():

    data = bimato.utils.read_lif_image(lif_image)
    bw = bimato.get_binary(data)

    sampling = {
        'x': 1/lif_image.info["scale"][0],
        'y': 1/lif_image.info["scale"][1],
        'z': 1/lif_image.info["scale"][2]
    }

    df_tmp = bimato.get_pore_sizes(binary=bw, sampling=sampling)

    df_tmp['Concentration [g/l]'] = lif_image.name
    df_poresize.append(df_tmp)

df_poresize = pd.concat(df_poresize)

g = sns.catplot(
    data=df_poresize,
    kind='box',
    x='Concentration [g/l]',
    y='Diameter [µm],
)
g.set_ylabels("Pore-size [µm]")

Resulting in the following plot:

boxplot of poresize between two differently concentrated collagen matrices

Inhomogeneity

We load a lif file with multiple samples per collagen concentration and analyze these in a loop:

import pandas as pd
from readlif.reader import LifFile
import seaborn as sns
import bimato

lif_file = LifFile("/path/to/sample.lif")

df_inhomogeneity = list()
for lif_image in lif_file.get_iter_image():

    data = bimato.utils.read_lif_image(lif_image)
    bw = bimato.get_binary(data)

    sampling = {
        'x': 1/lif_image.info["scale"][0],
        'y': 1/lif_image.info["scale"][1],
        'z': 1/lif_image.info["scale"][2]
    }

    df_tmp = bimato.poresize.get_fragmented_poresizes(binary=bw, sampling=sampling, part_size_micron=30)
    df_tmp['Inhomogeneity'] = bimato.poresize.calc_inhomogeneity(df_tmp)

    df_tmp['Concentration [g/l]'] = lif_image.name
    df_inhomogeneity.append(df_tmp)

df_inhomogeneity = pd.concat(df_inhomogeneity)

g = sns.catplot(
    data=df_poresize,
    kind='box',
    x='Concentration [g/l]',
    y='Inhomogeneity,
)

Resulting in the following plot:

boxplot of inhomogeneity between two differently concentrated collagen matrices

How to cite

Metadata

Release files for bimato 2022.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for bimato 2022.2.1
File Size Uploaded Provenance Actions
bimato-2022.2.1.tar.gz 25.4 kB Without provenance Details for bimato-2022.2.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for bimato 2022.2.1
File Interpreter ABI Platform Actions
bimato-2022.2.1-py3-none-any.whl Python 3 none any Details for bimato-2022.2.1-py3-none-any.whl

Total release size: 53.9 kB

Release files / bimato-2022.2.1.tar.gz

Download URL bimato-2022.2.1.tar.gz
Size 25.4 kB
Tags Source
SHA-256 checksum
How to use checksums
b3d1439493761c7672bf277bc656c7d4a7823e6bf948232c9d5fe43ed1daa8e2
BLAKE2b-256 checksum
How to use checksums
d515b40675546881943429617f48ac4d134f19aebc7db5d67a85bd91d13c1153
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.8 Darwin/21.6.0

Release files / bimato-2022.2.1-py3-none-any.whl

Download URL bimato-2022.2.1-py3-none-any.whl
Size 28.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
20d288fa471b915486761569e47affe44fd4f4e399de8970436c7e81328cd020
BLAKE2b-256 checksum
How to use checksums
dd305d228c2f86ea497879fa9cdab7fe700524f23be3f1e9345b6162b1de347b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via poetry/1.2.2 CPython/3.10.8 Darwin/21.6.0

Security for bimato 2022.2.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page