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.

 

SMP header

version 3

 

BYTES

DATA TYPE

DEFAULT

DESCRIPTION

2

short int

3

version number

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) (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

 

DF1 (degrees of freedom, nominator if F-test) (*2)

4

int

0

DF2 (degrees of freedom, denominator for F-test) (*2)

4

int

0

Cortex-based Bonferroni correction value (*2)

3

byte

 

R, G and B component of color for critical value (*3)

3

byte

 

R, G and B component of color for max color-only threshold (*3)

1

byte

1

EnableSMPColor (use SMP-specific colors or general LUT)

4

float

1.0

TransparentColorFactor for surface map (*3)

N_1

byte

 

Name of surface map

End of loop over 'NrOfMaps'

 

version 2

 

BYTES

DATA TYPE

DEFAULT

DESCRIPTION

2

short int

2

version number

4

int

 

NrOfVertices (number of vertices)

2

short int

1

NrOfMaps

2

short int

2

MapType (t-, F-, correlation, crosscorrelation etc.) (*1)

2

short int

0

NrOfLags, only used if MapType = crosscorrelation

N

byte

 

Name of SRF file originally used to create this SMP

Begin of loop over 'NrOfMaps' describing infos for each map

4

int

 

ClusterSize for surface map 1

1

byte

1

EnableClusterCheck for surface map 1 (*3)

4

float

 

Statistical threshold for surface map 1, critical value

4

float

 

Statistical color-only threshold for surface map 1, max value

4

int

0

df1, degrees of freedom for surface map 1 (*2)

4

int

0

df2, degrees of freedom for for surface map 1 (*2)

4

int

0

Cortex-based Bonferroni correction value (*2)

3

byte

 

R, G and B component of color for critical value (*3)

3

byte

 

R, G and B component of color for max color-only threshold (*3)

1

byte

1

EnableSMPColor for surface map 1 (*3)

4

float

1.0

TransparentColorFactor for surface map 1 (*3)

N_1

byte

 

Name of surface map 1

:

:

 

:

4

int

 

ClusterSize for surface map 'NrOfMaps'

1

byte

1

EnableClusterCheck for surface map 'NrOfMaps' (*3)

4

float

 

Statistical threshold for surface map 'NrOfMaps', critical value

4

float

 

Statistical color-only threshold for map 'NrOfMaps', max value

4

int

0

df1, degrees of freedom for 3D map 'NrOfMaps' (*2)

4

int

0

df1, degrees of freedom for 3D map 'NrOfMaps' (*2)

4

int

0

Cortex-based Bonferroni correction value (*2)

3

byte

 

R, G and B component of color for critical value (*3)

3

byte

 

R, G and B component of color for max color-only threshold (*3)

1

byte

1

EnableSMPColor for surface map 'NrOfMaps' (*3)

4

float

1.0

TransparentColorFactor for surface map 'NrOfMaps' (*3)

N_NrOfMaps

byte

 

Name of surface map 'NrOfMaps'

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

14: chi^2

15: beta

16: probability
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.

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