Contents

The toolbox is organized in distinct functional categories:
DataExperimental data handling
GeneralGeneral-purpose data processing and statistical tests
AnalysesSpecialized analyses (PSTH, place maps, tuning curves...)
PlotEnhanced and specialized plotting functions
DatabaseDatabase access and storage
IOInput/output helper functions, including batch handling
The full list of functions with detailed descriptions is available here.

Overview

Functions provided in the Data category can be used to read experimental data files. The file format is the same as in other programs such as Klusters, NeuroScope and NDManager (see e.g. this page).

However, the rest of the toolbox is independent from these file formats, so you are free to use any format you like (of course, you would then have to add your own code to read your files).

Upon loading, the data are stored in simple matrices where the first column contains timestamps and the remaining columns contain the corresponding values. For instance, moment-to-moment positions of the animal are stored as
          0        100.625         74.375
     0.0256         99.375             75
     0.0512         99.375             75
     0.0768        100.625             75
     0.1024        100.625             75
        ...            ...            ...
where the first column is time (in seconds), the second is the X coordinate of the animal, and the third is its Y coordinate. Positions stored in such a matrix are referred to as position 'samples'.

Many functions in FMAToolbox provide basic processing of 'samples', such as time selection, interpolation or smoothing. These are grouped in the General category, together with statistical measures and tests, interval handling, binning, etc.

More specialized analysis functions are grouped in the Analyses category, including peri-event time histograms (PETH), place maps, tuning curves, spectrograms, current source density, ripple detection, etc.

Results can be plotted using enhanced or specialized functions provided in the Plot category, and stored in a local or network database using functions in the Database category.

Last, the IO category contains low-level disk access functions (which should normally not be used directly), as well as batch-processing handling functions.

Getting Started

A typical data analysis session would start by loading the experimental data:
  >> SetCurrentSession
A dialog pops up, where you can navigate your disk to choose the recording session to analyze. Files are then loaded and kept in memory. You can now access the data very easily. For instance, if you need the position samples, do:
  >> p = GetPositions;
To plot the firing map of the place cell corresponding to cluster 5 on tetrode 3:
  >> s = GetSpikes([3 5]);
  >> map = FiringMap(p,s);
  >> figure;
  >> PlotColorMap(map.rate,map.time); % time is used to dimm the colors
To plot theta phase precession information (phase as a function of position, phase distribution as a function of position, and phase as a function of firing rate) for the same neuron:
  >> lfp = GetLFP(20); % theta is measured on channel 20
  >> theta = FilterLFP(lfp,'passband','theta');
  >> phi = Phase(theta);
  >> precession = PhasePrecession(p,s,phi);
  >> figure;
  >> PlotPhasePrecession(precession);
Now let us plot a spike raster synchronized on stimulation events:
  >> stims = GetEvents('stimulation');
  >> [sync,i] = Sync(s,stims);
  >> figure;
  >> PlotSync(sync,i);
and the corresponding PSTH and time-varying spike distribution:
  >> [h,t] = SyncHist(sync,i);
  >> figure;
  >> bar(t,h); % PSTH
  >> [h,t,n] = SyncHist(sync,i,'mode','dist');
  >> figure;
  >> PlotColorMap(h,1,'x',t,'y',n); % distribution
For more information, read the help topics listed above (CONTENTS).

Note

You may wish to add the following line to your startup file:
  Browse('on');
This will automatically activate browsing features in every figure.