pycellfit: an open-source Python implementation of the CellFIT method of inferring cellular forces developed by Brodland et al.
Author: Nilai Vemula, Vanderbilt University (working under Dr. Shane Hutson, Vanderbilt University)
Project Goal: To develop an open-source version of CellFIT, a toolkit for inferring tensions along cell membranes and pressures inside cells based on cell geometries and their curvilinear boundaries. (See [1].)
Project Timeline: Initial project started in August 2019 with work based off of XJ Xu. This repository was re-made in May 2020 in order to restart repository structure.
Project Status: Development
This project is available on PyPI and can be installed using pip.
It recommended that users make a virtual environment and then install the package as such:
pip install pycellfit
git clone https://github.com/NilaiVemula/pycellfit.git
cd pycellfit
python setup.py install
Full documentation for this package can be found on readthedocs.
This project is written in Python and has been tested on Python 3.7 and 3.8 on Linux and Windows. This project primarily depends on numpy, scipy, matplotlib, and other common python packages common in scientific computing. Additionally, Pillow is required for reading in input image files. A full list of dependencies is available in the requirements.txt file. All dependencies should be automatically installed when running pip install.
This project is under active development and not ready for public use. The project is built using Travis CI, and all tests are run with every commit or merge.
Currently, pycellfit supports the following features in the cellular force inference pipeline:
- [ ] converting raw images into segmented images
- see SeedWaterSegmenter or neural_net_cell_segmenter (work in progress).
- [x] read in segmented images
- [x] convert between watershed and skeleton segmented images
- [x] identify triple junctions
- [ ] identify quad junctions
- [x] generate a mesh
- [x] fit cell edges to circular arcs
- [ ] calculate tangent vectors using circle fits, nearest segment, and chord methods
- circle fit is incorrect, others have not been added
- [x] calculate tensions
- [ ] calculate pressures
- [x] visualize all of the above steps
A example walk-through of how to use this module is found in quickstart.
The final implementation of pycellfit will be as a web-app based on the Django framework. (See pycellfit-web)
[1] | Brodland GW, Veldhuis JH, Kim S, Perrone M, Mashburn D, et al. (2014) CellFIT: A Cellular Force-Inference Toolkit Using Curvilinear Cell Boundaries. PLOS ONE 9(6): e99116. https://doi.org/10.1371/journal.pone.0099116 |