📄 rtc.tff
字号:
# TextFileFormat (leave this tag as magic token!)
# BVQX file format for *.RTC files (Reference Time Course)
# RTC FileVersions supported: 2, POI/ROI/VOI
#
# Version: v0.6e
# Build: 7030215
# Date: Mar-02 2007, 3:35 PM CET
# Author: Jochen Weber, Brain Innovation, B.V., Maastricht, NL
# URL/Info: http://wiki.brainvoyager.com/BVQXtools
# FILE FORMAT
Description:Reference time course files
Extensions:rtc
FieldDelimiters: {[32]}
LineDelimiters: {[13, 10], [10]}
ParagraphArrays:0
SkipEmptyLines:1
Magic:|
name |range |type |magic
RTC_noprdp |1, 1024 |regexpi |nrofpredictors\:\s*\d+.*nrofdatapoints\:\s*\d+
RTC_talznu |1, 1024 |regexpi |talz\:\s*\d+\s*notused
EndMagic
# FIELDS
ListOfFields:!
type !cond !field !datatype!format !dim !default !varname
# check what kind of content we have
EXPRE!$TFFREAD !!!!!!if ~isempty(strfind(linecont{linec}, 'FileVersion')), $HasFileVersion = 1; else $HasFileVersion = 0; end
EXPRE!$TFFWRITE !!!!!!try, @FileVersion; $HasFileVersion = 1; catch, $HasFileVersion = 0; end, $AsRTC = 0;
# with FileVersion
BLOOP!$HasFileVersion > 0!HasFVLoop !!!1 !!HasFVLoop
# header
FIELD! !FileVersion !double !%d !1 !2 !FileVersion
FIELD! !Type !string !%s !1 !DesignMatrix !Type
EXPRE!$TFFREAD !!!!!!if ~isempty(strfind(linecont{linec}, 'OfRTC')), $AsRTC = 1; else $AsRTC = 0; end
FLIST!$AsRTC == 0 !NrOfPredictors !double !%d !1 ! !NrOfPredictors
FLIST!$AsRTC == 1 !NrOfRTCs !double !%d !1 ! !NrOfPredictors
FLIST! !NrOfDataPoints !double !%d !1 ! !NrOfDataPoints
WRTLN!!!!!!! # empty line
EXPRE!$TFFREAD !!!!!!@PredictorNames = cell(1, @NrOfPredictors); @RTCMatrix = zeros(@NrOfDataPoints, @NrOfPredictors);
ARRAY! !PredictorNames !string !"%s" !1, @NrOfPredictors !!PredictorNames
ARRAY! !NrOfOnOffsets !double !%.6f !@NrOfDataPoints, @NrOfPredictors !!RTCMatrix
# end of (with FileVersion)
ELOOP! !HasFVLoop !!! !!HasFVLoop
# without FileVersion
BLOOP!$HasFileVersion== 0!HasNoFVLoop !!!1 !!HasNoFVLoop
FLIST! !NrOfRTCs !double !%d !1 !1 !NrOfRTCs
FLIST! !NrOfValues !double !%d !1 ! !NrOfValues
WRTLN!!!!!!! # empty line
FLIST! !FromFile !string !%s !1 ! !FromFile
# can be from an FMR, VTC, or MTC
EXPRE!$TFFREAD !!!!!!@RTCProjectType = -1;
EXPRE!$TFFREAD !!!!!!if ~isempty(strfind(linecont{linec}, 'FromSlice')), @RTCProjectType = 0; end
EXPRE!$TFFREAD !!!!!!if ~isempty(strfind(linecont{linec}, 'FromClust')), @RTCProjectType = 1; end
EXPRE!$TFFREAD !!!!!!if ~isempty(strfind(linecont{linec}, 'FromPatch')), @RTCProjectType = 2; end
# FMR
BLOOP!@RTCProjectType== 0!RTCFromFMR !!!1 !!RTCFromFMR
FIELD! !FromSlice !double !%d !1 !0 !FromSlice
FLIST! !NrOfPixels !double !%d !1 !1 !NrOfPixels
# X1, Y1, X2, Y2 are more tricky!
EXPRE!$TFFWRITE !!!!!!@X1 = sprintf('%3d Y1: %3d', @X1, @Y1);
EXPRE!$TFFWRITE !!!!!!@X2 = sprintf('%3d Y2: %3d', @X2, @Y2);
FIELD! !X1 !string !%s !1 ! !X1
EXPRE!$TFFREAD !!!!!!@Y1 = 0;
FIELD! !X2 !string !%s !1 ! !X2
EXPRE!$TFFREAD !!!!!!$X1Y1 = strrep(lower(@X1), 'y1:', '');
EXPRE!$TFFREAD !!!!!!$X2Y2 = strrep(lower(@X2), 'y2:', '');
EXPRE!$TFFREAD !!!!!!try, $X1Y1 = str2num($X1Y1); @X1 = $X1Y1(1); @Y1 = $X1Y1(2); end
EXPRE!$TFFREAD !!!!!!try, $X2Y2 = str2num($X2Y2); @X2 = $X2Y2(1); @Y2 = $X2Y2(2); end
ARRAY! !RTCMatrix !double !%6.3f !@NrOfValues, @NrOfRTCs !!RTCMatrix
ELOOP! !RTCFromFMR !!! !!RTCFromFMR
# VTC
BLOOP!@RTCProjectType== 1!RTCFromVTC !!!1 !!RTCFromVTC
FIELD! !FromCluster !double !%d !1 !0 !FromCluster
FLIST! !NrOfVoxels !double !%d !1 !1 !NrOfVoxels
# TalX, TalY, TalZ, Unused are more tricky!
EXPRE!$TFFWRITE !!!!!!@TalX = sprintf('%3d TalY: %3d', @TalX, @TalY);
EXPRE!$TFFWRITE !!!!!!@TalZ = sprintf('%3d NotUsed: %3d', @TalZ, @NotUsed);
FIELD! !TalX !string !%s !1 ! !TalX
EXPRE!$TFFREAD !!!!!!@TalY = 0;
FIELD! !TalZ !string !%s !1 ! !TalZ
EXPRE!$TFFREAD !!!!!!$TalXY = strrep(lower(@TalX), 'taly:', '');
EXPRE!$TFFREAD !!!!!!$TalZN = strrep(lower(@TalZ), 'notused:', '');
EXPRE!$TFFREAD !!!!!!try, $TalXY = str2num($TalXY); @TalX = $TalXY(1); @TalY = $TalXY(2); end
EXPRE!$TFFREAD !!!!!!try, $TalZN = str2num($TalZN); @TalZ = $TalZN(1); @NotUsed = $TalZN(2); end
ARRAY! !RTCMatrix !double !%6.3f !@NrOfValues, @NrOfRTCs !!RTCMatrix
ELOOP! !RTCFromVTC !!! !!RTCFromVTC
# MTC
BLOOP!@RTCProjectType== 2!RTCFromMTC !!!1 !!RTCFromMTC
FIELD! !FromPatch !double !%d !1 !0 !FromPatch
FLIST! !NrOfVertices !double !%d !1 !1 !NrOfVertices
# TalX, TalY, TalZ, Unused are more tricky!
WRTLN!!!!!!!NotUsed: 0 NotUsed: 0
WRTLN!!!!!!!NotUsed: 0 NotUsed: 0
ARRAY! !RTCMatrix !double !%6.3f !@NrOfValues, @NrOfRTCs !!RTCMatrix
ELOOP! !RTCFromMTC !!! !!RTCFromMTC
ELOOP! !HasNoFVLoop !!! !!HasNoFVLoop
EndListOfFields
# new file code snippet
NewFileCode:!
@FileVersion = 2;
@Type = 'DesignMatrix';
@NrOfPredictors = 0;
@NrOfDataPoints = 0;
@PredictorNames = cell(1, 0);
@RTCMatrix = [];
EndNewFileCode
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -