Skip to main content

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
bimato-2022.2.1.tar.gz 25.4 kB Details

Built distribution (wheel)

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

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

Release history Release notifications | RSS feed

This release

2022.2.1 This release

2 release files

2022.2

2 release files

2022.1

2 release files

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