Functional data (pRF, fLoc)

This covers analysis results for the pRF and fLoc experiments conducted in the initial 7T prffloc scan session.

Results from the prf experiment


The pre-processed fMRI time-series data from the prf experiment (6 runs, 300-s each) was fit with a pRF model using nonlinear optimization (the CSS model; see Kay et al., J Neurophys, 2013). Note that the model was constrained to have non-negative gain.

The results of the fitting are provided in the following files. Note that in each of the files, NaN values are possible and indicate either missing data or voxels outside of the brain mask.

Both volume-based and surface-based versions of the results are available. Volume-based results are located at
nsddata/ppdata/subjAA/func*/prf_BBB.nii.gz
and surface-based results are located at
nsddata/freesurfer/subjAA/label/[lh,rh].prfBBB.mgz
where BBB refers to different quantities. To create surface-based versions, we take the 1-mm volume-based prf results and map them to the left and right hemisphere cortical surfaces (linear interpolation onto the 3 depth surfaces, average across depth).

Below, we document each of the BBB quantities.

angle
This contains, for each voxel, the polar angle of the pRF center. Values are between 0 and 360 (Cartesian coordinate system where 0 corresponds to the right horizontal meridian, 90 corresponds to the upper vertical meridian, etc.) and are in units of degrees. NaNs exist in the case that pRF eccentricity is exactly 0.

eccentricity
This contains, for each voxel, the eccentricity of the pRF center. Values are non-negative and are in units of degrees of visual angle. Values are capped at 1000.

exponent
This contains, for each voxel, the fitted pRF exponent. Values are non-negative and are capped at 1000.

gain
This contains, for each voxel, the gain of the pRF model. The interpretation is that this is the amplitude reached for a stimulus that completely covers the full extent of the pRF. Values are non-negative, in percent signal change, and are capped at 1000%.

meanvol
This contains, for each voxel, the mean EPI intensity (in the prf data). Values are in raw scanner units and generally fall in the range 0 to 4095.

R2
This contains, for each voxel, the variance explained by the pRF model. Values generally lie between 0% and 100%, but other values are possible. Values are capped at the low end at -1000%.
 
size
This contains, for each voxel, the estimated pRF size. Values are non-negative and are in units of degrees of visual angle. The definition of pRF size is one standard deviation of a Gaussian that describes the response of the model to point stimuli. Note that this definition of pRF size takes into account the nonlinear summation behavior of the pRF model and is not the same as the “sigma” parameter used in the pRF model (see additional notes below). Values are capped at 1000 deg.

Technical notes on pRF size, sigma, and exponent

The stimulus apertures were prepared at 200 pixels x 200 pixels (corresponding to 8.4° x 8.4° visual extent) and were subsequently used in the model fitting.
The underlying pRF model used to fit the data is given as follows:
modelfun = @(params,stim) ...
posrect(params(4)) * ...
(stim * vflatten(makegaussian2d(200,params(1),params(2),abs(params(3)),abs(params(3))) / (2*pi*abs(params(3))^2))) .^ posrect(params(5));

In the above code, params(4) is the gain parameter, stim refers to the apertures (formatted as volumes x pixels*pixels), params(1) is the position of the pRF center expressed in terms of row indices (1-200 corresponds to the middle of the 1st row (top) to the middle of the 200th row (bottom)), params(2) is the position of the pRF center expressed in terms of column indices (1-200 corresponds to the middle of the 1st column (left) to the middle of the 200th column (right)), params(3) is the standard deviation of the Gaussian (expressed in pixel units), and params(5) is the exponent parameter.
Note that the results written to the .nii.gz files are not the raw parameters mentioned above, but instead are the parameters that have been transformed to more meaningful units (e.g. degrees of visual angle).
Note that the prf_size.nii.gz file that is provided does not reflect the sigma parameter as used in the model code above, but rather sigma/sqrt(exponent). The motivation behind dividing sigma by sqrt(exponent) is to produce a measure of pRF size that takes into account the nonlinear behavior induced by the compressive power-law nonlinearity. Specifically, sigma/sqrt(exponent) is one standard deviation of a Gaussian that describes how the model would respond to a point-like stimulus that is moved around in the visual field.
Here is some example code that starts with the prf_XXX.nii.gz outputs that are provided with NSD and transforms these into a format that follows the model implementation:
prfangle = 15; % degrees
prfecc = 2; % degrees visual angle
prfexpt = 0.2;
prfsize = 4; % degrees visual angle

sigma = prfsize*sqrt(expt); % sigma parameter in degrees visual angle
sigmapx = sigma * (200/8.4); % sigma parameter in pixel units
rindex = (1+200)/2 - (prfecc*sin(prfangle/180*pi) * (200/8.4)); % pRF y-position in row pixel units
cindex = (1+200)/2 + (prfecc*cos(prfangle/180*pi) * (200/8.4)); % pRF x-position in column pixel units
gau = makegaussian2d(200,rindex,cindex,sigmapx,sigmapx); % Gaussian image that peaks at 1. This Gaussian corresponds to the Gaussian used in the modeling function (prior to the scale normalization, dot-product with the stimulus, exponentiation, and the gain).
For all the gory details, you can find the code that performed the pRF analysis in analysis_prf.m (provided in the  nsddatapaper  github repository).

Results from the floc experiment


The pre-processed fMRI time-series data from the floc experiment (6 runs, 312-s each) was analyzed using a GLM. The results are provided in the files detailed below. Note that in each of the files, NaN values are possible and indicate either missing data or voxels outside of the brain mask.
 
For convenience, we already compute various contrasts. Keep in mind that what we call "domains" is a higher hierarchical organizational scheme of the "categories". For example, the domain of 'faces' includes both the 'adult' and 'child' categories. We compute contrasts for each of the 5 domains (see  nsddata/experiments/floc/domains.tsv ), yielding values that quantify how large the response is to stimuli from a given domain compared to all other stimuli. We also compute contrasts for each of the 10 categories (see  nsddata/experiments/floc/categories.tsv ), yielding values that quantify how large the response is to stimuli from a given category compared to all other stimuli EXCLUDING stimuli in the category that is paired with the given category. For example, “facestval” contrasts responses to the domain of faces (adult and child faces aggregated) against responses to all other stimuli; “adulttval” contrasts responses to the category of adult faces against responses to all other stimuli excluding child faces; “childtval” contrasts responses to the category of child faces against responses to all other stimuli excluding adult faces.
 
Each contrast is expressed using two different metrics. “tval” is a conventional t-statistic that results from performing a two-sample t-test. “anglemetric” is a metric that, in contrast to “tval”, does not depend on the amount of data collected, and is simply the angle in the Cartesian coordinate plane made by the mean of the two groups being compared. For example, the point (A,B) plots the response to A along the x-axis and the response to B along the y-axis. Values for “anglemetric” range between -180 and 180 degrees and the zero point corresponds to the situation where A==B and A and B are positive. Thus, 0° indicates equal response to A and B; positive values going up to 180° proceed clockwise and indicate a preference for A; negative values going down to -180° proceed counterclockwise and indicate a preference for B.

Both volume-based and surface-based versions of the results are available. Volume-based results are located at
nsddata/ppdata/subjAA/func*/floc_BBB.nii.gz
and surface-based results are located at
nsddata/freesurfer/subjAA/label/[lh,rh].flocBBB.mgz
where BBB refers to different quantities. To create surface-based versions, we take the 1-mm volume-based floc results and map them to the left and right hemisphere cortical surfaces (linear interpolation onto the 3 depth surfaces, average across depth).

Below, we document each of the BBB quantities.
 
DDDtval
This contains, for each voxel, the t-value corresponding to contrasting domain DDD (or category DDD) against other stimuli.

DDDanglemetric
This contains, for each voxel, the angle metric corresponding to contrasting domain DDD (or category DDD) against other stimuli.

betas
This contains, for each voxel, 6 trials x 10 categories = 60 beta weights. The GLM incorporates six separate regressors for each category (coding distinct trials), producing six separate beta weights for each category. These distinct beta weights are used to compute the t-values and the angle metrics.
 
meanvol
This contains, for each voxel, the mean EPI intensity (in the floc data). Values are in raw scanner units and generally fall in the range 0 to 4095.

R2
This contains, for each voxel, the variance explained by the GLM model. Values generally lie between 0% and 100%, but other values are possible.