📄 fs_write_curv.m
字号:
function [curv] = fs_write_curv(fname, curv, fnum, ver)
% FS_WRITE_CURV - FREESURFER I/O function to write a curvature file
%
% [curv] = fs_write_curv(fname, curv, fnum, [ver])
%
% writes a curvature vector into a binary file
% fname - name of file to write
% curv - vector of curvatures, one for each vertex
% fnum - # of faces in surface.
% ver - 'old' or 'new' version format (new by default)
%
% See also FS_READ_CURV, FS_WRITE_SURF, FS_WRITE_WFILE
if(nargin < 3),
fprintf('USAGE: curv = fs_write_curv(fname, curv, fnum, [ver])\n');
return;
end
if ~exist('ver','var'), ver = 'new'; end
if isempty(ver), ver = 'new'; end
% curv array is one value per vertex,
% so we get the number of vertices:
vnum = length(curv) ;
% open file as a big-endian file
fid = fopen(fname, 'wb', 'b') ;
switch lower(ver),
case 'new',
fprintf('...writing new curv version (float)\n');
NEW_VERSION_MAGIC_NUMBER = 16777215;
fs_fwrite3(fid, NEW_VERSION_MAGIC_NUMBER ) ;
fwrite(fid, vnum,'int32');
fwrite(fid, fnum,'int32');
fwrite(fid, 1,'int32'); % vals_per_vertex
fwrite(fid, curv,'float');
fclose(fid) ;
case 'old',
fprintf('...writing old curv version (int16)\n');
fs_fwrite3(fid,vnum) ;
fs_fwrite3(fid,fnum) ;
fwrite(fid, curv .* 100, 'int16') ;
end
return
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -