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

📄 sfh.tff

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

# BESA file format for *.SFH files (Surface Fiducial Help files)
# SFH FileVersions supported:
#
# Version:  v0.7a
# Build:    7081009
# Date:     Aug-10 2007, 9:58 AM CEST
# Author:   Jochen Weber, Brain Innovation, B.V., Maastricht, NL
# URL/Info: http://wiki.brainvoyager.com/BVQXtools

# FILE FORMAT
Description:Surface Fiducial Help files
Extensions:sfh
FieldDelimiters: {[32]}
LineDelimiters: {[13, 10], [10]}
ParagraphArrays:0
SkipEmptyLines:1

# FIELDS
ListOfFields:!
type !cond               !field               !datatype!format !dim    !default !varname

# NrOfPoints
EXPRE!$TFFWRITE     !!!!!!t_fidnames = fieldnames(@Fiducials); @NrOfPoints = numel(t_fidnames);
FIELD!                   !NrOfPoints          !double  !%d     !1      !3       !NrOfPoints
EXPRE!$TFFREAD      !!!!!!@Fiducials = struct; @FidCoords = zeros(@NrOfPoints, 3); @FidSizes = zeros(@NrOfPoints, 1); @FidColors = zeros(@NrOfPoints, 3);

# read points
BLOOP!$TFFREAD !!!!@NrOfPoints !!RFidNo
EXPRE!!!!!!![fdm{1:3}] = regexp(linecont{linec}, '^\s*([a-zA-Z][a-zA-Z0-9_]*)[^0-9\-\+]*\s+(.*)\s*$'); if isempty(fdm{1}), error('No more fiducials.'); end
EXPRE!!!!!!!t_fidname = linecont{linec}(fdm{3}{1}(1, 1):fdm{3}{1}(1, 2)); try, t_fs = str2num(linecont{linec}(fdm{3}{1}(2, 1):fdm{3}{1}(2, 2))); @Fiducials.(t_fidname) = t_fs; @FidCoords($RFidNo, :) = 128 - t_fs(1:3); @FidSizes($RFidNo) = t_fs(4); @FidColors($RFidNo, :) = t_fs(5:7); catch, error(['Bad fiducial: ' t_fidname]); end, linec = linec + 1;
ELOOP!         !!!! !!RFidNo

# write points
BLOOP!$TFFWRITE!!!!@NrOfPoints !!WFidNo
EXPRE!!!!!!!linecont{end + 1} = sprintf('%-24s%s%s', sprintf('%s', t_fidnames{$WFidNo}), sprintf(' %10.6f', @Fiducials.(t_fidnames{$WFidNo})(1:3)), sprintf(' %4d', fix(@Fiducials.(t_fidnames{$WFidNo})(4:end)))); linecount = linecount + 1;
ELOOP!         !!!! !!WFidNo

# check for additional contents
EXPRE!$TFFREAD      !!!!!!@BVTrf = []; @BVFid_Nz = [53, 152, 128]; @BVFid_T9 = [155, 186, 200]; @BVFid_T10 = [155, 186, 56]; @BVMidPoint = [128, 128, 128]; @BVVolume = ''; @BVSurface = ''; @BVTalPoints = struct('AC', [128, 128, 128], 'PC', [160, 128, 128], 'AP', [ 64, 128, 128], 'PP', [232, 128, 128], 'SP', [128,  56, 128], 'IP', [128, 160, 128], 'RP', [128, 128,  64], 'LP', [128, 128, 192]); @BVTalVolume = ''; @BVTalSurface = ''; @BVTalBrainSurface = '';
BLOOP!($TFFREAD && $LINECOUNT > (@NrOfPoints + 2)) || ($TFFWRITE && ~isempty(@BVTrf))!!!!1 !!ExtCont
WRTLN!!!!!!!%[char(35) 'Trans-data(in BV-coords): 3 translation, 3 rotation (in grad), 3 scale']%
ARRAY!                   !BVTrf               !double  !%.3f   !1, 9   !        !BVTrf
WRTLN!!!!!!!Fiducials:
ARRAY!                   !BVFid_Nz            !double  !%.4f   !1, 3   !        !BVFid_Nz
ARRAY!                   !BVFid_T9            !double  !%.4f   !1, 3   !        !BVFid_T9
ARRAY!                   !BVFid_T10           !double  !%.4f   !1, 3   !        !BVFid_T10
WRTLN!!!!!!!Midpoint (in BV-coords):
ARRAY!                   !BVMidPoint          !double  !%.4f   !1, 3   !        !BVMidPoint
FLIST!                   !Volume              !string  !%s     !1      !        !BVVolume
FLIST!                   !Surface             !string  !%s     !1      !        !BVSurface
EXPRE!!!!!!!if 1 == 0, error('NOP'); end 
FLIST!                   !AC                  !double  !%.d    !3      !        !BVTalPoints.AC
FLIST!                   !PC                  !double  !%.d    !3      !        !BVTalPoints.PC
FLIST!                   !AP                  !double  !%.d    !3      !        !BVTalPoints.AP
FLIST!                   !PP                  !double  !%.d    !3      !        !BVTalPoints.PP
FLIST!                   !SP                  !double  !%.d    !3      !        !BVTalPoints.SP
FLIST!                   !IP                  !double  !%.d    !3      !        !BVTalPoints.IP
FLIST!                   !RP                  !double  !%.d    !3      !        !BVTalPoints.RP
FLIST!                   !LP                  !double  !%.d    !3      !        !BVTalPoints.LP
EXPRE!!!!!!!if 1 == 0, error('NOP'); end 
FLIST!                   !TalVolume           !string  !%s     !1      !        !BVTalVolume
FLIST!                   !TalSurface          !string  !%s     !1      !        !BVTalSurface
FLIST!                   !TalBrainSurface     !string  !%s     !1      !        !BVTalBrainSurface
ELOOP!         !!!! !!ExtCont
EndListOfFields

NewFileCode:!
@NrOfPoints = 3;
@Fiducials.Fid_T9 = [-72, -27, -58, 3, 255, 128, 255];
@Fiducials.Fid_Nz = [0, 75, -24, 3, 255, 128, 255];
@Fiducials.Fid_T10 = [72, -27, -58, 3, 255, 128, 255];
@BVTrf = [];
@BVFid_Nz = [53, 152, 128];
@BVFid_T9 = [155, 186, 200];
@BVFid_T10 = [155, 186, 56];
@BVMidPoint = [128, 128, 128];
@BVVolume = '';
@BVSurface = '';
@BVTalPoints = struct('AC', [128, 128, 128], 'PC', [151, 128, 128], 'AP', [ 58, 128, 128], 'PP', [230, 128, 128], 'SP', [128,  54, 128], 'IP', [128, 170, 128], 'RP', [128, 128,  60], 'LP', [128, 128, 196]);
@BVTalVolume = '';
@BVTalSurface = '';
@BVTalBrainSurface = '';
EndNewFileCode

⌨️ 快捷键说明

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