[Master Index]
[Index for Toolbox]
load_fif_asc
(Toolbox/load_fif_asc.m in BrainStorm 2.0 (Alpha))
Function Synopsis
[Lat,Data,Label,LabelNum] = load_fif_asc(fname,verbose);
Help Text
LOAD_FIF_ASC - Load data from Neuromag 122 .fif file converted to ascii
function [Lat,Data,Label,LabelNum] = load_fif_asc(fname,verbose);
Open and read the fiff2ascii converted file FNAME, where we assume that
the time values are included (fiff2ascii -t).
Returns the latencies in Lat, the m by length(Lat) matrix of data Data.
The Label is string the labels found per row in Data, such as MEG, EEG, STI,
and the LabelNum is the integer associated with the Label.
Cross-Reference Information
This function calls
- str2mat0 C:\BrainStorm_2001\Toolbox\str2mat0.m
Listing of function C:\BrainStorm_2001\Toolbox\load_fif_asc.m
function [Lat,Data,Label,LabelNum] = load_fif_asc(fname,verbose);
%LOAD_FIF_ASC - Load data from Neuromag 122 .fif file converted to ascii
%function [Lat,Data,Label,LabelNum] = load_fif_asc(fname,verbose);
% Open and read the fiff2ascii converted file FNAME, where we assume that
% the time values are included (fiff2ascii -t).
% Returns the latencies in Lat, the m by length(Lat) matrix of data Data.
% The Label is string the labels found per row in Data, such as MEG, EEG, STI,
% and the LabelNum is the integer associated with the Label.
%<autobegin> ---------------------- 26-May-2004 11:30:50 -----------------------
% --------- Automatically Generated Comments Block Using AUTO_COMMENTS ---------
%
% CATEGORY: Data Processing
%
% Alphabetical list of external functions (non-Matlab):
% toolbox\str2mat0.m
%
% At Check-in: $Author: Mosher $ $Revision: 13 $ $Date: 5/26/04 9:59a $
%
% This software is part of BrainStorm Toolbox Version 2.0 (Alpha) 24-May-2004
%
% Principal Investigators and Developers:
% ** Richard M. Leahy, PhD, Signal & Image Processing Institute,
% University of Southern California, Los Angeles, CA
% ** John C. Mosher, PhD, Biophysics Group,
% Los Alamos National Laboratory, Los Alamos, NM
% ** Sylvain Baillet, PhD, Cognitive Neuroscience & Brain Imaging Laboratory,
% CNRS, Hopital de la Salpetriere, Paris, France
%
% See BrainStorm website at http://neuroimage.usc.edu for further information.
%
% Copyright (c) 2004 BrainStorm by the University of Southern California
% This software distributed under the terms of the GNU General Public License
% as published by the Free Software Foundation. Further details on the GPL
% license can be found at http://www.gnu.org/copyleft/gpl.html .
%
% FOR RESEARCH PURPOSES ONLY. THE SOFTWARE IS PROVIDED "AS IS," AND THE
% UNIVERSITY OF SOUTHERN CALIFORNIA AND ITS COLLABORATORS DO NOT MAKE ANY
% WARRANTY, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF
% MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE, NOR DO THEY ASSUME ANY
% LIABILITY OR RESPONSIBILITY FOR THE USE OF THIS SOFTWARE.
%<autoend> ------------------------ 26-May-2004 11:30:50 -----------------------
% ----------------------------- Script History ---------------------------------
% September 3, 1996 author
% JCM 19-May-2004 Comments cleaning
% ----------------------------- Script History ---------------------------------
if(exist('verbose') ~= 1),
verbose = 1; % talkative running
end
fid = fopen(fname,'rt'); % text mode all platforms
if(fid < 0),
error(['Unable to open file ' fname])
end
next_line = fgetl(fid);
if(verbose)
disp(next_line)
end
key_word = sscanf(next_line,'# %s');
while(~strcmp(key_word,'channels:')),
next_line = fgetl(fid);
if(verbose)
disp(next_line)
end
key_word = sscanf(next_line,'# %s');
end
% we are on line 'channels', read next many lines
next_line = fgetl(fid);
next_line(1) = []; % drop the # sign
if(verbose)
disp(next_line)
end
% we are scanning by skipping the first char (#), then reading in pairs
% of channel information. First find how many separate blocks of info
[temporary,temp_els] = sscanf(next_line,'%s',Inf);
% temp_els is the number of elements read on this line
Label = []; % initialize
LabelNum = [];
while(temp_els~=0), % while elements were read
if(verbose)
disp(next_line)
end
for i = 1:(temp_els/2), % for each pair of label, number
[nextLab,ignore,ignore1,temp_next] = ...
sscanf(next_line,'%s',1);
Label = str2mat0(Label,nextLab); % append the label, using JCM routine
next_line(1:(temp_next-1)) = []; % drop the read characters
[nextNum,ignore,ignore1,temp_next] = sscanf(next_line,'%d',1);
LabelNum = [LabelNum;nextNum];
next_line(1:(temp_next-1)) = []; % drop the read number
end % for each pair
next_line = fgetl(fid);
next_line(1) = []; % drop the # sign
[temporary,temp_els] = sscanf(next_line,' %s %d',[4 Inf]);
end
if(verbose),
disp(sprintf('Read that %.0f labels of data exist',size(Label,1)))
disp('Loading data . . .')
end
% we are on empty line, from here on it's just data
Data = fscanf(fid,'%f ',Inf);
fclose(fid);
% all data loaded, parse.
% We have size(Label,1) entries, plus the latencies.
Mrows = size(Label,1) + 1;
Data = reshape(Data,Mrows,length(Data)/Mrows);
Lat = Data(1,:);
Data(1,:) = [];
return
Produced by color_mat2html, a customized BrainStorm 2.0 (Alpha) version of mat2html on Tue Oct 12 12:05:14 2004
Cross-Directory links are: ON