Ntools is the software suite that accompanies the NSpike system. A Subversion (SVN) and tracking system is in place to manage software changes by several users in parallel. For more info, see Subversion.
1 . Functionality Wish List
- one simple GUI script to convert and decimate data from .nspike.dat, ieeg.dat, matlab format – DONE
- fix parallel port inputs ( C: pin 2 not working; D: all pins working, but order reversed) – high priority
- Need to review this issue – see NSPike Recording System
- have visual display speed comparable with clinical system -medium priority
- allow rereferencing to match clinical montage on- and offline -medium priority
- online averages – medium priority
- online FFT display -medium priority
- add ability to pause display frame -low priority
- variable sampling frequency across channels -DONE
- NSpike now allows decimation of the raw 30kHz signal during recording. T
- The same sampling rate applies to all channels, so variable sampling frequency across channels is not implemented yet.
- To control the sampling rate, change the value of the experiment.recording.sample_rate field in the experiment definition file.
- If the selected sampling rate is not an integer divisor of 30kHz, the closest integer divisor will be used.
- THIS SAMPLING RATE IS NOT UPDATED IN THE EXPERIMENT DEFINITION FILE, so make sure you select an appropriate sample rate.
- LOC toolbox compatibility -medium priority
- converting NSpike data output to Matlab -top priority
- epoch_data structure (see http://neuroimaging.pbwiki.com/Data+Structures) – DONE
- avg_data structure (see http://neuroimaging.pbwiki.com/Data+Structures) – DONE
- cont_data structure with trigger info (new), memory issue? – chat w/ Jason Sherfey
- save all 3 def files in data folder during recording – DONE
- offline lowpass filtering, decimation and notch filtering -top priority
- DONE
- 60 Hz notch filter for display -DONE
- syncing with video -high priority (we need this if we want to record w/o simultaneous clinical amps)
- DONE in basic form.
- DONE in more advanced form.
- A matlab session on the nspike machine sends a unique 32bit time code every second or so, to the sound card output
- The signal from the sound card is split. One path goes into the Firewire ADVC to sync with the camcorder video signal.
- The other path goes into the 1st channel of the NI card patch panel on the nspike system to sync with the neural signals
- DO NOT CHANGE THE CHANNEL FROM THE FIRST CHANNEL AS THIS WILL CORRUPT THE ACQUISITION
- ntools_procVideoSync.m generates the timecodes from the nspike comedi recording file and saves in rec###.videosync.txt
- This needs to be extended to generate timecodes from the avi file from the Video Capture.
- record analog and digital channels from NI card -medium priority – DONE
- allow acq software to function w/o data glove – low priority – DONE
- putting information on soft- and hardware on the wiki, schematic of NSpike system and acquisition/analysis procedures – medium priority
- choose output path folder in GUI (may already exist)
- define 2 seperate exp_def files, one subject-specific, one task-specific: -high priority
- subject
- patient ID
- montage
- differentiate between macro and micro channels
- implantation date
- task
- task name
- task codes for parallel port codes
- data glove yes/no
- hardware/software acquisition settings
- sampling rate for macro and micro channels
- DSP filter settings for macro and micro
- hardware DSP settings, IP etc.
- data glove sampling rate
- subject
- C code for decimation (exists in Bijan’s lab)
- ts_browseraw
- fix channel placements -high priority
- fix filter problem at edges -low priority
- add 60 Hz notch filter button -medium priority
- add bipolar montage option -medium priority
- add FFT option -low priority
- add channel with time of day -low priority
- fix units (microvolts) -medium priority
- video syncing -medium priority (Heeger lab will do this)
System Software
Jim McArthur’s document & software depository:
Login as user/user, and browse to the NSpike folder