Brain Innovation

support portal

The Format Of FMR Files

FMR project files are simple text files containing the information defining a functional project created from raw MRI data, typically from EPI sequences. The actual time course data is contained in STC ("slice time course") files, which are referenced in the FMR file. The file need not be changed directly, all entries can be conveniently inspected and modified using the FMR Properties dialog, which can be invoked with theFile > FMR Properties menu item. An important entry is the "Prefix:" string, which specifies a link to the corresponding STC file, which actually contains the time series data. In the more recent file versions, all data is contained in one STC file, e.g., if the FMR file is saved as "CG_OBJECTS.fmr", the prefix will be "CG_OBJECTS" and the functional data will reside in the single file "CG_OBJECTS.stc". Supported but not recommended is the older FMR file format that stores the time series data of each slice in a separate .stc file. In this case the prefix contains a "-" sign, e.g. "CG_OBJECTS-" and the files "CG_OBJECTS-1.stc", "CG_OBJECTS-2.stc" and so on contains all time series data of slice 1, 2 and so on. The way how data is stored in one or more STC files is described by the "DataStorageFormat" entry. The number of time points is stored in the entry NrOfVolumes. Since file version 6, the "DataType" format specifies whether the data in STC files is stored as 2-byte integer (old format) or as 4-byte float (new format, used as default) values.

Most entries of an FMR file are self explanatory. The structure of the file is similar also for DMR files. The format of the current FMR file version together with short explanatory descriptions of the entries is given in the following table (changes from version "5" are indicated):

ENTRY DESCRIPTION
FileVersion: The version of the FMR file: 7
NrOfVolumes: Number of time points per pixel (data points, samples)
NrOfSlices: Number of recorded slices
NrOfSkippedVolumes: Number of volumes skipped during project creation
Prefix: Link to STC file containing the time series data
DataStorageFormat: Flag indicating how data are stored in STC file(s) (*1)
DataType: flag: 1 - 2-byte integer, 2 - 4-byte real (float) values (new v6)
TR: TR [msec]
InterSliceTime: Inter slice time (IST) [msec]
TimeResolutionVerified: Flag ensuring that "TR" and "IST" are correct
TE: TE [msec]
SliceAcquisitionOrder: Order in which slices are scanned
SliceAcquisitionOrderVerified: Flag ensuring that "SliceAcquisitionOrder" is correct
ResolutionX: Nr of columns of slice image matrix (5)
ResolutionY: Nr of rows of slice image matrix (5)
LoadAMRFile: Link to inplane anatomical AMR project (*3)
ShowAMRFile: flag: 1 - show linked AMR, 0 - show first image of STCs
ImageIndex: slice shown in the upper left subwindow
LayoutNColumns: Number of columns to show slices
LayoutNRows: Number of rows to show slices
LayoutZoomLevel: Zoom level range: 1 to 10  (1 = slice resolution)
SegmentSize: Subdivision (vertical lines) in time course plots (*4)
SegmentOffset: Offset for first vertical line of subdivisions
ProtocolVersion: Version of protocol access
NrOfLinkedProtocols: at present, only "0" and "1" fully supported
N x ProtocolFile: Link to the protocol (.PRT) file(s)
InplaneResolutionX: Resolution of one pixel in x dimension [mm] (*2)
InplaneResolutionY: Resolution of one pixel in y dimension [mm] (*2)
SliceThickness: Slice thickness without slice gap [mm] (*2)
SliceGap: The gap between slices [mm] (*2)
VoxelResolutionVerified: Flag ensuring that pixel resolution values are correct
   
PositionInformationFromImageHeaders descriptive string introducing next entries
   
PosInfosVerified: Flag indicating that info could be read from header
CoordinateSystem: "1" for standard DICOM
Slice1CenterX: X coordinate of center of first slice
Slice1CenterY: Y coordinate of center of first slice
Slice1CenterZ: Z coordinate of center of first slice
SliceNCenterX: X coordinate of center of last slice
SliceNCenterY: Y coordinate of center of last slice
SliceNCenterZ: Z coordinate of center of last slice
RowDirX: Slice row direction vector, x component
RowDirY: Slice row direction vector, y component
RowDirZ: Slice row direction vector, z component
ColDirX: Slice column direction vector, x component
ColDirY: Slice column direction vector, y component
ColDirZ: Slice column direction vector, z component
NRows: Nr of rows of slice image matrix
NCols: Nr of columns of slice image matrix
FoVRows: Extent of field of view (FoV) in row direction [mm]
FoVCols: Extent of field of view (FoV) in column direction [mm]
SliceThickness: Slice thickness in mm
GapThickness: Gap thickness in mm
   
NrOfPastSpatialTransformations: Always "0", not used at present
   
LeftRightConvention: "Radiological" (left-is-right), "Neurological" (left-is-left), "Unknown"
   
FirstDataSourceFile: Name of file selected when loading original data from disk
   
MultibandSequence: from FMR v7
   
SliceTimingTableSize: number, from FMR v7
<TableSize x values> only if SliceTimingTableSize > 0
...  

 
AcqusitionTime: NA or number (float)

(1) The "DataStorageFormat" entry was introduced in file version "5". A value of "1" indicates that the STC data is stored according to the old approach with one separate file per slice. A value of "2" indicates that the whole data is stored in a single STC file; the data within the file is stored in the same way as in the old style. Values "3" and "4" are used at present only for DMR-DWI projects. Storage format "3" keeps the data not as "slice time courses", but as a series of volumes within a single file. Storage format "4" stores the data in the form of VTCs, i.e. the time course values for a voxel are located in neighboring memory locations (time as inner loop).

(2) The AMR file might be from a "real" T1-weighted scan or showing the functional slices itself, i.e. the first scan with high T1-contrast.

(3) A vertical line is placed every n-th measurement, i.e. every 10th. This subdivision is only used, if no protocol file is linked.

(4) If a protocol is linked, time course plots are subdivided based on the protocol and not on the values for SegmentSize and SegmentOffset The "LeftRightConvention" entry replaces the "RadiologicalConvention" entry used in previous versions; instead of the two entries "YES" and "NO", the new "LeftRightConvention" is able to indicate that the header did not provide information about what is left and what is right ("Unknown"), which should only occur when reading non-standard data files.

(5) In BrainVoyager 22.4, the fields "ResolutionX" and "ResolutionY" are replaced by "NrOfColumns" and "NrOfRows". This might give the message "Can not read FMR file - unexpected tokens encountered!" when opening in previous BrainVoyager versions, for example 22.2 and 21.4. To open the files in previous BrainVoyager versions, replace the fields "NrOfColumns" and "NrOfRows" in the *.fmr file by "ResolutionX" and "ResolutionY" in a text editor.

You are here: HomeBrainVoyagerAutomation & DevelopmentFile Formats ≫ Developer Guide (2.6) - The Format of FMR Files