jonnew / squeakyspk

Automatically exported from code.google.com/p/squeakyspk
1 stars 0 forks source link

Code Standardization #8

Open GoogleCodeExporter opened 9 years ago

GoogleCodeExporter commented 9 years ago
Some steps need to be taken to improve the useability of SqueakySpk.

1. methods execept the constructor should be moved into their own separate .m 
file.

2. If a method modifies a propery, e.g. SS.psh and returns a plot, there needs 
to be an option to disable plot creation because this can be very annoying when 
automating things.

3. Every method must have a standard help section. Although the code is 
intuitive to the coder, for everyone else, it requires a lot of work to 
reegineer what is going on, especially if the coder likes short, non-descritive 
variable names. Here is an example:

% PLOTAVGWAVEFORM(SS) Plots the average waveforms for each
% unit, labeled with the unit number. Units that will be
% removed (that are marked as unclean) are colored red.
%
%       Created by: Jon Newman (jnewman6 at gatech dot edu)
%       Location: The Georgia Institute of Technology
%       Created on: Aug 2, 2010
%       Last modified: Aug 2, 2010
%   Licensed under the GPL: http://www.gnu.org/licenses/gpl.txt

function RasterPlot(SS, bound, what2show, yaxischannel)
% RASTERPLOT Rasterplot method for the SqeakySpk class.
%
% Plots the a raster image of spike times versus unit or channel along with
% stimuli. Spikes that will currently be cleaned in the Squeaky spike
% object appear as red dots, those that will pass appear as white dots.
%
%   RASTERPLOT(SS) displays a raster-plot of
%   SS properties time versus unit (or channel),
%   e.g.    SS.time = [0.1 0.21 0.22 0.9 1.1,...,N] (NX1)
%           SS.unit = [3 1 1 1 2,...,N] (NX1)
%           SS.waveform = [[],[],...,N] (MXN).
%
%   RASTEPLOT(SS, bound, what2show, yaxischannel) creates a raster
%   wave plot for a portion of the full recording specified in bound = [start
%   stop] measured in whatever the units SS.time are in. what2show is a
%   string argument that can take three values ['both','clean', or
%   'dirty']. This determins what type of data is shown in the raster plot.
%   Those data that will be removed after cleaning ('dirty') those data
%   that have survived cleaning ('clean') or both types in different
%   colors. yaxischannel is a logical that will force the ordinate axis of
%   the raster plot to display channel instead of unit informaiton.
%
%   Created by: Jon Newman (jnewman6 at gatech dot edu)
%   Location: The Georgia Institute of Technology
%   Created on: July 30, 2009
%   Last modified: Aug 05, 2010
%
%   Licensed under the GPL: http://www.gnu.org/licenses/gpl.txt

4. If your method is from a paper, include the full citation in your method 
description. 

Original issue reported on code.google.com by jonathan...@gmail.com on 24 Apr 2011 at 5:13