Skip to content

Script to run train 3D CNN to predict tumour region-of-interest from 3D RSOM images.

License

Notifications You must be signed in to change notification settings

psweens/Predict-RSOM-ROI

Repository files navigation

Predicting Tumour Region-of-Interests from Volumetric Mesoscopic Photoacoustic Images

This Python package contains a trained 3D convolutional neural network based on a U-Net architecture to segment tumour region-of-interest (ROI) from raster-scan optoacoustic mesoscopy (RSOM) 3D image volumes. Segmentation allows delineation of tumour ROIs from surrounding tissue to provide an estimate of the tumour boundary and consequently tumour volume.

Hyperparameters were optimised and evaluated using Talos integrated with Keras. A random search optimisation strategy was deployed using the quantum random method. A probabilistic reduction scheme was used to reduce the number of parameter permutations by removing poorly performing hyperparameter configurations from the remaining search space after a predefined interval.

The scripts to train your own 3D CNN from scratch or perform additional training can be found here. More detailed information of the design, training and application can be found here.

References

To reference this repository please use the below citation.

[Quantification of vascular networks in photoacoustic mesoscopy](> Segmentation of 3D blood vessel networks using unsupervised deep learning
Paul W. Sweeney et al.)
Emma L. Brown, Thierry L. Lefebvre, Paul W. Sweeney et al.

Trained CNN

A HDF5 file which contains model architecture, weighted values and compile information for the trained region-of-interest CNN can be found here.

CNN Architecture

The network architecture consists of five convolutional layers with dropout in the 3rd, 4th and 5th layers to reduce segmentation bias and ensure that segmentation is performed utilising high-level features that may not have been considered in our semi-manual ROI annotations used as ground truth.

alt text

Training

The CNN was trained for a total of 120 epochs and performance was evaluated using the F1 score.

alt text

Prerequisites

The 3D CNN was trained using:

  • Python 3.6.
  • Keras 2.3.1.
  • Tensorflow-GPU 1.14.0.

A package list for a Python environment has been provided and can be installed using the method described below.

Installation

The ROI package is compatible with Python3, and has been tested on Ubuntu 18.04 LTS. Other distributions of Linux, macOS, Windows should work as well.

To install the package from source, download zip file on GitHub page or run the following in a terminal:

git clone https://github.com/psweens/Predict-RSOM-ROI.git

The required Python packages can be found here. The package list can be installed, for example, using creating a Conda environment by running:

conda create --name <env> --file REQUIREMENTS.txt