CLASS ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2
NDI_DAQREADER_MFDAQ_STIMULUS_VHLABVISSPIKE2 - Device object for vhlab visual stimulus computer
This device reads the 'stimtimes.txt', 'verticalblanking.txt', 'stims.mat', and 'spike2data.smr' files
that are present in directories where a VHLAB stimulus computer (running NewStim/RunExperiment)
has produced triggers that have been acquired on a CED Spike2 system running the VHLAB Spike2 script.
This device produces the following event channels in each epoch. They are not read from the CED SMR
file but instead are read from the .txt files that are generated by the vhlab scripts.
Channel name: | Signal description:
----------------|------------------------------------------
mk1 | stimulus on/off
mk2 | stimid
e1 | frame trigger
e2 | vertical refresh trigger
e3 | pretime trigger
Superclasses
ndi.daq.reader.mfdaq.cedspike2, ndi.daq.reader.mfdaq, ndi.daq.reader, ndi.ido, did.ido, ndi.documentservice
Properties
Property | Description |
---|---|
identifier |
Methods
Method | Description |
---|---|
cedspike2filelist2smrfile | Identify the .SMR file out of a file list |
cedspike2headertype2mfdaqchanneltype | Convert between Intan headers and the ndi.daq.system.mfdaq channel types |
channel_types | what channel types are possible in an ndi.daq.reader.mfdaq ? |
channelsepoch2timechannelinfo | look up time channel info |
epochclock | return the ndi.time.clocktype objects for an epoch |
epochclock_ingested | return the ndi.time.clocktype objects for an ingested epoch |
eq | tests whether 2 ndi.daq.reader objects are equal |
getchannelsepoch | List the channels that are available on this device |
getchannelsepoch_ingested | List the channels that were sampled for this epoch |
getingesteddocument | return the ndi.document with the data for an ingested epoch |
id | return the identifier of an DID.IDO object |
ingest_epochfiles | create an document that describes the data read by an ndi.daq.reader |
newdocument | create a new ndi.document for an ndi.daq.reader object |
readchannels_epochsamples | read the data based on specified channels |
readchannels_epochsamples_ingested | read the data based on specified channels |
readevents_epochsamples | read events, markers, and digital events of specified channels for a specified epoch |
readevents_epochsamples_ingested | read events, markers, and digital events of specified channels for a specified epoch |
readevents_epochsamples_native | read events or markers of specified channels for a specified epoch |
samplerate | |
samplerate_ingested | GET THE SAMPLE RATE FOR SPECIFIC CHANNEL |
searchquery | create a search for this ndi.daq.reader object |
standardize_channel_types | return standard channel type names |
t0_t1 | return the t0_t1 (beginning and end) epoch times for an epoch |
t0_t1_ingested | return the t0_t1 (beginning and end) epoch times for an ingested epoch |
underlying_datatype | get the underlying data type for a channel in an epoch |
unique_id | Generate a unique ID number for DID databases (Static method) |
verifyepochprobemap | Verifies that an EPOCHPROBEMAP is compatible with a given device and the data on disk |
vhlabvisspike2 | Create a new multifunction DAQ object |
Methods help
cedspike2filelist2smrfile - Identify the .SMR file out of a file list
FILENAME = CEDSPIKE2FILELIST2SMRFILE(FILELIST)
Given a cell array of strings FILELIST with full-path file names,
this function identifies the first file with an extension '.smr' (case insensitive)
and returns the result in FILENAME (full-path file name).
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2.cedspike2filelist2smrfile is inherited from superclass ndi.daq.reader.mfdaq.cedspike2
cedspike2headertype2mfdaqchanneltype - Convert between Intan headers and the ndi.daq.system.mfdaq channel types
CHANNELTYPE = CEDSPIKE2HEADERTYPE2MFDAQCHANNELTYPE(CEDSPIKE2CHANNELTYPE)
Given an Intan header file type, returns the standard ndi.daq.system.mfdaq channel type
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2.cedspike2headertype2mfdaqchanneltype is inherited from superclass ndi.daq.reader.mfdaq.cedspike2
channel_types - what channel types are possible in an ndi.daq.reader.mfdaq ?
[TYPES, ABBREV] = ndi.daq.reader.mfdaq.channel_types()
Returns a cell array of possible channel types in TYPES, and a corresponding
short abbreviation in the cell array ABBREV.
----------------------------------------------------------------------------
| CHANNEL TYPE | ABBREV | Description |
|--------------------|---------|-------------------------------------------|
| 'analog_in' | 'ai' | Analog input |
| 'analog_out' | 'ao' | Analog output |
| 'auxiliary_in' | 'ax' | Auxiliary channels |
| 'digital_in' | 'di' | Digital input |
| 'digital_out' | 'do' | Digital output |
| 'event' | 'e' | Event trigger (returns times, codes of |
| | | event trigger activation) |
| 'marker' | 'mk' | Mark channel (contains value at specified |
| | | times) |
| 'text' | 'tx' | Text channel (contains text at specified |
| | | times)
| 'time' | 't' | Time samples |
|--------------------|---------|-------------------------------------------|
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2.channel_types is inherited from superclass ndi.daq.reader.mfdaq
channelsepoch2timechannelinfo - look up time channel info
TC = CHANNELSEPOCH2TIMECHANNELINFO(CHANNELSEPOCH, CHANNELTYPE, CHANNELNUMBER)
Given a CHANNELSEPOCH struct returned from GETCHANNELSEPOCH, find the time
channel number that corresponds to the channel specified by CHANNELTYPE and
CHANNELNUMBER.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2.channelsepoch2timechannelinfo is inherited from superclass ndi.daq.reader.mfdaq
epochclock - return the ndi.time.clocktype objects for an epoch
EC = EPOCHCLOCK(NDI_DAQREADER_MFDAQ_STIMULUS_VHLABVISSPIKE2_OBJ, EPOCHFILES)
Return the clock types available for this epoch as a cell array
of ndi.time.clocktype objects (or sub-class members).
This returns a single clock type 'dev_local'time';
See also: ndi.time.clocktype
epochclock_ingested - return the ndi.time.clocktype objects for an ingested epoch
EC = EPOCHCLOCK_INGESTED(NDI_DAQREADER_OBJ, EPOCHFILES, S)
Return the clock types available for this epoch as a cell array
of ndi.time.clocktype objects (or sub-class members).
See also: ndi.time.clocktype
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/epochclock_ingested is inherited from superclass ndi.daq.reader
eq - tests whether 2 ndi.daq.reader objects are equal
B = EQ(NDI_DAQREADER_OBJ1, NDI_DAQREADER_OBJ2)
Examines whether or not the ndi.daq.reader objects are equal.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/eq is inherited from superclass ndi.daq.reader
getchannelsepoch - List the channels that are available on this device
CHANNELS = GETCHANNELSEPOCH(THEDEV, EPOCHFILES)
This device produces the following channels in each epoch:
Channel name: | Signal description:
----------------|------------------------------------------
mk1 | stimulus on/off
mk2 | stimid
mk3 | stimulus open/close
e1 | frame trigger
e2 | vertical refresh trigger
e3 | pretime trigger
getchannelsepoch_ingested - List the channels that were sampled for this epoch
CHANNELS = GETCHANNELSEPOCH_INGESTED(NDI_DAQREADER_MFDAQ_OBJ, EPOCHFILES, S)
Returns the channel list of acquired channels in these EPOCHFILES
The channels are of different types. In the below,
'n' is replaced with the channel number.
Type | Description
------------------------------------------------------
ain | Analog input (e.g., ai1 is the first input channel)
din | Digital input (e.g., di1 is the first input channel)
t | Time - a time channel
axn | Auxillary inputs
CHANNELS is a structure list of all channels with fields:
-------------------------------------------------------
'name' | The name of the channel (e.g., 'ai1')
'type' | The type of data stored in the channel
| (e.g., 'analog_input', 'digital_input', 'image', 'timestamp')
'time_channel' | The number of the time channel that contains the time information
| for the channel. Can be NaN when not applicable.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/getchannelsepoch_ingested is inherited from superclass ndi.daq.reader.mfdaq
getingesteddocument - return the ndi.document with the data for an ingested epoch
D = GETINGESTEDDOCUMENT(NDI_DAQREADER_MFDAQ_OBJ, EPOCHFILES, S)
Returns the document D that contains the ingested ndi.daq.reader.mfdaq data for
the epoch described by EPOCHFILES. EPOCHFILES should be an ingested epoch.
S is the ndi.session for the dataset.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/getingesteddocument is inherited from superclass ndi.daq.reader
id - return the identifier of an DID.IDO object
IDENTIFIER = ID(DID.IDO_OBJ)
Returns the unique identifier of an DID.IDO object.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/id is inherited from superclass did.ido
ingest_epochfiles - create an document that describes the data read by an ndi.daq.reader
D = INGEST_EPOCHFILES(NDI_DAQREADER_OBJ, EPOCHFILES, EPOCH_ID)
Creates an ndi.document of type 'daqreader_epochdata_ingested' that contains the data
for an ndi.daq.reader object. The document D is not added to any database.
Example:
D = mydaqreader.ingest_epochfiles(epochfiles,epoch_id);
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/ingest_epochfiles is inherited from superclass ndi.daq.reader.mfdaq
newdocument - create a new ndi.document for an ndi.daq.reader object
DOC = NEWDOCUMENT(NDI_DAQREADER_OBJ)
Creates an ndi.document object DOC that represents the
ndi.daq.reader object.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/newdocument is inherited from superclass ndi.daq.reader
readchannels_epochsamples - read the data based on specified channels
DATA = READ_CHANNELS(MYDEV, CHANNELTYPE, CHANNEL, EPOCHFILES, S0, S1)
CHANNELTYPE is the type of channel to read (cell array of strings, one per
channel, or single string for all channels)
CHANNEL is a vector of the channel numbers to read, beginning from 1
EPOCHFILES is the cell array of full path filenames for this epoch
DATA is the channel data (each column contains data from an indvidual channel)
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/readchannels_epochsamples is inherited from superclass ndi.daq.reader.mfdaq.cedspike2
readchannels_epochsamples_ingested - read the data based on specified channels
DATA = READ_CHANNELS_EPOCHSAMPLES_INGESTED(NDI_DAQREADER_MFDAQ_OBJ, CHANNELTYPE, ...
CHANNEL, EPOCHFILES, S0, S1, S)
CHANNELTYPE is the type of channel to read
CHANNEL is a vector of the channel numbers to read, beginning from 1
EPOCHFILES is the set of epochfiles to read from
S0 is the sample where reading should start, and S1 is sample where reading should end.
DATA will have one column per channel.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/readchannels_epochsamples_ingested is inherited from superclass ndi.daq.reader.mfdaq
readevents_epochsamples - read events, markers, and digital events of specified channels for a specified epoch
[TIMESTAMPS, DATA] = READEVENTS_EPOCHSAMPLES(NDR_READER_OBJ, CHANNELTYPE, CHANNEL, ...
EPOCHFILES, T0, T1)
Returns TIMESTAMPS and DATA corresponding to event or marker channels. If the number
of CHANNEL entries is 1, then TIMESTAMPS is a column vector of type double, and DATA is
also a column of a type that depends on the type of event that is read. If the number
of CHANNEL entries is more than 1, then TIMESTAMPS and DATA are both columns of cell
arrays, with 1 column per channel.
CHANNELTYPE is a cell array of strings, describing the type of each channel to read:
'event' - TIMESTAMPS mark the occurrence of each event; DATA is a logical 1 for
each timestamp
'marker' - TIMESTAMPS mark the occurence of each event; each row of DATA is the
data associated with the marker (type double)
'text' - TIMESTAMPS mark the occurence of each event; DATA is a cell array of
character arrays, 1 per event
'dep' - Create events from a digital channel with positive transitions.
TIMESTAMPS mark the occurence of each event and DATA entries are 1
'dimp' - Create events from a digital channel by finding impulses that exhibit
positive then negative transitions. TIMESTAMPS mark the occurrence
of each event, and DATA indicates whether the event is a positive
transition (1) or negative (-1) transition.
'den' - Create events from a digital channel with negative transitions.
TIMESTAMPS mark the occurrence of each event and DATA entries are -1.
'dimn' - Create events from a digital channel by finding impulses that exhibit
negative then positive transitions. TIMESTAMPS mark the occurence of
each event, and DATA indicates whether the event is a negative
transition (1) or a positive transition (-1).
CHANNEL is a vector with the identity(ies) of the channel(s) to be read.
EPOCHSFILES is a cell array of full path file names
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/readevents_epochsamples is inherited from superclass ndi.daq.reader.mfdaq
readevents_epochsamples_ingested - read events, markers, and digital events of specified channels for a specified epoch
[TIMESTAMPS, DATA] = READEVENTS_EPOCHSAMPLES_INGESTED(NDR_READER_OBJ, CHANNELTYPE, ...
CHANNEL, EPOCHFILES, T0, T1)
Returns TIMESTAMPS and DATA corresponding to event or marker channels. If the number
of CHANNEL entries is 1, then TIMESTAMPS is a column vector of type double, and DATA is
also a column of a type that depends on the type of event that is read. If the number
of CHANNEL entries is more than 1, then TIMESTAMPS and DATA are both columns of cell
arrays, with 1 column per channel.
CHANNELTYPE is a cell array of strings, describing the type of each channel to read:
'event' - TIMESTAMPS mark the occurrence of each event; DATA is a logical 1 for
each timestamp
'marker' - TIMESTAMPS mark the occurence of each event; each row of DATA is the
data associated with the marker (type double)
'text' - TIMESTAMPS mark the occurence of each event; DATA is a cell array of
character arrays, 1 per event
'dep' - Create events from a digital channel with positive transitions.
TIMESTAMPS mark the occurence of each event and DATA entries are 1
'dimp' - Create events from a digital channel by finding impulses that exhibit
positive then negative transitions. TIMESTAMPS mark the occurrence
of each event, and DATA indicates whether the event is a positive
transition (1) or negative (-1) transition.
'den' - Create events from a digital channel with negative transitions.
TIMESTAMPS mark the occurrence of each event and DATA entries are -1.
'dimn' - Create events from a digital channel by finding impulses that exhibit
negative then positive transitions. TIMESTAMPS mark the occurence of
each event, and DATA indicates whether the event is a negative
transition (1) or a positive transition (-1).
CHANNEL is a vector with the identity(ies) of the channel(s) to be read.
EPOCHSFILES is a cell array of full path file names
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/readevents_epochsamples_ingested is inherited from superclass ndi.daq.reader.mfdaq
readevents_epochsamples_native - read events or markers of specified channels for a specified epoch
[TIMESTAMPS, DATA] = READEVENTS_EPOCHSAMPLES(SELF, CHANNELTYPE, CHANNEL, EPOCHFILES, T0, T1)
SELF is the NDI_DAQSYSTEM_MFDAQ_STIMULUS_VHVISSPIKE2 object.
CHANNELTYPE is a cell array of strings describing the the type(s) of channel(s) to read
('event','marker', etc). If CHANNELTYPE is a string, it is
assumed to apply to all channels.
CHANNEL is a vector with the identity of the channel(s) to be read.
EPOCH is the cell array of file names associated with an epoch
DATA is a two-column vector; the first column has the time of the event. The second
column indicates the marker code. In the case of 'events', this is just 1. If more than one channel
is requested, DATA is returned as a cell array, one entry per channel.
samplerate - **
SAMPLERATE - GET THE SAMPLE RATE FOR SPECIFIC CHANNEL
SR = SAMPLERATE(DEV, EPOCHFILES, CHANNELTYPE, CHANNEL)
SR is an array of sample rates from the specified channels
so, these are all events, and it doesn't much matter, so
let's make a guess that should apply well in all cases
samplerate_ingested - GET THE SAMPLE RATE FOR SPECIFIC CHANNEL
SR = SAMPLERATE_INGESTED(NDI_DAQREADER_MFDAQ_OBJ, EPOCHFILES, CHANNELTYPE, CHANNEL, S)
SR is an array of sample rates from the specified channels
CHANNELTYPE can be either a string or a cell array of
strings the same length as the vector CHANNEL.
If CHANNELTYPE is a single string, then it is assumed that
that CHANNELTYPE applies to every entry of CHANNEL.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/samplerate_ingested is inherited from superclass ndi.daq.reader.mfdaq
searchquery - create a search for this ndi.daq.reader object
SQ = SEARCHQUERY(NDI_DAQREADER_OBJ)
Creates a search query for the ndi.daq.reader object.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/searchquery is inherited from superclass ndi.daq.reader
standardize_channel_types - return standard channel type names
STDCHANNELTYPES = STANDARDIZE_CHANNEL_TYPES(CHANNELTYPES)
Given a cell array of strings of CHANNELTYPES, replace any abbreviations with
with the standard channel type name in ndi.daq.reader.mfdaq.channel_types()
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2.standardize_channel_types is inherited from superclass ndi.daq.reader.mfdaq
t0_t1 - return the t0_t1 (beginning and end) epoch times for an epoch
T0T1 = T0_T1(NDI_DAQSYSTEM_MFDAQ_CEDSPIKE2_OBJ, EPOCHFILES)
Return the beginning (t0) and end (t1) times of the EPOCHFILES that define this
epoch in the same units as the ndi.time.clocktype objects returned by EPOCHCLOCK.
See also: ndi.time.clocktype, EPOCHCLOCK
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/t0_t1 is inherited from superclass ndi.daq.reader.mfdaq.cedspike2
t0_t1_ingested - return the t0_t1 (beginning and end) epoch times for an ingested epoch
T0T1 = T0_T1_INGESTED(NDI_DAQREADER_OBJ, EPOCH_NUMBER, S)
Return the beginning (t0) and end (t1) times of the epoch EPOCH_NUMBER
in the same units as the ndi.time.clocktype objects returned by EPOCHCLOCK.
The abstract class always returns {[NaN NaN]}.
See also: ndi.time.clocktype, EPOCHCLOCK
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/t0_t1_ingested is inherited from superclass ndi.daq.reader
underlying_datatype - get the underlying data type for a channel in an epoch
[DATATYPE,P,DATASIZE] = UNDERLYING_DATATYPE(DEV, EPOCHFILES, CHANNELTYPE, CHANNEL)
Return the underlying datatype for the requested channel.
DATATYPE is a type that is suitable for passing to FREAD or FWRITE
(e.g., 'float64', 'uint16', etc. See help fread.)
P is a polynomial that converts between the double data that is returned by
READCHANNEL. RETURNED_DATA = (RAW_DATA+P(1))*P(2)+(RAW_DATA+P(1))*P(3) ...
DATASIZE is the sample size in bits.
CHANNELTYPE must be a string. It is assumed that
that CHANNELTYPE applies to every entry of CHANNEL.
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/underlying_datatype is inherited from superclass ndi.daq.reader.mfdaq.cedspike2
unique_id - Generate a unique ID number for DID databases (Static method)
ID = DID.IDO.UNIQUE_ID()
Generates a unique ID character array based on the current time and a random
number. It is a hexidecimal representation of the serial date number in
UTC Leap Seconds time. The serial date number is the number of days since January 0, 0000 at 0:00:00.
The integer portion of the date is the whole number of days and the fractional part of the date number
is the fraction of days.
ID = [NUM2HEX(SERIAL_DATE_NUMBER) '_' NUM2HEX(RAND)]
See also: NUM2HEX, NOW, RAND
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2.unique_id is inherited from superclass did.ido
verifyepochprobemap - Verifies that an EPOCHPROBEMAP is compatible with a given device and the data on disk
B = VERIFYEPOCHPROBEMAP(NDI_DAQSYSTEM_MFDAQ_CEDSPIKE2_OBJ, EPOCHPROBEMAP, EPOCHFILES)
Examines the ndi.epoch.epochprobemap_daqsystem EPOCHPROBEMAP and determines if it is valid for the given device
epoch NUMBER.
For the abstract class ndi.daq.system, EPOCHPROBEMAP is always valid as long as
EPOCHPROBEMAP is an ndi.epoch.epochprobemap_daqsystem object.
See also: ndi.daq.system, ndi.epoch.epochprobemap_daqsystem
Help for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/verifyepochprobemap is inherited from superclass ndi.daq.reader.mfdaq.cedspike2
vhlabvisspike2 - Create a new multifunction DAQ object
D = ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2(NAME, THEFILENAVIGATOR, DAQREADER)
Creates a new ndi.daq.system.mfdaq object with NAME, and FILENAVIGATOR.
This is an abstract class that is overridden by specific devices.
Documentation for ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2/vhlabvisspike2
doc ndi.setup.daq.reader.mfdaq.stimulus.vhlabvisspike2