README Summary ---------------------------------- This folder contains data and code (MATLAB and Python) used to produce the results in the manuscript, "Wide-Field, Non-Invasive Imaging of Brain Tumours with Scattered-Light Techniques". ---------------------------------- Instructions for Figure 1: Corresponding code can be found in ./Codes/MATLAB/GenerateFigure1.m. Figures are found in ./Codes/MATLAB/GenerateFigure1Results/. ---------------------------------- Instructions for Figure 2: Code can be found in ./Codes/MATLAB/MouseTumourProxyModelAnalysis.m with corresponding figures in ./Codes/MATLAB/MouseTumourProxyModelAnalysis/ Data can be found in ./Data/MouseTumourProxyModel/ The MATLAB code should run as long as you are in the correct folder but may require extra packages. ---------------------------------- Instructions for Figure 3: The above figure can also be recreated on ./Codes/MATLAB/MouseTumourProxyModelAnalysis.m. Additional nanoindentation data can be found in ./TumourImaging/Data/NanoindenterComparisons/tauVsE.xlsx ---------------------------------- Instructions for Figure 4: Results can be recreated on ./Codes/MATLAB/DeepTumourModelAnalysis.m with corresponding MRI and optical data found in ./Data/DeepMouseTumourModel/. ---------------------------------- Instructions for Supplementary Figure 1: The ML-DCS model we used is saved as ./Codes/python/ML_Models/V12_chunky_data_mapping_fixed_100fps_tau0to2s/run1/sMeckL_model.h5. There is an ML-DCS model that works on 1 s data also saved in the run2 folder. One could also train their own model using the Python code, ./Codes/python/ML_Models/load_h5py_chunk_phil.py and ./Codes/python/ML_Models/sMeckL_chunk_phil.py. However, due to storage constraints, we could only provide one dataset ./Data/ForTrainingMldcsModel/Upsampled_speckle_series_data/Ntime200/Corrected_1d/Ntime200_rng6_pixelwise64x64_mappingFixed_2000fps_tau0to2s/. One can recreate our environment for training the model using conda env create -f environment.yml, which is found in the folder ./Codes/python/. The Run 1 ML-DCS model is trained on 100 fps 10 s time series data, so any input data should be transformed to match these requirements for an accurate model output. The Run 2 model is trained instead on 100 fps 1 s time series data. Saying this, more training data could be simulated trough our MATLAB CDA script found on ./Codes/MATLAB/GeneratingTrainingDataForMLDCS/. Here, one can run CDA_vectorised_and_parallelised_withDiffusionConstant.m to generate speckle time series and speckle decorrelation times and then run Generate_new_speckle_data_with_upsampling_pixelwise.m to create a large dataset of time series and speckle decorrelation time training data through upsampling, as described in the supplemental document. ---------------------------------- Instructions for Supplementary Figure 2: Images here can be reproduced in ./Codes/MATLAB/MouseTumourProxyModelAnalysis.m ---------------------------------- Instructions for Supplementary Figure 3: Images here can be reproduced in ./Codes/MATLAB/DeepTumourModelAnalysis.m ---------------------------------- Loading and using the ML-DCS Model. Please change directory to, C:\Users\Phil\Documents\GitHub\TumourImaging\python\ A Python environment will need to be installed in order to use the ML-DCS model. This can be installed with, conda env create -f environment.yml From there, one should be able to use the ML-DCS model by running, MLDCS_SurfaceMouseBrainTumour.py