Functional brain image synthesis using the KDE or MVN distribution. 

brainSimulator is a brain image synthesis procedure for data augmentation and standardization of evaluation of ML neuroimaging pipelines. It intends to generate a new image set that share characteristics given an original one. The system focuses on nuclear imaging modalities such as PET or SPECT brain images. It analyses the dataset by applying PCA to the original dataset, and then model the distribution of samples in the projected eigenbrain space using a Probability Density Function (PDF) estimator. Once the model has been built, anyone can generate new coordinates on the eigenbrain space belonging to the same class, which can be then projected back to the image space.


brainSimulator is now available via pypi and can be installed directly from:

pip install brainSimulator

Alternatively, download the package, uncompress and execute:

cd /path/to/uncompressed/brainSimulator/
python install


This allows to train the model once and then perform as many sample drawings as required.

#navigate to the folder where is located
import brainSimulator as sim

simulator = sim.BrainSimulator(algorithm='PCA', method='mvnormal'), labels) 
images, classes = simulator.generateDataset(original_dataset, labels, N=200, classes=[0, 1, 2])

Visual abstract

Further links

Download the code and read the documentation at:
  • Code:
  • Documentation:

Publicado por fjmartinezmurcia

Ingeniero de Telecomunicación y Doctor en Tecnologías de la Información y las Comunicaciones por la Universidad de Granada. Investigador Juan de la Cierva en la Universidad de Málaga, especializado en procesamiento y análisis de señales e imágenes médicas cerebrales. Finalista en Famelab 2018 y ganador de 3-Minute Thesis granada 2017. Músico y friki sin remedio.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *