⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 smp.bff

📁 toolbox of BVQX, This is the access between BV and matlab. It will help you to analysis data from BV
💻 BFF
字号:
# BinaryFileFormat (leave this tag as its own magic token!)

# BVQX file format for *.SMP files (Surface MaP)
# SMP FileVersions supported: 3, 4
#
# Version:  v0.7a
# Build:    7072410
# Date:     Jul-24 2007, 10:22 AM CEST
# Author:   Jochen Weber, Brain Innovation, B.V., Maastricht, NL
# URL/Info: http://wiki.brainvoyager.com/BVQXtools

# FILE FORMAT
Description:Surface map files
EncodingSyntax:ieee-le
Extensions:smp

# FIELDS
ListOfFields:!
type  !cond                   !disktype!datatype!dim                      !default !varname

# make sure to use correct dimensions, no matter what fields say, and bail of if dims mismatch
EXPRE !$BFFWRITE          !!!!!@NrOfMaps = prod(size(@Map)); @NrOfVertices = prod(size(@Map(1).SMPData));
EXPRE !$BFFWRITE          !!!!!for tv_mc = 2:@NrOfMaps, if prod(size(@Map(tv_mc).SMPData)) ~= @NrOfVertices, error('MAPSIZE_MISMATCH'); end, end

# common fields (shared between maps)
FIELD !                       !uint16  !double  !1, 1                     !        !FileVersion
FIELD !                       !uint32  !double  !1, 1                     !        !NrOfVertices
FIELD !                       !uint16  !double  !1, 1                     !        !NrOfMaps
FIELD !                       !cstring !cstring !1, 1                     !        !NameOfOriginalSRF

# loop over maps
EXPRE !$BFFREAD           !!!!!@Map = cell2struct(cell(0, 0, 21), {'Type', 'NrOfLags', 'MinLag', 'MaxLag', 'CCOverlay', 'ClusterSize', 'EnableClusterCheck', 'LowerThreshold', 'UpperThreshold', 'UseValuesAboveThresh', 'DF1', 'DF2', 'BonferroniValue', 'RGBLowerThreshPos', 'RGBUpperThreshPos', 'RGBLowerThreshNeg', 'RGBUpperThreshNeg', 'UseRGBColor', 'TransColorFactor', 'Name', 'SMPData'}, 3); if @NrOfMaps > 0, @Map(@NrOfMaps).Name = ''; end
BLOOP !                       ! ! !@NrOfMaps ! !MapNo
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).Type

# for cross correlation maps
BLOOP !@Map($MapNo).Type == 3 ! ! !1 ! !MapIsCC
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).NrOfLags
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).MinLag
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).MaxLag
FIELD !                       !int32   !double  !1, 1                     !        !Map($MapNo).CCOverlay
ELOOP !                       ! ! !  ! !MapIsCC

# continued loop over maps
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).ClusterSize
FIELD !                       !uint8   !double  !1, 1                     !        !Map($MapNo).EnableClusterCheck
FIELD !                       !single  !double  !1, 1                     !        !Map($MapNo).LowerThreshold
FIELD !                       !single  !double  !1, 1                     !        !Map($MapNo).UpperThreshold
FIELD !@FileVersion > 3       !uint32  !double  !1, 1                     !        !Map($MapNo).UseValuesAboveThresh
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).DF1
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).DF2
FIELD !                       !uint32  !double  !1, 1                     !        !Map($MapNo).BonferroniValue
FIELD !                       !uint8   !double  !1, 3                     !        !Map($MapNo).RGBLowerThreshPos
FIELD !                       !uint8   !double  !1, 3                     !        !Map($MapNo).RGBUpperThreshPos
FIELD !@FileVersion > 3       !uint8   !double  !1, 3                     !        !Map($MapNo).RGBLowerThreshNeg
FIELD !@FileVersion > 3       !uint8   !double  !1, 3                     !        !Map($MapNo).RGBUpperThreshNeg
FIELD !                       !uint8   !double  !1, 1                     !        !Map($MapNo).UseRGBColor
FIELD !                       !single  !double  !1, 1                     !        !Map($MapNo).TransColorFactor
FIELD !                       !cstring !cstring !1, 1                     !        !Map($MapNo).Name
FIELD !                       !single  !single  !@NrOfVertices, 1         !        !Map($MapNo).SMPData
ELOOP !                       ! ! !  ! !MapNo

# Read rest of File into REMAININGCONTENT
EXPRE !$BFFREAD           !!!!!$RemSize = $FILESIZE - ftell(fid);
EXPRE !$BFFWRITE          !!!!!$RemSize = 0; try, if isfield(@@, 'REMAININGCONTENT'), $RemSize = prod(size(@REMAININGCONTENT)); end, end
FIELD !$RemSize > 0           !uint8   !uint8   !1, $RemSize              !        !REMAININGCONTENT

EndListOfFields

NewFileCode:!
@FileVersion = 4;
@NrOfVertices = 40962;
@NrOfMaps = 1;
@NameOfOriginalSRF = 'untitled.srf';
@Map.Type = 1;
@Map.NrOfLags = [];
@Map.MinLag = [];
@Map.MaxLag = [];
@Map.CCOverlay = [];
@Map.ClusterSize = 25;
@Map.EnableClusterCheck = 0;
@Map.LowerThreshold = 2.5;
@Map.UpperThreshold = 8;
@Map.UseValuesAboveThresh = 1;
@Map.DF1 = 249;
@Map.DF2 = 0;
@Map.BonferroniValue = @NrOfVertices;
@Map.RGBLowerThreshPos = [192,   0,   0];
@Map.RGBUpperThreshPos = [255, 192,   0];
@Map.RGBLowerThreshNeg = [  0,   0, 128];
@Map.RGBUpperThreshNeg = [  0, 128, 255];
@Map.UseRGBColor = 1;
@Map.TransColorFactor = 1;
@Map.Name = 'New Map';
@Map.SMPData = zeros(@NrOfVertices, 1);
EndNewFileCode

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -