Brain Innovation

support portal


BrainVoyager Automation & Development File Formats Users Guide (2.3) - The Format Of VTC Files

Users Guide (2.3) - The Format Of VTC Files

A VTC file contains the functional data (time series) of one experimental run (one functional scan) in the space of a 3D anatomical data set (VMR), e.g. in Talairach space. The binary file contains a variable-length header followed by the actual 4D data. The data is not stored as a sequence of volumes (time points), but contains for each voxel a continuous stream of values representing the voxel's time course. This arrangement (repeated measures of a voxel in the inner loop) has been chosen for VTC files in order to increase the efficiency of accessing voxel time series via file-based access.

The most recent file version is "3". The main addition as compared to version 1 is a new entry specifying the data type of the stored measurement values. While previous VTC versions only supported 2-byte integer values, the new file format (version 3) supports also 4-byte float values. The new data type entry specifies whether 2-byte integer (value "1") or float (value "2") values are stored in the data part of the file.

The following table describes VTC file format 3 and also version 2 by indicating the entries which have been changed.

VTC Header

2 short int 3 version number
N byte   name of FMR file whose STC data has been transformed (*1)
2 short int 1 number of protocols (NP) attached to VTC    (new v3)
NP x Mi byte <none> NP names, each specifying a linked protocol (PRT) file (*1)
2 short int 0 index specifying the "current" protocol    (new v3)
2 short int 2 data type of stored values ("1" - short int, "2" - float)    (new v3)
2 short int   NrOfVolumes (number of volumes, measurements, time points)
2 short int 3 resolution relative to VMR, e.g. "3" - 1 voxel = 3 x 3 x 3 VMR voxels (*2)
2 short int 57 XStart (*3)
2 short int 231 XEnd (*3)
2 short int 52 YStart (*3)
2 short int 172 YEnd (*3)
2 short int 59 ZStart (*3)
2 short int 197 ZEnd (*3)
1 byte   left-right convention flag (*4)    (new v3)
1 byte   reference space flag (*5)   (new v3)
      2-byte int - hemodynamic delay, simple shift value    (removed v3)
4 float   TR [ms]
      float - hemodynamic function, delta parameter    (removed v3)
      float - hemodynamic function, tau parameter   (removed v3)
      2 byte int - segment size   (removed v3)
      2 byte int - segment offset    (removed v3)

(*1) Variable length, the end of the name is indicated by '0'.

(*2) The VTC resolution is defined with respect to the resolution of a VMR file. Typically, one VMR voxel has the resolution of 1 (Talairach) mm3. A VTC resolution value of 3 means that one VTC voxel encompasses 3 x 3 x 3 = 27 VMR voxels. Other resolutions are possible,  i.e. 1 and 2.

(*3) These values indicate the relative position within a VMR volume (must be a 2563 data set for Talairach VTC data, (see explanations below).

(*4) The left-right convention flag may assume one of three values: "1" specifies radiological convention ("left-is-right"), "2" specifies neurological convention ("left-is-left") and "0" indicates that the convention is unknown.

(*5) The reference space flag may have the following values: "1" indicates that the functional data is aligned to a 3D data set in "native" space (e.g. in the position scanned), "2" indicates ACPC space, "3" indicates "Talairach" space and "0" indicates that the reference space is not known.

VTC Data

Each data element (intensity value) is represented in 2 bytes (unsigned short) or 4 bytes (float) as specified in the "data type" entry. The data is organized in four loops:





The inner loop (DimT = NrOfVolumes) contains the time series for each VTC voxel. The spatial dimensions can be computed from the header info as follows:

DimX = (XEnd-XStart) / VTC-resolution
DimY = (YEnd-YStart) / VTC-resolution
DimZ = (ZEnd-ZStart) / VTC-resolution

Example. With a VTC resolution of 3 and the default dimension values provided above, this results in:

DimX = 58
DimY = 40
DimZ = 46

With these values and a typical NrOfVolumes of 200, the total number of bytes (for data without header) is therefore:

DimX * DimY * DimZ * NrOfVolumes * 2 = 42,688,000

or approximately 40MB.

Note that the axes terminology follows the internal BrainVoyager (BV) format. The mapping to Talairach axes is as follows:

BV X front -> back = Y in Tal space
BV Y top -> bottom = Z in Tal space
BV Z left -> right = X in Tal space

You are here: HomeBrainVoyagerAutomation & DevelopmentFile Formats ≫ Users Guide (2.3) - The Format Of VTC Files