Tissue Image ToolKit
TimageTK (Tissue Image Toolkit) is a Python package dedicated to image processing of multicellular architectures, such as plants or animals. It is intended for biologists, modellers and computer scientists.
The package provides the following main functionalities:
- Image Filtering: gaussian smoothing, gradient, hessian, laplacian, ...
- Mathematical Morphology: erosion, dilation, opening, closing, hat transform, sequential filters, ...
- Intensity Image Registration: rigid, affine and deformable registration, composition of transformations, sequence registration, multi-view fusion, ...
- Intensity Image Segmentation: h-transform, connected-component labeling, watershed, ...
- Visualisation: Stack browser, orthogonal views, projection maps and other GUI.
- Batch Processing: Simple JSON-based data structure to batch process large data sets.
Read TimageTK documentation for more detailed information.
Table of Contents
Installation
Assuming you have conda
installed on your OS, install timagetk
in a new conda environment named titk
with:
conda create -n titk -c mosaic -c morpheme -c conda-forge timagetk
Look at the installation page of the documentation for more.
Quick Start
Once you have installed the timagetk
library you can use it to analyse a biological tissue, for example, to compute the cells' volume in a cell-segmented image.
The following steps are required:
- load an intensity image
- performs watershed segmentation
- compute cells' volume
from timagetk import TissueImage3D
from timagetk.io import imread
from timagetk.tasks.segmentation import watershed_segmentation
# Download an image from Zenodo and read it:
int_image = imread('https://zenodo.org/record/7151866/files/p58-t0-imgFus.inr.gz',
hash_value='md5:48f6f9924289037c55ea785273c2fe72')
# Perform watershed cell-based segmentation:
seg_image, seed_image, params = watershed_segmentation(int_image, h_min=10, min_size=50, max_size=800)
# Convert to `TissueImage3D` type to access cell properties computation:
tissue = TissueImage3D(seg_image, background=1)
# Compute cells' volume:
volume = tissue.cells.volume()
You may visualize the cells' volume distribution on the 3D watershed cell-based segmentation using pyvista
:
import pyvista as pv
from timagetk.visu.pyvista import tissue_image_unstructured_grid
bkgd_id = tissue.background # get the id (label) of the background
l1_cells = tissue.cells.neighbors(bkgd_id)[bkgd_id] # list the background's neighbors to get L1 cells
# Create a mesh representation for the cells that belong to the first layer:
grid = tissue_image_unstructured_grid(tissue, labels=l1_cells, resampling_voxelsize=1)
# Plot the cell meshes:
plotter = pv.Plotter()
plotter.add_mesh(grid, scalars='volume', cmap='inferno')
plotter.show()
Organisation
Lead developer: Jonathan Legrand
Coordination:
Main contributors:
Former contributors: Guillaume Baty, Sophie Ribes, Frederic Boudon, Christophe Pradal
Supported OS:
Licence: GPLv3+, see LICENSE file.
Active teams:
- Inria team Mosaic, RDP-ENS Lyon, UMR5667.
- Hormonal Signalling and Development team, RDP-ENS Lyon, UMR5667.
- Inria team Morpheme, Sophia Antipolis.
Former teams:
- Inria-Cirad-Inra Virtual Plants
- Inria Project Lab Morphogenetics
Contributing
We welcome all contributions to the development of TimageTK as it is intended as an open-source scientific software.
Have a look at the contribution guidelines in the documentation for more details.
Additional Notes
Images and other data structures can be rendered using the visualization functions we provide. However, if you are less experienced with code, using a dedicated interactive image visualization software such as Gnomon or Fiji is recommended.
TimageTK leverages the work of some of the most standard Python libraries:
For 3D visualisations, we rely on:
Other less "standard" libraries, developed by research teams, are used:
- tifffile by Christoph Gohlke et al.
- czifile by Christoph Gohlke et al.
- vt by Grégoire Malandain et al.
- vt-python by Grégoire Malandain et al.
- MorphoNet by Emmanuel Faure et al.
- pytorch-3dunet by Adrian Wolny & PlantSeg by Lorenzo Cerrone et al.