📄 bvqx_dtsf_writefibers.m
字号:
function bvqx_dtsf_writefibers(fid, fibers)
% bvqx_dtsf_writefibers - write fibers to DTSF file
%
% FORMAT: writeok = bvqx_dtsf_writefibers(fid, fibers)
%
% Input fields:
%
% fid output file fid (already open)
% fibers Nx1 struct array with fields
% .NrOfPoints number of points for that fiber
% .Selected uint8, either 0 or 1
% .RGB 1x3 uint8 array
% .FromToPoint 1x2 double array, [0, NrOfPoints]
% .Coord Px3 coordinates of fiber points
%
% Output fields
%
% fibers Nx1 struct array with fields
%
% See also BVQXfile, bffio
% Version: v0.7b
% Build: 7083015
% Date: Aug-30 2007, 3:22 PM CEST
% Author: Jochen Weber, Brain Innovation, B.V., Maastricht, NL
% URL/Info: http://wiki.brainvoyager.com/BVQXtools
% argument check
if nargin < 2 || ...
~isa(fid, 'double') || ...
isempty(fid) || ...
~isreal(fid) || ...
~any(fopen('all') == fid(1)) || ...
~isstruct(fibers) || ...
~isfield(fibers, 'NrOfPoints') || ...
~isfield(fibers, 'Selected') || ...
~isfield(fibers, 'RGB') || ...
~isfield(fibers, 'FromToPoint') || ...
~isfield(fibers, 'Coord')
error( ...
'BVQXtools:BadArgument', ...
'Bad or missing argument.' ...
);
end
% grand TRY loop
numfib = numel(fibers);
try
% loop over fibers
for fc = 1:numfib
% write fiber data
fwrite(fid, fibers(fc).NrOfPoints(1) , 'uint32');
fwrite(fid, fibers(fc).Selected(1) , 'uint8');
fwrite(fid, fibers(fc).RGB(1:3) , 'uint8');
fwrite(fid, fibers(fc).FromToPoint(1:2), 'uint32');
fwrite(fid, fibers(fc).Coord(1:fibers(fc).NrOfPoints(1), 1:3)', 'single');
end
catch
error( ...
'BVQXtools:BadFileOrContent', ...
'Writing to file failed with: ''%s''.', ...
lasterr ...
);
end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -