?? vmp.bff
字號:
# BinaryFileFormat (leave this tag as its own magic token!)
# BVQX file format for *.VMP files (Volumetric MaP)
# VMP FileVersions supported: 2, 3, 4, 5
#
# Added new VMP (old CMP) support of BVQX 1.9
#
# Version: v0.7a
# Build: 7080114
# Date: Aug-01 2007, 2:22 PM CEST
# Author: Jochen Weber, Brain Innovation, B.V., Maastricht, NL
# URL/Info: http://wiki.brainvoyager.com/BVQXtools
# FILE FORMAT
Description:Volumetrical statistical map files
EncodingSyntax:ieee-le
Extensions:vmp
# FIELDS
ListOfFields:!
type !cond !disktype!datatype!dim !default !varname
# some checks first
BLOOP !$BFFWRITE ! ! !1 ! !WriteChecks
EXPRE !!!!!! @NrOfMaps = numel(@Map);
EXPRE !!!!!! if @NrOfMaps < 1, fclose(fid); error('Illegal number of maps'); end
EXPRE !!!!!! $XYZDim = size(@Map(1).VMPData); $XDim = $XYZDim(1); $YDim = $XYZDim(2); $ZDim = $XYZDim(3);
EXPRE !!!!!! for tv_cc = 2:@NrOfMaps, tv_xyz = size(@Map(tv_cc).VMPData); if any($XYZDim ~= tv_xyz),fclose(fid);error('Bad dims');end,end
ELOOP ! ! ! ! ! !WriteChecks
# check magic token / Fileversion
EXPRE !$BFFWRITE && @NativeResolutionFile!!!!!fwrite(fid, uint8([212, 195, 178, 161]), 'uint8');
EXPRE !$BFFREAD !!!!!@NativeResolutionFile = 0;
FIELD ! !uint16 !double !1, 1 ! !FileVersion
EXPRE !$BFFREAD !!!!!if @FileVersion > 40962, @NativeResolutionFile = 1; @FileVersion = fread(fid, [1, 2], 'uint16=>double'); @FileVersion = @FileVersion(2); end
# for old, anatomic resolution file format
BLOOP !~@NativeResolutionFile ! ! !1 ! !InAnatomicalResolution
# only common field
FIELD ! !uint32 !double !1, 1 ! !NrOfMaps
# loop over maps
EXPRE !$BFFREAD !!!!!@Map = cell2struct(cell(0, 0, 22), {'Type', 'NrOfLags', 'MinLag', 'MaxLag', 'CCOverlay', 'ClusterSize', 'EnableClusterCheck', 'LowerThreshold', 'UpperThreshold', 'UseValuesAboveThresh', 'DF1', 'DF2', 'ShowPositiveNegativeFlag', 'BonferroniValue', 'RGBLowerThreshPos', 'RGBUpperThreshPos', 'RGBLowerThreshNeg', 'RGBUpperThreshNeg', 'UseRGBColor', 'TransColorFactor', 'Name', 'VMPData'}, 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 > 2 !uint32 !double !1, 1 ! !Map($MapNo).UseValuesAboveThresh
FIELD ! !uint32 !double !1, 1 ! !Map($MapNo).DF1
FIELD ! !uint32 !double !1, 1 ! !Map($MapNo).DF2
FIELD !@FileVersion == 4 !uint32 !double !1, 1 ! !Map($MapNo).ShowPositiveNegativeFlag
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 > 2 !uint8 !double !1, 3 ! !Map($MapNo).RGBLowerThreshNeg
FIELD !@FileVersion > 2 !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
ELOOP ! ! ! ! ! !MapNo
# further header fields
FIELD ! !uint32 !double !1, 1 ! !VMRDimX
FIELD ! !uint32 !double !1, 1 ! !VMRDimY
FIELD ! !uint32 !double !1, 1 ! !VMRDimZ
FIELD ! !uint32 !double !1, 1 ! !XStart
FIELD ! !uint32 !double !1, 1 ! !XEnd
FIELD ! !uint32 !double !1, 1 ! !YStart
FIELD ! !uint32 !double !1, 1 ! !YEnd
FIELD ! !uint32 !double !1, 1 ! !ZStart
FIELD ! !uint32 !double !1, 1 ! !ZEnd
FIELD ! !uint32 !double !1, 1 ! !Resolution
EXPRE !$BFFREAD !!!!!$XDim = (@XEnd - @XStart) / @Resolution + 1;
EXPRE !$BFFREAD !!!!!$YDim = (@YEnd - @YStart) / @Resolution + 1;
EXPRE !$BFFREAD !!!!!$ZDim = (@ZEnd - @ZStart) / @Resolution + 1;
# looping over maps again (to read data)
BLOOP ! ! ! !@NrOfMaps ! !MapNo2
FIELD ! !single !single !$XDim, $YDim, $ZDim ! !Map($MapNo2).VMPData
ELOOP ! ! ! ! ! !MapNo2
# for native resolution files
ELOOP ! ! ! ! ! !InAnatomicalResolution
BLOOP !@NativeResolutionFile ! ! !1 ! !InNativeResolution
# common header fields
FIELD ! !uint16 !double !1, 1 ! !DocumentType
FIELD ! !uint32 !double !1, 1 ! !NrOfMaps
FIELD ! !uint32 !double !1, 1 ! !NrOfTimePoints
FIELD ! !uint32 !double !1, 1 ! !NrOfMapParameters
FIELD ! !uint32 !double !1, 1 ! !ShowParamsRangeFrom
FIELD ! !uint32 !double !1, 1 ! !ShowParamsRangeTo
FIELD ! !uint32 !double !1, 1 ! !FingerprintParamsRangeFrom
FIELD ! !uint32 !double !1, 1 ! !FingerprintParamsRangeTo
FIELD ! !uint32 !double !1, 1 ! !XStart
FIELD ! !uint32 !double !1, 1 ! !XEnd
FIELD ! !uint32 !double !1, 1 ! !YStart
FIELD ! !uint32 !double !1, 1 ! !YEnd
FIELD ! !uint32 !double !1, 1 ! !ZStart
FIELD ! !uint32 !double !1, 1 ! !ZEnd
FIELD ! !uint32 !double !1, 1 ! !Resolution
EXPRE !$BFFREAD !!!!!$XDim = (@XEnd - @XStart) / @Resolution; $YDim = (@YEnd - @YStart) / @Resolution; $ZDim = (@ZEnd - @ZStart) / @Resolution;
FIELD ! !uint32 !double !1, 1 ! !VMRDimX
FIELD ! !uint32 !double !1, 1 ! !VMRDimY
FIELD ! !uint32 !double !1, 1 ! !VMRDimZ
FIELD ! !cstring !cstring !1, 1 ! !OriginatingVTC
FIELD ! !cstring !cstring !1, 1 ! !LinkedPRT
FIELD ! !cstring !cstring !1, 1 ! !OptionalVOI
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -