diff --git a/readme.md b/readme.md new file mode 100644 index 0000000000000000000000000000000000000000..1da01419cd31537afe57d768378c1f724ce75997 --- /dev/null +++ b/readme.md @@ -0,0 +1,63 @@ + # Welcome! + +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)) + +``` +path(path,'PATH\leverjs\matlab'); +path(path,'PATH\leverjs\leversc'); +addpath(genpath('PATH\ncd')); +``` + +If running phantomSSF include: + +``` +path(path, 'PATH\hydra-image-processor\src\MATLAB'); +``` + +# USE + +To recreate Figure 6: +1. Run phantomKymograph\goFigure.m + +## Synthetic Kymograph Dataset Generation +To create a new synethetic dataset: +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. diff --git a/src/MATLAB/phantomKymograph/goFigure.m b/src/MATLAB/phantomKymograph/goFigure.m index b6438aebe8347c2a867a94c6f76156de6a9b2677..b7d3fbd879275f2071949cd00bcce9383e76dec2 100644 --- a/src/MATLAB/phantomKymograph/goFigure.m +++ b/src/MATLAB/phantomKymograph/goFigure.m @@ -1,4 +1,4 @@ -load('syntheticDataset_01.mat'); +load('sampleDataset_01.mat'); K = 3; diff --git a/src/MATLAB/phantomKymograph/sampleDataset_01.mat b/src/MATLAB/phantomKymograph/sampleDataset_01.mat new file mode 100644 index 0000000000000000000000000000000000000000..dc323f70de73c87cbe64e37c966e4f11078bca64 Binary files /dev/null and b/src/MATLAB/phantomKymograph/sampleDataset_01.mat differ