-
Notifications
You must be signed in to change notification settings - Fork 36
/
Copy pathShihChengChangeLog.txt
3852 lines (3482 loc) · 178 KB
/
ShihChengChangeLog.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
Neuro Physiology Toolbox
Change Log (Shih-Cheng Yen)
July 16, 2001
nptWritSorterHDR: renamed to nptWriteSorterHDR.
changed format of header slightly to make reading back easier.
nptReadSorterHDR: created to return header info.
nptReadDatFile: updated help message.
July 17, 2001
ProcessDay: Moved ProcessSession call into a separate loop after files
have been moved.
July 20, 2001
GenerateSessionSpikeTrains: Changed session structure so that we can
store the session name, and max trial duration in the structure.
InspectSpikes: Renamed from CheckingSorting. Updated to use the new
session structure. Fixed bug that was rounding up a integer instead
of a float.
July 30, 2001
GenerateSessionSpikeTrains: Added signal number as an argument so that a
signal field is added to the session structure to store signal
number in the raw streamer file so that InsepectSpikes won't need
any additional information.
InspectSpikes: Updated to use signal number in the session structure
instead of requiring an additional argument to specify the signal
number.
July 31, 2001
nptHighPass: Use filtfilt instead of filter to eliminate phase shifts in
the filtered signal.
nptLfpFilter2: Use filtfilt instead of filter to eliminate phase shifts
in the filtered signal.
AutomatedScript: Moved check for marker file to ProcessDay.
ProcessDay: Now checks for marker file before proceeding.
ProcessSession: Fixed bug that did not create marker file when done
processing. Added check to make sure ini file is not a RF file
before trying to read it to see if it is a calibration session.
nptReadSorterHdr: Added channel order in streamer file to the list of
return parameters.
August 1, 2001
InspectSpikes: Fixed bug that left out a close parenthesis in checking
for the presence of highpass in the session name.
nptLfpFilter2: Changed filter cutoffs to 1-150 Hz.
ProcessDay: Changed marker name to processday.txt so there are no
confusions with other scripts.
ProcessSession: Changed marker name to processsession.txt so there are
no confusions with other scripts.
ProcessEyeSessions: Changed marker name to processeyes.txt so there are
no confusions with other scripts.
August 2, 2001
GenerateSessionSpikeTrains: Now opens .GDF, .DAT, and .HDR file so you
don't have to load them all separately.
nptReadSorterHdr: Updated comments.
ProcessDay: Added check for file skip.txt to see if we should skip the
day.
ProcessSession: Added check for file skip.txt to see if we should skip
the session.
ProcessEyeSessions: Added check for file skip.txt to see if we should
skip the session.
nptLfpFilter2: Removed for loop used in resampling the data.
August 3, 2001
nptLfpFilter2: Need to call butter each time since we are running into
problems with the round off error in the coefficients when
we specify them in the script.
ProcessSession: Changed filenames for lfp and highpass to the following
format sessionname_lfp0001.bin and sessionname_highpass0001.bin.
Added extra fprintf at the end to return prompt to the usual
place. Added check to make sure there were ini files in a
directory before proceeding, e.g. when we place a dxy file in a
dummy session just so we can use the eye data.
ProcessEyeSessions: Fixed bug that forgot to create processedeyes.txt
when done with each session. Added extra fprintf at the end to
return prompt to the usual place.
ProcessDay: Updated to use new naming format. Reversed order of moving
eye and eyefilt files because of new naming format.
nptHighPass: Now calls butter each time to get the proper coefficients.
Also transposes data since filtfilt takes data in columns. The
filtered data is transposed back since extractor expects data
in rows.
August 4, 2001
InspectSpikes: Added 'zoom on' to allow interactive magnification. Will
now use current figure if there is one instead of creating a new
figure each time.
August 8, 2001
InspectSpikes: Added mod to line commands to allow more than 7 clusters.
InspectDatFile: Rewritten to use nptReadDatFile to read in whole DAT
file and added keyboard handling similar to InspectSpikes.
August 13, 2001
nptReadStreamerFile: Updated help comments. Added Dependencies section.
nptReadDatFile: Updated help comments. Added Dependencies section.
nptReadSorterHdr: Updated help comments. Added Dependencies section.
InspectSpikes: Updated help comments. Added Dependencies section.
GenerateSessionSpikeTrains: Updated help comments. Added Dependencies
section.
August 15, 2001
GenerateSessionSpikeTrains: Fixed bug that failed to check to see if we
have exceeded the size of the gdf vector.
August 26, 2001
nptExtructor: Changed ceil to floor when rounding negative stdev.
Removed redundancies in code. Updated comments.
AutomatedScript: Updated comments. Replaced size(varargin,2) with
nargin. Added processing of 'redo' argument.
ProcessDay: Updated comments. Added processing of 'redo' argument. Added
argument to call to ProcessEyeSessions.
ProcessEyeSessions: Added arguments to function call to check for 'redo'
argument.
ProcessSession: Updated comments. Added processing of 'redo' argument.
Fixed function names to be conscious of case-sentivity.
InspectDatFile: Updated comments.
August 29, 2001
AutomatedScript: Checks if the arguments passed in are in a cell array.
ProcessDay: Checks if the arguments passed in are in a cell array.
Indents fprintf commands to provide clearer feedback.
ProcessSession: Checks if the arguments passed in are in a cell array.
Indents fprintf commands to provide clearer feedback.
ProcessEyesSessions: Checks if the arguments passed in are in a cell
array. Indents fprintf commands to provide clearer feedback.
September 2, 2001
ProcessSession: Added code to extract spikes from highpass filtered data
if the session contained broadband data. Fixed neuron spelling.
ProcessDay: Now calls unix script tolower.tcsh to rename all filenames
to lowercase characters if run on anything other than PC or Mac
platforms.
September 5, 2001
ExtractorWrapper: Added return arguments for mean and 4 stdev for
clipped data. Now clips data without assuming mean of 0 for data.
Now passes mean and 4 stdev for clipped data to nptExtructor. Fixed
neuron spelling.
nptExtructor: Now takes mean of clipped data as argument instead of
calculating the mean from unclipped data.
nptWriteDat: Fixed neuron spelling.
September 6, 2001
ExtractorWrapper: Fixed bug that didn't store the means and thresholds
separately for the different groups. Updated comments.
ProcessSession: Now keeps the means and thresholds for the different
groups separate. Now loops over groups after extraction and calls
nptWriteDat and nptWriteSorterHdr separately.
nptWriteDat: Now just writes DAT file instead of looping over groups and
calling nptWriteSorterHdr.
nptWriteSorterHdr: Now writes means and thresholds used in extraction
for each trial.
GenerateSessionSpikeTrains: Fixed bug that failed to set gdfsize when
gdf's are not being used. Now reads in means and thresholds for each
trial from the HDR files created by the extraction functions.
InspectSpikes: Added code to draw mean and thresholds used in extraction
on raw data.
September 7, 2001
GenerateSessionSpikeTrains: Updated comments.
nptReadSorterHdr: Fixed error in comment. Put in code to set means and
thresholds to empty arrays to retain backward compatability with old
data. Fixed typo in means.
InspectSpikes: Added check to see if means and thresholds are empty in
order to retain backward compatability with old data. Added quit
key.
ProcessSession: Added adjustment of signal number when writing HDR files
for data extracted from highpass data files. Also added clear data
command to improve memory usuage.
September 11, 2001
InspectDatFile: Added quit key.
nptLfpFilter2: Added command to transpose the filtered data back into
the same form as the input data, i.e. each channel is in a row.
ProcessSession: Renamed groupfilename to rawfilename when calling to
avoid confusion when calling nptWriteSorterHdr. Added scanorders for
eye, lowpass, broadband so that when nptWriteStreamerFile is called,
it has only the relevant channels.
September 12, 2001
InspectSpikes: Updated comments. Added clear data command to improve
memory usage. Added check to avoid reading first trial twice.
InsepctStreamerSession: New function to inspect streamer files for all
trials in a session. Can also be used to look at lfp and high pass
signals.
September 13, 2001
InspectSpikes: Shifted x axis a little bit so we can see the start of
the data better.
InspectStreamerSession: Shifted x axis a little bit so we can see the
start of the data better. Added code to update time vector when
longer data files are encountered.
September 14, 2001
InspectStreamerSession: Fixed bug in computing durations.
September 18, 2001
ProcessEyeSessions: Fixed bug that would stop if a session with a
substitute eye session is encountered.
September 21, 2001
InspectSpikes: Fixed mod bug in cycling through plot colors when there
are more than 7 clusters.
October 5, 2001
nptAddPath: Created script to add NPT directories to path.
October 7, 2001
ProcessSession: Round max duration up to nearest integer to avoid
problems with round off errors.
October 8, 2001
read_init_info: Replaced calls to strread (which is not available in
Matlab 5.3) with sscanf.
October 9, 2001
ProcessEyeSessions: Added check for empty arguments. Fixed new bug that
failed to convert eye positions to screen coordinates for
experimental sessions.
InspectDatFile: Fixed bug that prevented the first trial from being
displayed after the start.
ProcessSession: Removed warning message about unknown signals (due to
trigger channel now being acquired).
October 11, 2001
AutomatedScript: Now passes arguments as comma separated strings so we
don't have to do all kinds of checks for the form of the arguments.
ProcessDay: Changed argument form as above.
ProcessSession: Changed argument form as above.
ProcessEyeSessions: Changed argument form as above.
October 12, 2001
ProcessSession: Commented out LFP processing. Now do nothing if signal
is LFP. Also no longer lowpass filter signals if they are broadband.
October 17, 2001
nptReadStreamerChannel: New function.
October 18, 2001
ProcessSession: Put lfp processing back as an optional user specified
calculation. Changed name format for streamer-like files back
to session_highpass.0001 to make them easier to work with.
ProcessEyeSessions: Changed name format for streamer-like files back
to session_highpass.0001 to make them easier to work with.
ProcessDay: Updated code to work with new file name format.
InspectSpikes: Updated code to work with new file name format.
InspectSpikesOnEyes: Updated code to work with new file name format.
InspectStreamerSession: Updated code to work with new file name format.
InspectLFPs: Function removed since InspectStreamerSession can do the
job as a result of the name change.
nptDisplayMovie: Updated code to work with new file name format.
nptDisplayStillImage: Updated code to work with new file name format.
nptDetectSaccade: Updated code to work with new file name format.
nptEyeInfo: Updated code to work with new file name format.
October 21, 2001
ProcessSession: Added computation of min_duration which is also passed
to nptWriteSorterHdr to be written out to the HDR file.
nptWriteSorterHdr: Now writes min_duration to the HDR file.
nptReadSorterHdr: Now reads min_duration from the HDR file.
October 22, 2001
nptDetectSaccade: Merged with Baldwin's changes.
nptEyeDurationHistograms: Updated to Baldwin's verson.
nptWriteSorterHdr: Changed format when writing min duration to the HDR
file to improve compatability with older files.
nptReadSorterHdr: Updated code to work with new min duration format.
October 28, 2001
ProcessSession: Fixed typo in computing min duration.
nptWriteSorterHdr: Fixed bug in writing duration.
October 30, 2001
nptDetectSaccade: Updated Baldwin's version.
nptEyeDurationHistograms: Updated Baldwin's version.
ProcessEyeSessions: Merged with Baldwin's changes. Moved addition of
session to experimental list out of if loop.
ProcessSessions: Merged with Baldwin's changes.
nptGetStreamerChannel: Function deleted.
nptReadSorterHdr: Updated Baldwin's version.
read_init_info: Updated to Baldwin's version.
InspectLFPs: Function deleted.
nptWriteSorterHdr: Updated Baldwin's version.
November 1, 2001
ProcessSession: Put low-pass processing back into ProcessSession. Fixed
typo in extractionflag. Now grabs the session name from
the directory to select raw data files.
November 23, 2001
GenerateSessionSpikeTrains: Updated to use new nptReadSorterHdr.
November 24, 2001
nptAddPath: Modified to remove any hard coded directories. Now it should
discover for itself the location of the base dir and add
all subdirectories to the path.
nptREADME: Added instructions to set up paths.
December 5, 2001
Merged with Baldwin's changes:
nptDetectSaccade: Deleted.
nptGenerateSessionEyeMovements: Updated to Baldwin's version.
nptEyeCalibAnalysis: Updated to Baldwin's version (changes in comments
that were not documented in Baldwin's change log).
nptEyeDurationHistograms: Updated to Baldwin's version (changes in
comments that were not documented in Baldwin's change log).
nptEyeInfo: Deleted as per Baldwin's changes.
nptEyePowerSpectrum: Added as per Baldwin's changes.
nptEyeVelocityHistogram: Added as per Baldwin's changes.
nptEyePositionRangeHistogram: Added as per Baldwin's changes.
nptEyecoil2Screen: Updated to Baldwin's version (changes in comments
that were not documented in Baldwin's change log).
nptPSTH: Updated to Baldwin's version.
pixel2degree: Updated to Baldwin's version (changes in comments that
were not documented in Baldwin's change log).
nptGaussainConv: Updated to Baldwin's version (changes in comments that
were not documented in Baldwin's change log).
nptHighPass: Updated to Baldwin's version (changes in comments that were
not documented in Baldwin's change log).
nptLfpFilter2: Deleted as per Baldwin's changes.
nptLowPassFilter: Added as per Baldwin's changes.
nptGenerateSessionSpikeTrains: Updated to Baldwin's version.
AutomatedScript: Deleted as per Baldwin's changes.
BatchPreProcessor: Added as per Baldwin's changes.
ChannelIndex: Updated to Baldwin's version (changes in comments that
were not documented in Baldwin's change log).
GroupSignals: Updated to Baldwin's version.
ProcessDay: Updated to Baldwin's version.
ProcessEyeSessions: Updated to Baldwin's version.
ProcessSession: Updated to Baldwin's version.
nptPWD: Updated to Baldwin's version (changes in comments that were not
documented in Baldwin's change log).
ReadStimulusHeader: Updated to Baldwin's version (changes in comments
that were not documented in Baldwin's change log).
InspectSpikes: Updated to Baldwin's version.
InspectSpikesOnEyes: Updated to Baldwin's version.
create_points: Updated to Baldwin's version (changes in comments that
were not documented in Baldwin's change log).
nptWriteSorterHdr: Updated to Baldwin's version (changes in comments
that were not documented in Baldwin's change log).
nptAddPath: Added revcorr directory.
December 23, 2001
nptEyecoil2Screen: Updated to Baldwin's version (changes in comments
that were not documented in Baldwin's change log).
pixel2degree: Updated to Baldwin's version (changes in constants like
screen_width, screen_height, movie_width, movie_height that
were not documented in Baldwin's change log).
GenerateSpikeTrains: Updated to Baldwin's version.
ProcessEyeSessions: Updated to Baldwin's version.
ProcessSession: Updated to Baldwin's version.
read_init_info: Updated to Baldwin's version.
InspectSpikes: Updated to Baldwin's version.
December 24, 2001
nptAddPath: Modified so it figures out which subdirectories are present
and needs to be added to the path. This way we won't have to update
nptAddPath if we add or remove subdirectories in npt.
nptDir: Modified so it always calls DIR and just checks to see if the
first entry is '.', and if so, it removes the first two entries.
December 27, 2001
nptDir: Fixed bug that failed to return argument when nothing needs to
be done.
nptParseStreamerHeader: New function that reads the header and moves the
file pointer to the end of the header.
nptReadStreamerFile: Now uses nptParseStreamerHeader.
nptReadStreamerFileHeader: New function that just returns the header
without reading the data.
January 2, 2002
@event: New class used to keep track of event number.
@event/Decrement: Method used to decrease event number.
@event/DoEventNumber: Method used to execute specific event number.
@event/DoNextEvent: Method used to increment event number and execute
event.
@event/DoPreviousEvent: Method used to decrement event number and
execute event.
@event/event: Constructor function for event class.
@event/GetEventNumber: Method to return current event number.
@event/Increment: Method to increase event number.
@event/SetEventNumber: Method to set event number to a specific number.
@waveforms: New class used to store waveforms.
@waveforms/display: Method to display objects from the class waveforms
on the command line.
@waveforms/get: Method to return properties of waveforms object.
@waveforms/waveforms: Constructor function for waveforms object.
@streamer: New class used to store streamer session.
@streamer/display: Method to display objects from the class steamder on
the command line.
@streamer/get: Method to return properties of streamer object.
@streamer/streamer: Constructor function for streamer object.
@ispikes: New class used to store interleaved spike trains.
@ispikes/display: Method used to display objects from the class ispikes
on command line.
@ispikes/get: Method to return properties of ispikes object.
@ispikes/ispikes: Constructor function for ispikes object.
@viewwaveforms: New class used to view waveforms.
@viewwaveforms/viewwaveforms: Constructor function for viewwaveforms
class.
@viewwaveforms/DoEvent: Method that plots waveforms.
@viewstreamer: New class used to view streamer session.
@viewstreamer/viewstreamer: Constructor function for viewstreamer class.
@viewstreamer/DoEvent: Method that plots streamer trials.
@viewispikes: New class used to view sorted spike trains.
@viewispikes/viewispikes: Constructor function for viewispikes class.
@viewispikes/DoEvent: Method that plots sorted spike trains on top of
raw data.
Inspect: New function that makes use of new view classes to display
data.
InspectDatFile: Now instantiates the waveforms class and uses the
Inspect function to display waveforms.
InspectStreamerSession: Now instantiates the streamer class and uses the
Inspect function to display raw data.
InspectGUI: New GUI that makes use of new view classes to display data.
InspectCB: Contains callback functions for InspectGUI.
CreateViewObject: Creates view objects when given either data objects or
creates data objects and then view objects when given
filenames.
January 3, 2002
nptAddPath: Updated to avoid adding class directories. Now also checks
to make sure directory listings are not empty.
@viewwaveforms: Removed class.
@viewstreamer: Removed class.
@viewispikes: Removed class.
@event/Increment: Modified to return event number along with the object.
@event/Decrement: Modified to return event number along with the object.
@waveforms/get: Renamed TotalWaveForms property to Number which is now
consistent throughout all data classes so Inpsect and
InspectGUI can make use of it transparently.
@waveforms/plot: Renamed viewwaveforms/DoEvent. Now takes an input
argument that specifies the trial to be plotted. Also replaced use
of get since the function now has access to the waveforms
data structure.
@streamer/streamer: Added another constructor method that takes the
number of trials as an input argument so ispikes can make use of
that in its constructor.
@streamer/get: Renamed TotalTrials property to Number.
@streamer/plot: Renamed viewstreamer/DoEvent. Now takes an input
argument that specifies the trial to be plotted. Also replaced use
of get since the function now has access to the streamer
data structure.
@ispikes/ispikes: Modified constructor to instantiate streamer object
and then inherit ispikes from it so we can make use of the plot
method in the streamer class.
@ispikes/get: Renamed TotalTrials property to Number.
@ispikes/plot: Renamed viewispikes/DoEvent. Now takes an input argument
that specifies the trial to be plotted. Also replaced use
of get since the function now has access to the ispikes
data structure. Also makes use of plot method in streamer
class. Changed last axis command to allow spike trains to
be visible.
Inspect: Modified to instantiate event object internally and take just
data objects as input argument. Now calls plot method
of input object with a number argument instead of DoEvent.
Function can also take input strings and create data objects
using CreateDataObjects.
InspectGUI: Modified to instantiate event object internally and take
just data objects as input argument. The event object and the
data object are now added to a structure and stored in the
UserData field in the figure. Function can also take input
strings and create data objects using CreateDataObjects.
InspectCB: Now calls plot method of input object with a number argument
instead of DoEvent. Function can also take input
strings and create data objects using CreateDataObjects
when the load callback is executed.
CreateDataObject: Replaces CreateViewObject. Now checks to see if
argument is a string and then proceeds to try to create data object.
Also now checks if the plot method exists for the input
object if an object is passed to the function.
Jan 4, 2002
nptReadGDFFile: New function to read GDF files that will also return
some information about number of clusters and number of spikes
as well as number of spikes per cluster.
CreateDataObject: Now prompts user to provide additional information in
order to create new objects.
Jan 13, 2002
ismethod: New function to check to see if a method is defined for an
object.
@limits: New class to keep track and return max and min limits.
@limits/limits: Constructor function for limits object.
@limits/update: Method to pass max and min values and return updated max
and min values.
@event/event: Updated comments.
@nptdata: New base class for all data classes. Contains Number and
AxisHold properties common to all data classes and used by Inspect
and InspectGUI which are now methods of the nptdata class.
@nptdata/nptdata: Constructor function for nptdata object.
@nptdata/get: Returns Number and AxisHold properties for nptdata
objects.
@nptdata/set: Sets Number and AxisHold properties for nptdata objects.
@nptdata/Inspect: Inspect method that used to be stand-alone Inspect
function. Now checks object's HoldAxis property as well as the
argument list passed to the function to see if we need to hold the
axis. Uses the new limits object to keep track of max and min values
of the y-axis.
@nptdata/InspectGUI: InspectGUI method that used to be stand-alone
InspectGUI function. Now checks object's HoldAxis property as well
as the argument list passed to the function to see if we need to
hold the axis. Uses the new limits object to keep track of max and
min values of the y-axis. Now also checks for number of arguments to
allow for calling InspectGUI with no arguments.
npt/scripts/view/gui: New directory added to npt path to store GUI mat
files and callback functions. (NB: nptAddPath needs to be run and
the path saved!)
InspectCB: Moved to gui directory. Updated to use new limits object to
keep track of max and min values of the y-axis.
InspectGUI: Wrapper function that now creates a dummy nptdata object if
called with no arguments so that Matlab knows which InspectGUI to
call.
@waveforms/waveforms: Updated to inherit from nptdata class and to set
AxisHold property to 1.
@waveforms/get: Removed Number property since that is now inherited from
nptdata. Now passes any unknown properties to get method in nptdata
base class.
@streamer/streamer: Updated to inherit from nptdata class and set
AxisHold property to 1.
@streamer/get: Removed Number property since that is now inherited from
nptdata. Now passes any unknown properties to get method in nptdata
base class.
@ispikes/ispikes: Sets AxisHold property of inherited streamer object to
0 so that spike trains always remain at the top of the plot.
@ispikes/get: Removed Number property since that is now inherited from
nptdata through the inheritance from streamer. Now passes any
unknown properties to get method in streamer class, which will pass
any unknown properties to get method in nptdata class.
Jan 14, 2002
@ispikes/subsref: Changed numTrials to use get method of nptdata base
class. Should change streamer switch statement to use subsref method
instead of replicating code.
@streamer/subsref: Changed numTrials to use get method of nptdata base
class.
@waveforms/subsref: Changed total to num_waves to be more informative
and changed code to call the get method in nptdata base class to
return number.
@ispikes/display: Baldwin's version.
@streamer/display: Baldwin's version.
@waveforms/display: Baldwin's version. Changed total to num_waves to be
more informative.
@streamer/plot: Baldwin's version.
@eyes: Baldwin's version.
@eyes/eyes: Modified to use nptdata as base class. Set holdAxis to 1 and
passed numTrials info to nptdata constructor.
@eyes/get: Removed numTrials property and now passes any unknown
properties to @nptdata/get.
CreateDataObject: Baldwin's version.
InspectCB: Added Baldwin's changes.
Jan 15, 2002
CreateDataObject: Changed isstr to ischar since the former is obsolete
and may be removed in future versions of Matlab.
Jan 17, 2002
@nptdata/plot: Virtual method that does nothing so InspectGUI can be
called without arguments.
@nptdata/InspectGUI: Removed check for no arguments since that can never
happen.
@trialwaves: New class that breaks up the waveforms class into trials.
@trialwaves/trialwaves: Constructor function for trialwaves object.
@trialwaves/get: Method to return properties of trialwaves object.
@trialwaves/display: Method to display properties of trialwaves object.
@trialwaves/subsref: Method to index trialwaves object. Calls subsref
method of the waveforms class.
@trialwaves/ToWaveNumber: Method to convert trial and wave number to
waveform number in waveforms object.
@trialwaves/InspectGUI: GUI with trial and wave number widgets used by
the trialwaves object.
gui/twInspectGUI.mat: MAT file for @trialwaves/InspectGUI.
gui/twInspectCB: Callback function for @trialwaves/InspectGUI.
Jan 18, 2002
@waveforms/waveforms: Changed constructor to take groupname instead of
filename to make it more consistent with the other data types.
@trialwaves/trialwaves: Changed call to waveforms to use groupname
instead of filename.
CreateDataObject: Addded option to create trialwaves object. Changed
call to waveforms constructor to use groupname instead of filename.
gui/InspectCB: Now checks to see if we should continue using the current
gui or a more specific gui to inspect object created by
CreateDataObject.
gui/twInspectCB: Now checks to see if we should continue using the
current gui or a different gui to inspect object created by
CreateDataObject. Updated Load function to create necessary data
structure for trialwaves.
InspectDatFile: Updated to call waveforms constructor with groupname
instead of filename.
Jan 23, 2002
@nptdata/specificInspectGUI: New method of base class that always
returns 0 to distinguish objects that do not have a specific version
of InspectGUI since which('InspectGUI(obj)') does not seem to work
properly.
@trialwaves/specificInspectGUI: New method that returns 1 to indicate
that this object uses a specfic InspectGUI.
gui/InspectCB: Modified to use 'specificInspectGUI' method instead of
'which' to check if we can reuse the GUI.
gui/twInspectCB: Modified to use 'specificInspectGUI' method instead of
'which' to check if we can reuse the GUI.
Jan 30, 2002
@waveforms/subsref: Changed array references from {1} to {:}. Added help
comments.
@trialwaves/subsref: Changed array references from {1} to {:}. Added
help comments.
@streamer/subsref: Added help comments.
@ispikes/subsref: Changed array references from {1} to {:}. Added help
comments.
@eyes/subsref: Added help comments.
Feb 12, 2002
@eyes/plot: Baldwin's version, which also now calls pixels2degrees,
plots multiple channels, and adds labels to the axes.
@ispikes/display: Baldwin's version.
@ispikes/get: Baldwin's version.
@ispikes/ispikes: Baldwin's version.
@ispikes/subsref: Baldwin's version.
CreateDataObject: Baldwin's version.
Mar 19, 2002
nptReadSyncsFile: New function to read syncs file from DataStreamer.
April 22, 2002
nptLowPassFilter: Updated comments and added ability to pass different
resampling rates, low and high frequency cutoffs.
nptHighPassFilter: Renamed from nptHighPass. Updated comments and added
ability to pass different sampling rates, low and high frequency
cutoffs.
contents: Updated name of nptHighPassFilter and nptLowPassFilter.
ProcessSession: Updated calls to nptHighPassFilter.
ecorrige50.m: code from Pedro to remove line noise from signal.
algorithms/filters/nptRemoveLineNoise: New function derived from Pedro's
code to remove line noise. Changed line noise to 60 Hz.
algorithms/nptFFT: New function derived from plotFFT to compute FFT,
compute magnitude, and shift the points accordingly.
algorithms/ComputeAllTrialsFFT: New function to average FFT's across
trials.
May 23, 2002
nptRemoveLineNoise: Modified code to keep all data points at the right
phase when duplicating data to get rid of end effects.
May 28, 2002
nptReadStreamerFileHeader: Fixed bug that failed to do a fclose before
exiting.
nptReadSyncsFile: Fixed bug that failed to do a fclose before exiting.
nptRemoveLineNoise: Modified code to create duplicated data of the
necessary length only.
June 21, 2002
nptReadStreamerFile: Modified code so that points is not a float when
the wrong number of channels is recorded in the header.
June 24, 2002
nptReadStreamerFile: Modified code to check to make sure the number of
points in the data file is a multiple of the number of channels in
the header. If there is a mismatch, the data is read in again as 1
row (so we can grab all the data points), padded with zeros to
create a matrix with an even number of rows and cols, and a warning
is printed to the screen.
June 26, 2002
scripts/miscellaneous/nptReshapeData: New function to reshape data if it
has the wrong number of channels.
June 27, 2002
scripts/miscellaneous/nptComputeSyncStats: New function to compute
max and min intervals between syncs using data from the sync
monitor.
scripts/miscellaneous/nptComputeSyncDataStats: New function to compute
max and min intervals between syncs using acquired data instead of
the sync monitor.
June 28, 2002
nptComputeSyncStats: Modified to return sync intervals.
nptComputeSyncDataStats: Modified to call nptComputeSyncStats and to
return syncs.
July 11, 2002
scripts/miscellaneous/DataView: script (not function) to look at trigger
channel for normal acquisition and single-trial acquisition. It also
plots the function generator signal to check for data interleaving.
scripts/miscellaneous/TrigInterval: Troy's script for looking at
single-trial acquisition data and normal acquisition.
scripts/miscellaneous/CheckEndPoints: script to look for interleaved
data.
scripts/nptCheckEndData: new function that returns true if it looks like
there is some interleaved data.
scripts/nptCheckExpSystem: new function that computes summary data for
a session, checking for number of channels, trial durations, trigger
lengths, sync intervals, end triggers, and interleaved data.
nptComputeSyncDataStats: Modified to use diff function.
nptComputeSyncStats: Modified to use diff function. Fixed bug that
failed to return sIntervals when there are no syncs.
nptReadSyncsFile: Modified to frewind and fseek to the end of the
headersize so it will work even if the header size is changed.
July 12, 2002
nptCheckExpSystem: Renamed imins and pmins and associated variables to
dmins (for mins computed from data) and mmins (mins computed from
sync monitor). Moved plot of interleaved data to plot of end trigger
value.
nptParseStreamerHeaderFile: Added error checking.
nptReadStreamerFile: Added error checking. Now returns after error
instead of continuing.
nptReadStreamerChannel: Added error checking.
nptReadStreamerFileHeader: Added error checking.
nptComputeSyncStats: Return iminInt as 0 instead of [] when there is an
error show that it will show up in nptCheckExpSystem.
July 18, 2002
nptReadSyncsFile: Modified to read till end of file instead of reading
the number of syncs specified in the header. Will also print
error to screen when there is a mismatch between header and
data. Now returns number of syncs in the data if there is a
mismatch.
July 25, 2002
nptReadSyncsFile: Added end of line character to error message.
July 28, 2002
nptReadStreamerFile: Changed call to mod to rem so script will work
with Octave.
nptCheckExpSystem: Changed argument list to include session and trial
explicitly and leave everything else to varargin. Replaced use of
end indexing and num2str so script will work with Octave.
nptCheckEndData: Replaced use of end indexing so script will work with
Octave.
nptReadSyncsFile: Changed char call to sprintf so script will work with
Octave. Added semi-colon to end of frewind call.
August 1, 2002
nptCheckExpSystem: Added overplot in plot of trial durations to identify
trials without end triggers. Added number of inteleaved trials to
the screen output. Screen output now formatted properly.
August 5, 2002
nptReadStreamerFile: Added optional argument to over-ride number of
channels specified in the header.
August 6, 2002
ProcessDay: Modified script to get path to tolower.tcsh before calling
shell command to execute it.
August 7, 2002
ReadDescriptor: Renamed to ReadDescriptorOld and replaced with
ReadDescriptorNew. Function written by Bruno works better with
Unix systems.
ProcessSession: Replaced calls to check descriptor_info to work better
with strings returned by new ReadDescriptor function.
August 8, 2002
batch_processor/MoveRawSessionFiles: New function to move files using
shell script, dos bat file or matlab functions depending on the
computer.
batch_processor/moverawfiles.tcsh: Shell script to move raw files.
batch_processor/MoveProcessedFiles: New function to move processed files
using either a shell script, dos bat file, or matlab functions
depending on the computer.
batch_processor/moveprocessedfiles.tcsh: Shell script to move processed
files.
ProcessDay: Replaced code to move files with call to MoveRawSessionFiles
and MoveProcessedFiles. Made a couple of changes to reduce
redundancy.
nptReadSyncsFile: Added printout to screen of the number of syncs in the
header and in the data when there is a mismatch.
August 9, 2002
ProcessDay: Added code to call to tolower.tcsh to suppress stderr
output.
algorithms/eye/nptRemoveNoiseSpikes: New function from Baldwin (not
documented in BaldwinChangeLog).
read_files/CreateChannelFile: New function from Baldwin (not documented
in BaldwinChangeLog).
August 12, 2002
nptReadSyncsFile: Added code to check for invalid headerSizes.
miscellaneous/PlotExpSystemResults: New function to plot results
from nptCheckExpSystem.
nptCheckExpSystem: Modified so that it now only computes the data
and leaves the plotting PlotEx[SystemResults.
CheckExpSystem: New function that calls nptCheckExpSystem as well as
PlotExpSystemResults.
MoveRawSessionFiles: Removed dos bat file option since I could not get
it to work.
MoveProcessedFiles: Removed dos bat file option since I could not get
it to work.
August 13, 2002
nptCheckExpSystem: Fixed bug that failed to set points=0 when there
was a problem with the data file.
PlotExpSystemResults: Removed trial argument since we can get that from
the first column in results.
CheckExpSystem: Removed trial argument when calling PlotExpSystem.
miscellaneous/ExpSystemProcessDay: New function to run nptCheckExpSystem
for all sessions in a day.
August 14, 2002
nptCheckExpSystem: Moved processing of optional arguments from
CheckExpSystem to this function so other functions can call this
function with optional arguments. Changed trials to optional
argument and moved fgChannels to be second optional argument since
it is changed more than the other arguments.
CheckExpSystem: Moved processing of optional arguments to
nptCheckExpSystem. Added default values and argument processing in
order to pass arguments to PlotExpSystemResults.
ExpSystemProcessDay: Now passes optional arguments to nptCheckExpSystem.
August 15, 2002
ReadDescriptor: Replaced strread with sscanf for compatability with
Matlab 5.3.
read_init_info: Fixed problems with ini files from newer versions of
Presenter, and especially with the ini files generated by the Gabor
Contours task.
ProcessSession: Replaced char call with sprintf.
August 16, 2002
ExpSystemProcessDay: Added check to call function only on directories.
Now use directory listing instead of forming session name within
the loop.
August 21, 2002
CheckExpSystem: Fixed bug that was not processing threshold argument.
PlotExpSystem: Made trigLength and threshold arguments optional.
August 22, 2002
nptReadSyncsFile: Added function name to error message and changed
error to refer to syncs instead of data to avoid confusion with
nptReadStreamerFile.
August 28, 2002
ProcessDay: Fixed bug that failed to pass required arguments to
MoveProcessedFiles function.
August 29, 2002
MoveProcessedFiles: Fixed bug that failed to grab current directory.
nptCheckExpSystem: Added code to compute trial duration from Presenter
trigger. Additional optional argument added to specify Presenter
trigger channel.
CheckExpSystem: Added argument for Presenter trigger channel in help
section.
nptComputeSyncDataStats: Moved output arguments syncs and sIntervals to
be the first two output arguments.
nptComputeSyncStats: Moved output argument sIntervals to be the first
output argument.
September 3, 2002
ProcessDay: Added nomove argument so that we can move the processed
files using cygwin, which is faster and more reliable.
September 4, 2002
miscellaneous/nptComputeTrigDurations: New function to compute trigger
durations from data acquired in a single trial.
September 6, 2002
nptComputeTrigDurations: Modified function to reduce memory usage. Now
no longer calls nptComputeSyncDataStats.
September 9, 2002
nptCheckExpSystem: Removed references to Presenter trigger. Trial
durations now computed from length of streamer file. Fixed bug that
did not set nc = 0 when there is an error.
CheckExpSystem: Removed references to Presenter trigger.
TrigInterval: Now calls nptComputeSyncDataStats.
October 7, 2002
@eyes/plot: Changed timescale to start from 0 instead of 0+timestep.
@streamer/plot: Used datalength to determine how many points in timev
will be plotted instead of trying to calculate the exact length.
October 8, 2002
Merged with Baldwin's version.
Files changed:
nptRemoveNoiseSpikes.m -> nptRemoveNoiseSpike.m
pizels2degree.m
nptThreshold.m (new)
ProcessSession.m
nptReadStreamerFileHeader.m
CreateDataObject.m
HistGUI.m (new)
HistGUI.mat (new)
histInspectGUI.m (new)
histInspectCB.m (new)
InspectGUI.m
October 9, 2002
miscellaneous/MarkerCompare: New function written by Troy to look at
Control timing.
miscellaneous/PlotExpSystemMarkerResults: New function written by Troy
to look at Control timing.
miscellaneous/isvector: New function to check to see if argument is
a vector. Useful check to have when making functions parallel.
miscellaneous/isrowvector: New function to check to see if argument is
a row vector. Useful check to have when making functions parallel.
miscellaneous/nptFindThresholdCrossings: New function that used to be
part of nptComputeSyncDataStats.
October 10, 2002
miscellaneous/veccat: New function to append value to either row or
column vector.
algorithms/nptThresholdCrossings: Renamed from
nptFindThresholdCrossings.
nptComputeSyncDataStats: Now uses nptThresholdCrossings.
ProcessSession: Commented out RemoveNoiseSpikes while waiting for more
testing. Added option to check first Control trigger duration, get
Presenter trigger onsets, and Presenter's vertical sync onsets.
concatenate: Modified to pad with optional argument instead of NaN.
batch_processor/ProcessDays: Renamed from BatchPreProcessor.
October 11, 2002
ProcessSession: Fixed saving of timing data. Added fprintf to indicate
timing processing. Added reading of sync monitor files when
processing timing.
miscellaneous/nptGetSessionName: New function to return session name
from current directory. Can be used by function so that we don't
have to keep passing the session name. Should probably use filenames
of files in the current directory to be more flexible.
October 15, 2002
@eyes/get: Added option to return data for a specified trial. Added code
for variable number of outputs.
@waveforms/get: Modified code to use varargin instead of set number of
inputs.
October 18, 2002
ProcessDays: Added 'timing' as valid option.
ProcessDay: Added check for Eyes directory and will now move files out
of that directory if found, and delete the Eyes directory. Now use
system call instead of using eval.
batch_processor/tolower.tcsh: Added status messages.
ReadDescriptor: Changed function layout to be more similar to other
functions.
October 19, 2002
nptDir: Modified to remove any entries with a period as the first
character. Added so that SMB files created by Mac OS X won't be
processed.
ProcessSession: Replaced dir calls with nptDir.
ProcessDay: Added movefiles option.
ProcessDays: Added movefiles option.
October 21, 2002
ProcessDays: Removed animal name option. Function will now pass all
arguments to ProcessDay.
ProcessDay: Added status message when moving files out from Eyes
directory. Added call to ContoursMoveEyesFiles when mv fails.
Replaced for loop with while loop so we can remove non-directory
entries from sessions.
MoveRawSessionFiles: Added status message when moving files.
October 23, 2002
ProcessSession: Reduced spaces between status messages to reduce message
length.
October 24, 2002
@nptdata/subsref: New function to access nptdata object.
@nptdata/subsasgn: New function to assign nptdata object.
@streamer/streamer: Updated object fields in help comments.
@streamer/display: Added holdaxis option.
@streamer/subsref: Modified to pass unknown fieldsd to parent object.
@streamer/subsasgn: New function to access streamer object.
@eyes/eyes: Updated object fields in help comments.
@eyes/display: Added holdaxis option.
@eyes/subsref: Modified to pass unknown fields to parent object.
Replaced call to get with subsref.
@eyes/subsasgn: New function to access eyes object.
October 25, 2002
@waveforms/waveforms: Updated object fields in help comments.
@waveforms/display: Added holdaxis option. Renamed num_waves to
numWaves.
@waveforms/subsref: Changed num_waves to numWaves. Added code to pass
unknown fields to parent object.
@trialwaves/trialwaves: Updated object fields in help comments.
@trialwaves/display: Added holdaxis option.
@trialwaves/subsref: Added code to pass unknown fields to parent object.
@ispikes/ispikes: Moved GenerateSessionSpikeTrains to private function.
Updated object fields in help comments.
@ispikes/display: Added channel option.
@ispikes/subsref: Added code to pass unknown fields to parent object.
ProcessDay: Fixed bug that failed to initialize nomove when called
without arguments.
October 27, 2002
nptDir: Made function case insensitive by default.
October 28, 2002
@ispikes/subsref: Fixed bug that initialized myerror to 1.
@waveforms/subsref: Fixed bug that used = instead ==. Fixed bug that
left out semi-colon.
@trialwaves/trialwaves: Updated call to num_waves in waveforms to