This is the git repository for the The Cell Signaling Structure Function paper currently in review. The code here is for the two synthetic datasets shown in Figures 3 and 6.
Access for the MCF10A and HSC datasets is by request as they are nearly 1.4 terabytes combined.
## Introduction
In this repository are the code for two synthetic datasets: phantomKymography and phantomSSF. The latter requires the Hydra Image Processor to run.
This document will walk through installing the required tools and running the code. The code for phantomSSF is only one file, so most of this document will cover the phantomKymograph code.
# INSTALLATION
## Prerequisites
1. Install MATLAB 2021b or newer: https://www.mathworks.com/downloads/
2. Install required toolboxes during MATLAB installation:
- Parallel Processing
- Statistics and Machine Learning
3. Clone the [leverjs](https://git-bioimage.coe.drexel.edu/opensource/leverjs) repository.
4. Clone the [ncd](https://git-bioimage.coe.drexel.edu/opensource/ncd) repository.
Optional, for phantomSSF only
1. Install the [Hydra Image Processor](https://hydraimageprocessor.com/quick-start/).
## Installation
1. Clone the ssfCluster repository.
2. Ensure the required repositories are on the path in MATLAB:
This can be done via the commands below, where PATH indicates the file path where the reposotories are located e.g. 'C:\Users\NAME\leverjs\matlab'.
These commands can be entered at the MATLAB command line, or saved in a MATLAB startup.m file (see here: [MATLAB user startup file](https://www.mathworks.com/help/matlab/ref/startup.html))
1. Run phantomKymograph\goSyntheticDataset.m, saving the output dataset (last line of the code). There are five parameters that can modified:
- phantomSize: the size of the phantom kymographs in x, y, z.
- phantomTracks: the number of trajectories in the phantom kymographs.
- phantomVelocity_mu: the different mean velocity values per class i.e., the number of means determines the number of classes.
- phantomVelocity_sigma: the standard deviation for velocity per class.
- numKymos: how many kymographs to generate per class.
2. Run phantomKymograph\goFigure.m, specifying the saved .mat file as the input.
## Notes
1. The NCD code uses the [FLIF](https://flif.info/) compression library. The thunker file for the FLIF library was generated on Ubuntu 22.04 and **may not work** on other Unix platforms. This has not been tested.
The Windows version works on both Windows 10 and Windows 11.
2. The default settings for phantomKymograph\goSyntheticDataset will create a dataset of 150 phantom kymographs.
This can be CPU intensive. For testing purposes it is recommended to lower the number of kymographs (numKymos) to 5-10.