fs_read_wfile.m

来自「Matlab下的EEG处理程序库」· M 代码 · 共 52 行

M
52
字号
function [w,v] = fs_read_wfile(fname)

% FS_READ_WFILE - FREESURFER I/O function to read an overlay (*.w) file
% 
% [w,vert] = fs_read_wfile(fname)
% 
% reads a vector from a binary 'w' file
%	fname - name of file to read from
%	w     - vector of values
%   vert  - vertex indices
% 
% After reading an associated surface, with fs_read_surf, try:
% patch('vertices',vert,'faces',face,...
%       'facecolor','interp','edgecolor','none',...
%       'FaceVertexCData',w); light
% 
% See also FS_WRITE_WFILE, FS_READ_SURF, FS_READ_CURV

if (nargin ~= 1),
    msg = sprintf('USAGE: [w,v] = fs_read_wfile(fname)\n');
    error(msg);
end

% open it as a big-endian file
fid = fopen(fname, 'rb', 'b') ;
if (fid < 0),
    str = sprintf('could not open w file %s.', fname) ;
    error(str) ;
end

fread(fid, 1, 'int16');  % Skip latency int

vnum = fs_fread3(fid) ;  % Number of non-zero values
v = zeros(vnum,1) ;
w = zeros(vnum,1) ;
for i=1:vnum,
    v(i) = fs_fread3(fid) ;
    w(i) = fread(fid, 1, 'float') ;
end

fclose(fid) ;

if nargout > 1,
    fprintf('...adding 1 to vertex indices for matlab compatibility.\n');
    v = v + 1;
end

% w = zeros(max(v),1);
% w(v+1) = w0;

return

⌨️ 快捷键说明

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