Code repository to reconstruct, fit, and use spatiotemporal pRF models.
This code is used in the following two papers:
-
Characterizing Spatiotemporal Population Receptive Fields in Human Visual Cortex with fMRI by Insub Kim, Eline R. Kupers, Garikoitz Lerma-Usabiaga and Kalanit Grill-Spector (2024) Journal of Neuroscience, 44(2) e0803232023; https://doi.org/10.1523/JNEUROSCI.0803-23.2023
-
Rethinking simultaneous suppression in visual cortex via compressive spatiotemporal population receptive fields by Eline R. Kupers, Insub Kim, and Kalanit Grill-Spector (2024) Nature Communications, 15, 6885. https://doi.org/10.1038/s41467-024-51243-7
- stPRFsRootPath.m : function to define root path
- stPredictBOLDFromStim.m : main function to reconstruct spatiotemporal pRFs and generate predicted time series (neural and BOLD) given the stimulus sequence
-
INPUTS:
- Stim
- Params struct with modeling options: what pRF model to use, what HRF, etc.
-
STEPS:
- get3DSpatiotemporalpRFs(params) --> create pRF filters (linear step)
- getPRFStimResponse(stim, PRF filters, params) --> stim * pRF = pRF response (linear step)
- applyReLU(pRFResponse(pRF response, params) --> relu(pRF response) (nonlinear step)
- applyNonlinearity(relu pRF Response, params) --> predicted neural response (nonlinear step)
- (Optional) Combine neural channels (e.g., transient on and transient off)
- (Optional) Normalize height of neural channels to max = 1.
- getPredictedBOLDresponse(predicted neural response, HRF, params) --> predicted neural response * HRF = predited BOLD response (linear step)
-
OUTPUTS:
- Predicted time series: linear filtered pRF response, (final) neural response, and BOLD response
- pRFs
- HRF
- params
-
- functions
- external
- utils
- wrappers
- example
- run example/s_simpleTutorial.m!