Brain Innovation

support portal

The format of SMP files

A surface map file or SMP file contains statistical results in a surface-based format: For each vertex, one or more float values are stored representing statistical entities like correlation or F values. Statistical tests performed/loaded within a VMR project are internally stored in VMP format. These can be converted into a SMP by using the "Create SMP" function. This function "samples" the VMP at the positions of the vertices and attaches the sampled values to the respective vertices. The new multi-map feature allows to superimpose an unrestricted number of SMPs. Each SMP can have its own color range (EnableSMPColor = 1) which is interpolated between the R, G, B values of the color for the map threshold (critical value) and the specified maximum statistical value. As an alternative (EnableSMPColor = 0), an SMP can also use the current overlay LUT. SMP colors can be rendered also transparently. As default they are rendered non-transparent (TransparentColorFactor = 1.0). If an SMP map shall be rendered transparently, set the TransparentColorFactor value between 0.0 and 1.0. the value 0.0 has a special meaning rendering a SMP map transparent with respect to the significance value at a vertex: If a statistical value at a vertex just reaches the critical threshold, it is rendered completely transparent (not visible), if the statistical value reaches or exceeds the maximum threshold, the vertex is rendered opaque; the transparency for statistical values between these two values is determined by linear interpolation.
The binary SMP file contains a variable-length header followed by the statistical data represented with 4 byte float values.

Latest update: 06-07-2021

SMP header

version 2-5

BYTES
DATA TYPE
DEFAULT
DESCRIPTION
2
short int
3
version number (max: 5)
4
int
 
NrOfVertices (number of mesh vertices)
2
short int
1
NrOfMaps (number of stacked maps within SMP file)
N
byte
 
Name of SRF file originally used to create this SMP
Begin of loop over 'NrOfMaps' describing infos for each map
4
int
 
Maptype (t-, F-, correlation, cross-correlation, etc)(*1)
4
int
 
NrOfLags (*4)
4
int
 
MinLag (*4)
4
int
 
MaxLag (*4)
4
int
 
CCOverlay (*4) (show overlay correlation or lag values)
4
int
 
ClusterSize
1
byte
1
EnableClusterCheck (*3)
4
float
 
Statistical threshold, critical value
4
float
 
Statistical threshold, max value (*5)
4 int   IncludeValuesGreaterThreshMax (SMP version 4 or higher)
4
int
 
DF1 (degrees of freedom, nominator if F-test) (*2)
4
int
0
DF2 (degrees of freedom, denominator for F-test) (*2)
4 int   PosNegFlag (SMP version 5 or higher)
4
int
0
Cortex-based Bonferroni correction value (*2)
3
byte
 
R, G and B component of color pos min (*3)
3
byte
 
R, G and B component of color pos max (*3)
3 byte   R, G and B component of color neg min (SMP version 4 or higher)
3 byte   R, G and B component of color neg max (SMP version 4 or higher)
1
byte
1
EnableSMPColor (use SMP-specific colors or general LUT)
N byte   Name for map-specific LUT file (SMP version 5 or higher)
4
float
1.0
TransparentColorFactor for surface map (*3)
N_1
byte
 
Name of surface map
End of loop over 'NrOfMaps'

(*1) A SMP file may contain any statistic. For proper default settings, some values for MapType are reserved, i.e., 1 -> t-values, 2 -> correlation values, 3 -> cross-correlation values, 4 -> F-values,  11 -> percent signal change values (QX 1.2 and higher); see below for more codes:

BrainVoyager map type codes:
1: T-statistic
2: correlation
3: cross-correlation
4: F-statistic
5: Z-statistic
11: percent signal change
12: ICA
13: cortical thickness
14: chi^2
15: beta
16: probability
21: mean diffusivity map
22: fractional anisotropy map
25: polar angle map (in radians: -pi to pi)

(*2) These values are currently not used in BrainVoyager. They will be used in future versions to compute p-values based on the statistical values stored in the map (see *1). The cortex-based Bonferroni correction value is used to correct single-voxel p-values with respect to the number of functional data points (in a linked VTC) located around the cortical surface. The value is saved for each surface map but should be the same for all maps.

(*3) New entry introduced in file version 2.

(*4) Only used when maptype is crosscorrelation

(*5) The max threshold is currently NOT used to clip statistical values. It is only used to determine the color range: All statistical values beyond the max threshold will be colored using the corresponding max color value, but they are not hidden. Statistical values falling between the min and the max threshold will get a color corresponding to the relative position in the color scale.

SMP data

A SMP file contains NrOfMaps data sets. Each data set contains NrOfVertices 4 byte (float) values representing a statistical entity. The data is thus organized in two loops, the outer loop runs across the NrOfMaps and the inner loop across NrOfVertices.

You are here: HomeBrainVoyagerAutomation & DevelopmentFile Formats ≫ The format of SMP files