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
  • 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
  • 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
  • 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:

www.seas.harvard.edu/eshop

Login as user/user, and browse to the NSpike folder