Skip to content

CLASS ndi.daq.reader.mfdaq.blackrock

  NDI_DAQREADER_MFDAQ_BLACKROCK - Device driver for Blackrock Microsystems NSx/NEV file format

  This class reads data from Blackrock Microsystems NSx/NEV file format.

  Blackrock Microsystems: https://www.blackrockmicro.com/


Superclasses

ndi.daq.reader.mfdaq, ndi.daq.reader, ndi.ido, did.ido, ndi.documentservice

Properties

Property Description
identifier

Methods

Method Description
blackrock Create a new NDI_DEVICE_MFDAQ_BLACKROCK object
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
filenamefromepochfiles return the file name that corresponds to the NEV/NSV files
getchannelsepoch List the channels that are available on this Blackrock device for a given set of files
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
read_blackrock_headers read information from Blackrock Micro header files
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 GET THE SAMPLE RATE FOR SPECIFIC EPOCH AND CHANNEL
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

Methods help

blackrock - Create a new NDI_DEVICE_MFDAQ_BLACKROCK object

D = ndi.daq.reader.mfdaq.blackrock()

   Creates a new ndi.daq.reader.mfdaq.blackrock object

    Documentation for ndi.daq.reader.mfdaq.blackrock/blackrock
       doc ndi.daq.reader.mfdaq.blackrock

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.daq.reader.mfdaq.blackrock.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.daq.reader.mfdaq.blackrock.channelsepoch2timechannelinfo is inherited from superclass ndi.daq.reader.mfdaq

epochclock - return the ndi.time.clocktype objects for an epoch

EC = EPOCHCLOCK(NDI_DAQREADER_MFDAQ_OBJ, EPOCHFILES)

  Return the clock types available for this epoch as a cell array
  of ndi.time.clocktype objects (or sub-class members).

  For the generic ndi.daq.reader.mfdaq, this returns a single clock
  type 'dev_local'time';

  See also: ndi.time.clocktype

Help for ndi.daq.reader.mfdaq.blackrock/epochclock is inherited from superclass ndi.daq.reader.mfdaq

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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/eq is inherited from superclass ndi.daq.reader

filenamefromepochfiles - return the file name that corresponds to the NEV/NSV files

[NEVFILES, NSVFILES] = FILENAMEFROMEPOCHFILES(FILENAME_ARRAY)

  Examines the list of filenames in FILENAME_ARRAY (cell array of full path file strings) and determines which
  ones have the extension '.nev' (neuro event file) and which have the extension '.ns#', where # is a number, or the source
  data files.

getchannelsepoch - List the channels that are available on this Blackrock device for a given set of files

CHANNELS = GETCHANNELSEPOCH(NDI_DAQREADER_MFDAQ_BLACKROCK_OBJ, EPOCHFILES)

   Returns the channel list of acquired channels in this session

  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., 'analogin', 'digitalin', 'image', 'timestamp')

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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/newdocument is inherited from superclass ndi.daq.reader

read_blackrock_headers - read information from Blackrock Micro header files

[NS_H, NEV_H, HEADERS] = READ_BLACKROCK_HEADERS(NDI_DAQREADER_MFDAQ_BLACKROCK_OBJ, EPOCHFILES, [CHANNELTYPE, CHANNELS])

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)

   CHANNEL is a vector of the channel numbers to read, beginning from 1

   EPOCH is set of epoch files

   DATA is the channel data (each column contains data from an indvidual channel)

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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/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_NATIVE(MYDEV, CHANNELTYPE, CHANNEL, ...
      EPOCHFILES, T0, T1)

   CHANNELTYPE is the type of channel to read
   ('event','marker', etc). It must be a string (not a cell array of strings).

   CHANNEL is a vector with the identity of the channel(s) to be read.

   EPOCH is the epoch number or epochID

   T 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.

   TIMEREF is an ndi.time.timereference with the NDI_CLOCK of the device, referring to
   epoch N at time 0 as the reference.

Help for ndi.daq.reader.mfdaq.blackrock/readevents_epochsamples_native is inherited from superclass ndi.daq.reader.mfdaq

samplerate - GET THE SAMPLE RATE FOR SPECIFIC EPOCH AND CHANNEL

SR = SAMPLERATE(DEV, EPOCHFILES, CHANNELTYPE, CHANNEL)
  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.

  SR is the list of sample rate from specified channels

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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock/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.daq.reader.mfdaq.blackrock.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_EPOCHSET_OBJ, EPOCHFILES)

  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

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.daq.reader.mfdaq.blackrock/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 ,atrix of polynomials that converts between the double data that is returned by
  READCHANNEL. RETURNED_DATA = (RAW_DATA+P(i,1))*P(i,2)+(RAW_DATA+P(i,1))*P(i,3) ...
  There is one row of P for each entry of CHANNEL.

  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.daq.reader.mfdaq.blackrock/underlying_datatype is inherited from superclass ndi.daq.reader.mfdaq

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.daq.reader.mfdaq.blackrock.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_DAQREADER_MFDAQ_BLACKROCK_OBJ, EPOCHPROBEMAP, EPOCHFILES)

  Examines the NDI_EPOCHPROBEMAP_DAQREADER EPOCHPROBEMAP and determines if it is valid for the given device
  with epoch files EPOCHFILES.

  See also: ndi.daq.reader, NDI_EPOCHPROBEMAP_DAQREADER