Generate synthetic fMRI data

This program is useful for debugging fMRI analyses and models.
1.9K Downloads
Updated 11 Nov 2015

View License

Given a set of voxel location (sample file provided), experimental design matrix, and a desired signal-to-noise ratio, this program generates a set of synthesized voxel activations.
Each experimental covariate (which can be activated to varying degrees during each trial, as specified in the design matrix) is assigned a single radial basis function. The basis function's center is chosen uniformly within the confines of the specified brain, and the width is also chosen uniformly. (Note: you can associate multiple radial basis functions with each covariate by giving each covariate multiple columns in the design matrix.)

The synthesized brain image for each trial is a weighted combination of the basis functions for the sources active during that trial, plus zero-mean Gaussian noise. (The standard deviation of the Gaussian noise is controlled via the SNR parameter.)

For added realism, an optional flag allows the user to specify whether the synthetic data incorporate a synthetic hemodynamic response function.

The synthetic data can be saved in NIFTI format (this relies on code, included in the download, from http://www.mathworks.com/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image).

Note: this code includes the "join" function available here: http://www.mathworks.com/matlabcentral/fileexchange/4872-join

Cite As

Jeremy Manning (2024). Generate synthetic fMRI data (https://www.mathworks.com/matlabcentral/fileexchange/36125-generate-synthetic-fmri-data), MATLAB Central File Exchange. Retrieved .

MATLAB Release Compatibility
Created with R2015b
Compatible with any release
Platform Compatibility
Windows macOS Linux
Acknowledgements

Inspired by: join, Tools for NIfTI and ANALYZE image

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!
Version Published Release Notes
1.14.0.0

Substantially faster implementation, usability improvements.

1.13.0.0

updated HRF convolution, added additional files from file exchange submission #8797

1.12.0.0

updated description, added pointer to http://www.mathworks.com/matlabcentral/fileexchange/8797-tools-for-nifti-and-analyze-image

1.9.0.0

modified the meta struct so that the function produces more realistic brain images. i also added an option to output source parameters.

1.7.0.0

support convolution with hemodynamic response function, outputting to NIFTI format.

1.4.0.0

added support for SNR = 0

1.3.0.0

updated help text to include usage examples.

1.2.0.0

minor change to program description.

1.1.0.0

minor change to program description.

1.0.0.0