File IPNWB_Reader.ipf

Generic functions related to import from the NeuroDataWithoutBorders format.

Functions

string ReadDevices(variable fileID, variable version)

List devices in given hdf5 file.

Parameters:
  • fileID – identifier of open HDF5 file

  • version – major NWB version

Returns:

comma separated list of devices

string ReadElectrodeName(string discLocation, string seriesPath, variable version)

return name of electrode

See also

AddElectrode

Parameters:
  • discLocation – full path to file in Igor disc path notation

  • seriesPath – Full Path inside HDF5 structure to TimeSeries group

  • version – major NWB version

Returns:

the name of the electrode or “” for unassociated channels

string ReadLabNoteBooks(variable fileID)

List groups inside /general/labnotebook.

Parameters:

fileID – identifier of open HDF5 file

Returns:

list with name of all groups inside /general/labnotebook/*

string ReadAcquisition(variable fileID, variable version)

List all acquisition channels.

Parameters:
  • fileID – identifier of open HDF5 file

  • version – NWB major version

Returns:

comma separated list of channels

string ReadStimulus(variable fileID)

List all stimulus channels.

Parameters:

fileID – identifier of open HDF5 file

Returns:

comma separated list of channels

string ReadStimsets(variable fileID)

List all stimsets.

Parameters:

fileID – identifier of open HDF5 file

Returns:

comma separated list of contents of the stimset group

variable AnalyseChannelName(string channel, ReadChannelParams *p)

Try to extract information from channel name string.

Parameters:
  • channel[in] Input channel name in form data_00000_TTL1_3

  • p[out] ReadChannelParams structure to get filled

variable LoadSourceAttribute(variable locationID, string channel, ReadChannelParams *p)

Read parameters from source attribute.

Function is NWBv1 specific

See also

LoadSweepNumber

Parameters:
  • locationID[in] HDF5 group specified channel is a member of

  • channel[in] channel to load

  • p[out] ReadChannelParams structure to get filled

variable LoadSweepNumber(variable locationID, string channel, variable version)

Load sweep number from specified channel name.

Parameters:
  • locationID – id of an open hdf5 group containing channel

  • channel – name of channel for which sweep number is loaded

  • version – NWB maior version

Returns:

sweep number

wave LoadDataWave(variable locationID, string channel, string path = defaultValue)

Load data wave from specified path.

Parameters:
  • locationID – id of an open hdf5 group containing channel id can also be of an open nwb file. In this case specify (optional) path.

  • channel – name of channel for which data attribute is loaded

  • path – use path to specify group inside hdf5 file where ./channel/data is located.

Returns:

reference to free wave containing loaded data

wave LoadTimeseries(variable locationID, string path, variable version)

Load single TimeSeries data as a wave from NWB_PATCHCLAMPSERIES_V[12].

Parameters:
  • locationID – id of an open hdf5 group or file

  • path – name or path of TimeSeries for which data is loaded

  • version – NWB major version

Returns:

reference to wave containing loaded data

wave LoadStimulus(variable locationID, string path)

Load single TimeSeries data as a wave from NWB_STIMULUS_PRESENTATION.

Parameters:
  • locationID – id of an open hdf5 group or file

  • path – name or path of TimeSeries for which data is loaded

Returns:

reference to wave containing loaded data

variable OpenAcquisition(variable fileID, variable version)

Open hdf5 group containing acquisition channels.

Parameters:
  • fileID – id of an open hdf5 group or file

  • version – NWB major version

Returns:

id of hdf5 group

variable OpenStimulus(variable fileID)

Open hdf5 group containing stimulus channels.

Parameters:

fileID – id of an open hdf5 group or file

Returns:

id of hdf5 group

variable OpenStimset(variable fileID)

Open hdf5 group containing stimsets.

Parameters:

fileID – id of an open hdf5 group or file

Returns:

id of hdf5 group

variable StimsetPathExists(variable fileID)

Check if the path to the stimsets exist in the NWB file.

variable ReadTopLevelInfo(variable fileID, ToplevelInfo *toplevelInfo)

Read in all NWB datasets from the root group (‘/’)

variable ReadGeneralInfo(variable fileID, GeneralInfo *generalinfo)

Read in all standard NWB datasets from the group ‘/general’.

variable ReadSubjectInfo(variable fileID, SubjectInfo *subjectInfo)

Read in all NWB datasets from the root group ‘/general/subject’.

variable ReadTimeSeriesProperties(variable locationID, string channel, TimeSeriesProperties *tsp)

Read the TimeSeries properties from the given group in locationID.

Parameters:
  • locationID[in] TimeSeries group ID

  • channel[in] TimeSeries group name

  • tsp[out] TimeSeriesProperties structure

string ReadNeuroDataType(variable fileID, string name)

Read nwb data type.

Parameters:
  • fileID – HDF5 identifier of file (not group)

  • name – Path to element who’s DataType is queried

Returns:

string with data type (e.g. uint, DynamicTable, SweepTable)

std::tuple<WaveOrNull, WaveTextOrNull> LoadSweepTable(variable locationID, variable version)

Return the two SweepTable data columns sweep_number and series

Todo:

Allow Executions for files with missing SweepTable entry using LoadSweepNumber

Parameters:
  • locationID – HDF5 identifier

  • version – major NWB version

Returns:

sweep_number and path to TimeSeries as waves

wave LoadEpochTable(string nwbFilePath)

Return the epoch table as wave reference wave.

Due to IP limitations, the NWB file path of the closed file must be passed.

See GetEpochsWaveInternal() for the wave layout.

static wave GetTimeseriesProperties(variable locationID, WaveText timeseries, string name, string attrName = defaultValue)

Return timeseries properties which can be a dataset or attribute as wave.

static wave GetEpochsWaveInternal(WaveText timeseries)

Return a free wave reference wave.

ROWS:

  • One entry for each unique timeseries path, with dimension label

Each row will hold a Nx4 wave for the epoch info of each row.

See also

GetEpochsWave()

static wave ExpandRuggedVector(WaveText data_rugged, wave index, string sep)

Expand data from rugged DynamicTable column entry.

See also https://github.com/hdmf-dev/hdmf-common-schema/blob/main/common/table.yaml#L4.