A Python FEniCS implementation of our sophisticated approach for inverse modeling of highly spatially-varying modulus in 3D Traction Force Microscopy.
Documentation is available online at wccms-utaustin.github.io/3DTFM.
- Linux
- A distribution of conda, for instance Miniconda
- For computing normal vectors of meshes with Tensorflow: cuda
- For either processing z-stack images from scratch or preparing inputs to this software: The object-oriented version of FM-Track
While in the repository directory, if have cuda:
conda env create -f conda_env.yml
Otherwise, (don't have cuda):
conda env create -f conda_env_no_cuda.yml
In any case, afterwards:
conda activate newestfenics
conda install -c bioconda tbb=2020.2
pip install git+https://github.com/g-peery/sanity_research_utils.git git+https://github.com/g-peery/moola.git
pip install -e .
To build documentation locally, install pdoc:
pip install pdoc
This code was designed to use the TFM data processed by the object-oriented version our software FM-Track.
Further processing steps on the output of FM-Track are required to create the appropriate geometry and input directory format, see the documentation and Jupyter notebook examples.
For examples of how to run the inverse model, see reproduction/fenics_environment_analysis.ipynb
. All scripts also have help messages, for instance
inverse --help
Official documentation is available, generated with pdoc.
To host a local version of documentation:
pdoc gel --math
If you find this method useful for your research, please use the following BibTeX entry (currently in preprint stage, will update upon full publication):
@article {peery_new_2025,
author = {Peery, Gabriel and West, Toni M and Chemuturi, Sanjana S and Pham, Jodie H and Ferrari, Giovanni and Sacks, Michael S},
title = {A New Computational Inverse Modeling Approach for Cellular Traction Force Microscopy that Accounts for Hydrogel Compressibility},
elocation-id = {2025.07.03.663064},
year = {2025},
doi = {10.1101/2025.07.03.663064},
publisher = {Cold Spring Harbor Laboratory},
URL = {https://www.biorxiv.org/content/early/2025/07/07/2025.07.03.663064},
eprint = {https://www.biorxiv.org/content/early/2025/07/07/2025.07.03.663064.full.pdf},
journal = {bioRxiv}
}
This code was built up starting from our previous approach, see the Supplementary Materials from the below citation:
@article{KHANG2023123,
title = {Estimation of aortic valve interstitial cell-induced 3D remodeling of poly(ethylene glycol) hydrogel environments using an inverse finite element approach},
journal = {Acta Biomaterialia},
volume = {160},
pages = {123-133},
year = {2023},
issn = {1742-7061},
doi = {https://doi.org/10.1016/j.actbio.2023.01.043},
url = {https://www.sciencedirect.com/science/article/pii/S174270612300051X},
author = {Alex Khang and John Steinman and Robin Tuscher and Xinzeng Feng and Michael S. Sacks},
keywords = {Aortic valve interstitial cell, Hydrogel, Degradation, Stiffening, 3D traction force microscopy, Computational modeling, Inverse modeling, Adjoint method, Collagen deposition},
}
Human MVICs were isolated from consented patients undergoing mitral valve replacement by the Columbia Biobank for Translational Science (IRB-AAAR6796). The deidentified MVICs were then shipped to the University of Texas where culturing and imaging occurred (IBC-2023-00293).
This data was used for creating geometry and boundary conditions for the test problem. Relevant test problem data available at Mendeley Data: 10.17632/nmfxvtbrbd.1