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

📄 vdw.bff

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

# BVQX file format for *.VDW files (Volumetric Diffusion Weighted)
# VDW FileVersions supported: 1
#
# Version:  v0.7a
# Build:    7072411
# Date:     Jul-24 2007, 11:32 AM CEST
# Author:   Jochen Weber, Brain Innovation, B.V., Maastricht, NL
# URL/Info: http://wiki.brainvoyager.com/BVQXtools

# FILE FORMAT
Description:Volume diffusion weighted datafiles
EncodingSyntax:ieee-le
Extensions:vdw

# FIELDS
ListOfFields:!
type  !cond                   !disktype!datatype!dim                      !default !varname

# for writing, don't trust values...
BLOOP !$BFFWRITE              ! ! !1 ! !WriteChecks
EXPRE !!!!!! $TXYZDim=size(@VDWData); @NrOfVolumes=$TXYZDim(1); $XDim=$TXYZDim(2); $YDim=$TXYZDim(3); $ZDim=$TXYZDim(4);
EXPRE !!!!!! tv_XDim = (@XEnd - @XStart) / @Resolution; tv_YDim = (@YEnd - @YStart) / @Resolution; tv_ZDim = (@ZEnd - @ZStart) / @Resolution;
EXPRE !!!!!! if tv_XDim ~= $XDim | tv_YDim ~= $YDim | tv_ZDim ~= $ZDim, error('Wrong dimensions.'); end
ELOOP !                       ! ! !  ! !WriteChecks

# header fields
FIELD !                       !uint16  !double  !1, 1                     !        !FileVersion
FIELD !                       !cstring !cstring !1, 1                     !        !NameOfSourceDMR
FIELD !                       !cstring !cstring !1, 1                     !        !NameOfLinkedPRT
FIELD !                       !uint16  !double  !1, 1                     !        !NrOfVolumes
FIELD !                       !uint16  !double  !1, 1                     !        !Resolution
FIELD !                       !uint16  !double  !1, 1                     !        !XStart
FIELD !                       !uint16  !double  !1, 1                     !        !XEnd
FIELD !                       !uint16  !double  !1, 1                     !        !YStart
FIELD !                       !uint16  !double  !1, 1                     !        !YEnd
FIELD !                       !uint16  !double  !1, 1                     !        !ZStart
FIELD !                       !uint16  !double  !1, 1                     !        !ZEnd
EXPRE !$BFFREAD           !!!!!$XDim = (@XEnd - @XStart) / @Resolution;
EXPRE !$BFFREAD           !!!!!$YDim = (@YEnd - @YStart) / @Resolution;
EXPRE !$BFFREAD           !!!!!$ZDim = (@ZEnd - @ZStart) / @Resolution;
FIELD !                       !single  !double  !1, 1                     !        !TR
FIELD !                       !uint32  !double  !1, 1                     !        !TE
FIELD !                       !uint8   !double  !1, 1                     !        !GradientDirectionsVerified
FIELD !                       !uint8   !double  !1, 1                     !        !XDirection # 1: LR, 2: RL, 3: AP, 4: PA, 5: IS, 6: SI
FIELD !                       !uint8   !double  !1, 1                     !        !YDirection # 1: LR, 2: RL, 3: AP, 4: PA, 5: IS, 6: SI
FIELD !                       !uint8   !double  !1, 1                     !        !ZDirection # 1: LR, 2: RL, 3: AP, 4: PA, 5: IS, 6: SI
FIELD !                       !uint8   !double  !1, 1                     !        !GradientInformationAvailable
EXPRE !$BFFWRITE          !!!!!@GradientBValueTable = @GradientBValueTable';
FIELD !@GradientInformationAvailable > 0 !single  !double  !4, @NrOfVolumes !      !GradientBValueTable
EXPRE !@GradientInformationAvailable == 0!!!!!@GradientBValueTable = zeros(4, @NrOfVolumes);
EXPRE !                   !!!!!@GradientBValueTable = @GradientBValueTable';

# past transformations
FIELD !                       !uint8   !double  !1, 1                     !        !NrOfPastSpatialTransformations
EXPRE !$BFFREAD           !!!!!@Trf = cell2struct(cell(0, 0, 3), {'NameOfSpatialTransformation', 'TypeOfSpatialTransformation', 'TransformationValues'}, 3);
BLOOP !                       ! ! !@NrOfPastSpatialTransformations ! !NumTrf
FIELD !                       !cstring !cstring !1                        !        !Trf($NumTrf).NameOfSpatialTransformation
FIELD !                       !uint16  !double  !1, 1                     !        !Trf($NumTrf).TypeOfSpatialTransformation
FIELD !@Trf($NumTrf).TypeOfSpatialTransformation == 1!single!double!3, 3  !        !Trf($NumTrf).TransformationValues
EXPRE !$BFFWRITE & @Trf($NumTrf).TypeOfSpatialTransformation == 2!!!!!@Trf($NumTrf).TransformationValues = @Trf($NumTrf).TransformationValues';
FIELD !@Trf($NumTrf).TypeOfSpatialTransformation == 2!single!double!4, 4  !        !Trf($NumTrf).TransformationValues
EXPRE !$BFFREAD & @Trf($NumTrf).TypeOfSpatialTransformation == 2!!!!!@Trf($NumTrf).TransformationValues = @Trf($NumTrf).TransformationValues';
ELOOP !                       ! ! !  ! !NumTrf

# if no transformations, yet initialize field
EXPRE !@NrOfPastSpatialTransformations < 1!!!!!@Trf = cell2struct(cell(0, 0, 3), {'NameOfSpatialTransformation', 'TypeOfSpatialTransformation', 'TransformationValues'}, 3);

FIELD !                       !uint16  !uint16  !@NrOfVolumes, $XDim, $YDim, $ZDim!!VDWData

# 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

# new file code snippet
NewFileCode:!
@FileVersion = 1;
@NameOfSourceDMR = '';
@NameOfLinkedPRT = '';
@NrOfVolumes = 0;
@Resolution = 2;
@XStart = 57;
@XEnd = 231;
@YStart = 52;
@YEnd = 172;
@ZStart = 59;
@ZEnd = 197;
tXDim = (@XEnd - @XStart) / @Resolution;
tYDim = (@YEnd - @YStart) / @Resolution;
tZDim = (@ZEnd - @ZStart) / @Resolution;
@TR = 8000;
@TE = 80;
@GradientDirectionsVerified = 0;
@XDirection = 1;
@YDirection = 3;
@ZDirection = 5;
@GradientInformationAvailable = 0;
@GradientBValueTable = zeros(@NrOfVolumes, 4);
@GradientInformationAvailable = 0;
@NrOfPastSpatialTransformations = 0;
@Trf = cell2struct(cell(0, 0, 3), {'NameOfSpatialTransformation', 'TypeOfSpatialTransformation', 'TransformationValues'}, 3);
@VDWData = uint16(zeros([@NrOfVolumes, tXDim, tYDim, tZDim]));
EndNewFileCode

⌨️ 快捷键说明

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