Generate synthetic fMRI data
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
Platform Compatibility
Windows macOS LinuxCategories
- Verification, Validation, and Test >
- Sciences > Neuroscience > Human Brain Mapping > MRI >
- Control Systems > Control System Toolbox > Linear Analysis > Stability Analysis > Pole and Zero Locations >
- Engineering > Biomedical Engineering > Biomedical Imaging >
Tags
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!Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
generate_synthetic_brain_data/
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 |