📄 vmp.bff
字号:
# loop over maps
EXPRE !$BFFREAD !!!!!@Map = cell2struct(cell(0, 0, 26), {'Type', 'LowerThreshold', 'UpperThreshold', 'Name', 'RGBLowerThreshPos', 'RGBUpperThreshPos', 'RGBLowerThreshNeg', 'RGBUpperThreshNeg', 'UseRGBColor', 'TransColorFactor', 'NrOfLags', 'MinLag', 'MaxLag', 'CCOverlay', 'ClusterSize', 'EnableClusterCheck', 'UseValuesAboveThresh', 'DF1', 'DF2', 'ShowPositiveNegativeFlag', 'BonferroniValue', 'NrOfFDRThresholds', 'FDRThresholds', 'UnknownValue', 'TimePointData', 'VMPData'}, 3); if @NrOfMaps > 0, @Map(@NrOfMaps).Name = ''; end
BLOOP ! ! ! !@NrOfMaps ! !NMapNo
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).Type
# the map type is coded as follows:
# 1: t-Map
# 2: r-Map
# 3: CC-Map (with additional fields, if DF1 = 2 and NrOfLags = 20, R-Map!)
# 4: F-Map
# 11: %-Map
# 12: z_ica-Map
# 13: TH-Map
FIELD ! !single !double !1, 1 ! !Map($NMapNo).LowerThreshold
FIELD ! !single !double !1, 1 ! !Map($NMapNo).UpperThreshold
FIELD ! !cstring !cstring !1, 1 ! !Map($NMapNo).Name
FIELD ! !uint8 !double !1, 3 ! !Map($NMapNo).RGBLowerThreshPos
FIELD ! !uint8 !double !1, 3 ! !Map($NMapNo).RGBUpperThreshPos
FIELD ! !uint8 !double !1, 3 ! !Map($NMapNo).RGBLowerThreshNeg
FIELD ! !uint8 !double !1, 3 ! !Map($NMapNo).RGBUpperThreshNeg
FIELD ! !uint8 !double !1, 1 ! !Map($NMapNo).UseRGBColor
FIELD ! !single !double !1, 1 ! !Map($NMapNo).TransColorFactor
BLOOP !@Map($NMapNo).Type == 3! ! !1 ! !NMapIsCC
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).NrOfLags
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).MinLag
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).MaxLag
FIELD ! !int32 !double !1, 1 ! !Map($NMapNo).CCOverlay
ELOOP ! ! ! ! ! !NMapIsCC
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).ClusterSize
FIELD ! !uint8 !double !1, 1 ! !Map($NMapNo).EnableClusterCheck
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).UseValuesAboveThresh
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).DF1
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).DF2
FIELD ! !uint8 !double !1, 1 ! !Map($NMapNo).ShowPositiveNegativeFlag # sum of flags pos=1 and neg=2
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).BonferroniValue
FIELD ! !uint32 !double !1, 1 ! !Map($NMapNo).NrOfFDRThresholds
EXPRE ! !!!!!$NrOfFDRs = @Map($NMapNo).NrOfFDRThresholds; if $NrOfFDRs < 1, @Map($NMapNo).FDRThresholds = zeros(0, 3); end
EXPRE !$BFFWRITE !!!!!@Map($NMapNo).FDRThresholds = @Map($NMapNo).FDRThresholds';
FIELD !$NrOfFDRs > 0 !single !double !3, $NrOfFDRs ! !Map($NMapNo).FDRThresholds
EXPRE ! !!!!!@Map($NMapNo).FDRThresholds = @Map($NMapNo).FDRThresholds';
FIELD ! !int32 !double !1, 1 ! !Map($NMapNo).UnknownValue
ELOOP ! ! ! ! ! !NMapNo
# reading timepoint data if present
BLOOP ! ! ! !@NrOfMaps ! !NMapNo2
FIELD !@NrOfTimePoints > 0 !single !double !@NrOfTimePoints, 1 ! !Map($NMapNo2).TimePointData
EXPRE !@NrOfTimePoints ==0!!!!!@Map($NMapNo2).TimePointData = zeros(0, 1);
ELOOP ! ! ! ! ! !NMapNo2
# loop over map parameters
EXPRE !$BFFREAD !!!!!@MapParameter = cell2struct(cell(0, 0, 2), {'Name', 'Values'}, 3);
BLOOP !@NrOfMapParameters > 0!!!@NrOfMapParameters ! !NMapPNo
FIELD ! !cstring !cstring !1, 1 ! !MapParameter($NMapPNo).Name
ELOOP ! ! ! ! ! !NMapPNo
# loop over maps and then map parameters (again...!)
BLOOP ! ! ! !@NrOfMaps ! !NMapNo3
BLOOP !@NrOfMapParameters > 0!!!@NrOfMapParameters ! !NMapPNo2
FIELD ! !single !double !1, 1 ! !MapParameter($NMapPNo2).Values($NMapNo3)
ELOOP ! ! ! ! ! !NMapPNo2
ELOOP ! ! ! ! ! !NMapNo3
# reading maps
BLOOP ! ! ! !@NrOfMaps ! !NMapNo4
FIELD ! !single !single !$XDim, $YDim, $ZDim ! !Map($NMapNo4).VMPData
ELOOP ! ! ! ! ! !NMapNo4
# end of basic format check
ELOOP ! ! ! ! ! !InNativeResolution
# 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
# code for new files (still old defaults)
NewFileCode:!
@NativeResolutionFile = 0;
@FileVersion = 4;
@NrOfMaps = 1;
@Map.Type = 1;
@Map.NrOfLags = [];
@Map.MinLag = [];
@Map.MaxLag = [];
@Map.CCOverlay = [];
@Map.ClusterSize = 50;
@Map.EnableClusterCheck = 0;
@Map.LowerThreshold = 1.65;
@Map.UpperThreshold = 8;
@Map.UseValuesAboveThresh = 1;
@Map.DF1 = 249;
@Map.DF2 = 1;
@Map.ShowPositiveNegativeFlag = 3;
@Map.BonferroniValue = 45555;
@Map.RGBLowerThreshPos = [255, 0, 0];
@Map.RGBUpperThreshPos = [255, 255, 0];
@Map.RGBLowerThreshNeg = [255, 0, 255];
@Map.RGBUpperThreshNeg = [0, 0, 255];
@Map.UseRGBColor = 0;
@Map.TransColorFactor = 1;
@Map.Name = 'New Map';
@VMRDimX = 256;
@VMRDimY = 256;
@VMRDimZ = 256;
@XStart = 57;
@XEnd = 231;
@YStart = 52;
@YEnd = 172;
@ZStart = 59;
@ZEnd = 197;
@Resolution = 1;
tXDim = (@XEnd - @XStart) / @Resolution + 1;
tYDim = (@YEnd - @YStart) / @Resolution + 1;
tZDim = (@ZEnd - @ZStart) / @Resolution + 1;
@Map.VMPData = single(zeros([tXDim, tYDim, tZDim]));
EndNewFileCode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -