Home > FMAToolbox > IO > LoadSpikeWaveforms.m

LoadSpikeWaveforms

PURPOSE ^

LoadSpikeWaveforms - Read spike waveforms from disk.

SYNOPSIS ^

function waveforms = LoadSpikeWaveforms(filename,nChannels,nSamples,list)

DESCRIPTION ^

LoadSpikeWaveforms - Read spike waveforms from disk.

  USAGE

    waveforms = LoadSpikeWaveforms(filename,nChannels,nSamples,list)

    filename            spike waveform file name
    nChannels           number of channels in electrode group
    nSamples            number of samples per waveform
    list                optional list of spikes (from 1 to N) to load

  OUTPUT

    waveforms           3D array (spike #,channel,sample) of waveforms

  SEE

    See also GetSpikeWaveforms, PlotSpikeWaveforms.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function waveforms = LoadSpikeWaveforms(filename,nChannels,nSamples,list)
0002 
0003 %LoadSpikeWaveforms - Read spike waveforms from disk.
0004 %
0005 %  USAGE
0006 %
0007 %    waveforms = LoadSpikeWaveforms(filename,nChannels,nSamples,list)
0008 %
0009 %    filename            spike waveform file name
0010 %    nChannels           number of channels in electrode group
0011 %    nSamples            number of samples per waveform
0012 %    list                optional list of spikes (from 1 to N) to load
0013 %
0014 %  OUTPUT
0015 %
0016 %    waveforms           3D array (spike #,channel,sample) of waveforms
0017 %
0018 %  SEE
0019 %
0020 %    See also GetSpikeWaveforms, PlotSpikeWaveforms.
0021 
0022 % Copyright (C) 2004-2013 by Michaƫl Zugaro
0023 %
0024 % This program is free software; you can redistribute it and/or modify
0025 % it under the terms of the GNU General Public License as published by
0026 % the Free Software Foundation; either version 3 of the License, or
0027 % (at your option) any later version.
0028 
0029 if nargin < 3,
0030   error('Incorrect number of parameters (type ''help <a href="matlab:help LoadSpikeWaveforms">LoadSpikeWaveforms</a>'' for details).');
0031 end
0032 
0033 [path,basename,extension] = fileparts(filename);
0034 if isempty(path), path = '.'; end
0035 
0036 electrodeGroupStr = extension(2:end);
0037 electrodeGroup = str2num(electrodeGroupStr);
0038 [~,basename] = fileparts(basename);
0039 
0040 % Load .spk file
0041 filename = [path '/' basename '.spk.' electrodeGroupStr];
0042 if ~exist(filename),
0043     error(['File ''' filename ''' not found.']);
0044 end
0045 if nargin < 4,
0046     waveforms = LoadBinary(filename,'nChannels',nChannels);
0047 else
0048     waveforms = LoadBinary(filename,'nChannels',nChannels,'nRecords',nSamples*ones(size(list)),'offset',nSamples*(list-1));    
0049 end
0050 waveforms = reshape(waveforms',nChannels,nSamples,[]);
0051 waveforms = permute(waveforms,[3 1 2]); % rearrange: spike #, channel, sample

Generated on Fri 16-Mar-2018 13:00:20 by m2html © 2005