📄 sfh.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 + -