The format of SMP files
- Details
- Category: File Formats
- Last Updated: 06 July 2021
- Published: 27 March 2018
- Hits: 6015
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:
1: T-statistic
21: mean diffusivity map
22: fractional anisotropy map
(*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.