Skip to main content

CellMet

A generalist algorithm to analyse cell shape from 3D labeled image.

This code is made to analyse cell shape from 3D labeled image. It is divide in three parts:

  • Prerequisite that will create image containing one cell. This is mandatory to fasten the following analysis.
  • We determine edges and faces associated to each cell. Quality of this analysis is dependant of the quality of the labeled image. There is no segmentation correction.
  • Analysis of cells, faces and edges.

There is a Python API to allow user to integrate CellMet into your custom workflow.

Input/Output and datas organisation

Input

In order to be able to use this project. You first need to segment you image using CellPose (or any other software that gives 3D label image). You need to be satisfied by your label image, since there is no manual correction (only filter can be apply to remove cells that has a volume below a threshold for example).
Then, you can perform 3D cell segmentation with CellMet.

Output and datas organisation

You can generate ply/obj file for each cells.

Datas are organised as half-edge structures. The vertex, edge, face and cell tables are interconnected to represent and navigate through the mesh's elements.

image

We generate 7 csv files, that can be populated later during the analysis part. - __cell_df.csv__ contains measure relative to the cell, such as volume, number of neighbours, orientation, curvature - __cell_plane_df.csv__ contains plane measure, such as orientation, anisotropy, area, perimeter - __edge_df.csv__ contains measure relative to the edge such as length (real & shortest), curvature, the 3 connected cells - __edge_pixel_df.csv__ contains pixels coordinates of each edge and the 3 connected cells - __face_df.csv__ contains coordinates of the middle of the face, the lengths, the angles - __face_edge_pixel_df.csv__ contains coordinates of the edges associated to the face, and the coordinates of the middle of the face - __face_pixel_df.csv__ contains pixels coordinates of each face and the 2 connected cells and edges

Prerequisite

It creates two folders names "npz" and "obj_mesh" that stores numpy array of binary one cell image and ply/obj file of each cell respectively. npz file are mandatory for the analyse, while obj_mesh allows to visualise cells in 3D with Blender. All files are named after the cell id in the original image.

Segmentation

This part consists of analysing the labelled image in order to determine neighbouring relationship between cells; contact between two cells (i.e. face); contact between three cells (i.e. edge).

Analysis

Cell information (cell_df.csv)

  • Volume $vol_c=nb_{pixel}*voxel_{size}$
  • Coordinate of line in the middle of the cell : $mid_{line}$
  • Real distance of $mid_{line}$ : $D_r$
  • Short distance of $mid_{line}$ : $D_s$
  • Curvature index $1-(D_s/D_r)$
  • Cell plane information (cell_plane.csv)

    Plane measure :
  • Anisotropy $major/minor$
  • Orientation $\alpha = arctan2(y_orient/x_orient)$
  • Area
  • Perimeter
  • Edge information (edge_df.csv)

    • Real distance $D_r$
    • Short distance $D_s$
    • Curvature index $1-(D_s/D_r)$

    Face information (face_df.csv)

    :warning: Only lateral face (coloured face in scheme)
  • id of cell1 & cell2
  • id of edge1 & edge2
  • Centre of the face
  • Width
  • Angles (reference: centre of the face)
  • Install

    See INSTALL.md for a step by step install. A datasets to test the program can be found here.

    Troubleshooting

    Kernel crash due to lack of memory: reduce the number of core used for parallelized task.

    Roadmap

    • Add GUI with python or as a Napari plugin

    Release files for CellMet 1.1.0

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

    Source distribution (sdist)

    Source distribution for CellMet 1.1.0
    File Size Uploaded
    cellmet-1.1.0.tar.gz 64.5 kB Details

    Built distribution (wheel)

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

    Total release size: 136.3 kB

    Release files / cellmet-1.1.0.tar.gz

    Download URL cellmet-1.1.0.tar.gz
    Size 64.5 kB
    Tags Source
    SHA-256 checksum
    How to use checksums
    d69b000bcb4eaa4734901bf3967fb07de613c4a2c8f28c11e35ebb99369a6ae7
    BLAKE2b-256 checksum
    How to use checksums
    26062acda04234508f790b0173a9573f441f3b614e9e9ea7f3605ae8b388cf1a
    Upload date
    Uploaded using Trusted Publishing?
    What is trusted publishing?
    No
    Uploaded via twine/6.1.0 CPython/3.11.5

    Release files / cellmet-1.1.0-py3-none-any.whl

    Download URL cellmet-1.1.0-py3-none-any.whl
    Size 71.8 kB
    Tags Python 3
    SHA-256 checksum
    How to use checksums
    d3d8821ec8ff7b2e5c7be1a24945c92c29fb39608e7dadea9afb3b564d3ec5ac
    BLAKE2b-256 checksum
    How to use checksums
    61fe1d485c93c3d64e793701a9a901da04531f9d967e5c53c591c76585d1e0fa
    Upload date
    Uploaded using Trusted Publishing?
    What is trusted publishing?
    No
    Uploaded via twine/6.1.0 CPython/3.11.5

    Release history Release notifications | RSS feed

    This release

    1.1.0 This release

    2 release files

    1.0.0

    3 release files

    0.9.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