function this = read_freesurfer_file(filename) % Low level reader of FreeSurfer files (ASCII triangle surface file) % FORMAT this = read_freesurfer_file(filename) % filename - FreeSurfer file % % See http://wideman-one.com/gw/brain/fs/surfacefileformats.htm %__________________________________________________________________________ % Copyright (C) 2013 Wellcome Trust Centre for Neuroimaging % Guillaume Flandin % $Id: read_freesurfer_file.m 5322 2013-03-13 15:04:14Z guillaume $ fid = fopen(filename,'rt'); if fid == -1, error('Cannot open "%s".',filename); end fgetl(fid); % #!ascii N = fscanf(fid,'%d',2); this.vertices = fscanf(fid,'%f %f %f %d',[4 N(1)])'; this.faces = fscanf(fid,'%d %d %d %d',[4 N(2)])'; fclose(fid); this.vertices = this.vertices(:,1:3); this.faces = this.faces(:,1:3) + 1;