TSOAX is an open source software to extract and track the growth and deformation of biopolymer networks from 2D and 3D time-lapse sequences. It tracks each filament or network branch from complex network dynamics and works well even if filaments disappear or reappear.
TSOAX is an extension of SOAX (for network extraction in static images) to network extraction and tracking in time lapse movies.
If you find this repository helpful, please cite:
@article{XuTSOAX2019,
author = {T. Xu, C. Langouras, M. Adeli Koudehi, B. Vos, N. Wang,
G. H. Koenderink, D. Vavylonis, and X. Huang},
title = {Automated Tracking of Biopolymer Growth and Network Deformation with TSOAX},
journal = {Scientific Reports},
year = {2019},
}
You can access the full paper here.
You can download and install binaries from TSOAX website.
-
Install Eigen 3 and Qt 5 using your package manager (Homebrew or dnf, apt):
$ brew install eigen qt # for macOS $ sudo dnf install eigen3-devel qt5-devel libXt-devel # for Fedora
(macOS only) Add environment variables in your
.bash_profile
:export Qt5_DIR=/usr/local/opt/qt export PATH=/usr/local/opt/qt/bin:$PATH
and apply them:
$ . ~/.bash_profile
-
Install VTK. Download VTK 8.1.0 and do an out-of-source build
$ mkdir your-vtk-build-dir $ cd your-vtk-build-dir $ cmake -DCMAKE_BUILD_TYPE=Release -DVTK_Group_Qt=ON /path/to/VTK-8.1.0/ $ make -j 4
Add environment variable
VTK_DIR
in your.bash_profile
:export VTK_DIR=/path/to/your-vtk-build-dir
-
Build TSOAX.
$ git clone --recursive https://github.com/tix209/TSOAX.git $ cmake -DCMAKE_BUILD_TYPE=Release /path/to/tsoax/src/ $ make -j 4
In macOS, you can launch the program by searching for "TSOAX" in the spotlight (⌘+Space).
- Download and install Microsoft Visual Studio 2015 or newer, CMake, and Qt 5.
- Configure VTK 8.1.0 with CMake (
cmake-gui
).- Enter the folder path of where you extracted VTK source code
- Enter another folder path for
vtk_binary_dir
- Click
Configure
- Specify generator e.g., Visual Studio 14 2015 Win64
- After the configuration is done, check
VTK_Group_Qt
andVTK_USE_CXX11_FEATURES
- Click
Configure
, and changeVTK_QT_VERSION
to 5 andQT_QMAKE_EXECUTABLE
toC:/Qt/5.10/msvc2015_64/bin
- Click
Configure
. ChangeQt5_DIR
toC:/Qt/5.8/msvc2015_64/lib/cmake/Qt5
- Click
Configure
- Click
Generate
and thenOpen Project
- In Visual Studio, change
Debug
toRelease
mode and build solution.
- Download Eigen 3. Extract the zip file and rename it to
eigen3
. - Open
Git Bash
then$ git clone --recursive https://github.com/tix209/TSOAX.git
. - Configure TSOAX in CMake
- Enter folder path of TSOAX source code
- Enter folder path for
tsoax_binary_dir
- Click
Configure
- Specify generator e.g., Visual Studio 14 2015 Win64
- Set
Qt5_DIR
toC:/Qt/5.8/msvc2015_64/lib/cmake/Qt5Widgets
- Click
Configure
. SetVTK_DIR
tovtk_binary_dir
- Click
Configure
- Click
Generate
and thenOpen Project
- In Visual Studio, change Debug to Release mode. Click
TSOAX
project and press ALT+ENTER. InVC++ Directories
, add the path containingeigen3
inInclude Directories
- Build the release version of TSOAX
- Copy
Qt5Core.dll
,Qt5Gui.dll
,Qt5Widgets.dll
fromC:/Qt/5.8/msvc2015_64/bin/
totsoax_binary_dir/src/Release
.