File IPNWB_Structures.ipf

Functions

variable InitWriteChannelParams(WriteChannelParams *p)

Initialize WriteChannelParams structure.

variable InitReadChannelParams(ReadChannelParams *p)

Initialization routine for InitReadChannelParams.

variable InitGeneralInfo(GeneralInfo *gi)

Initialization routine for GeneralInfo.

variable InitSubjectInfo(SubjectInfo *si)

Initialization routine for SubjectInfo.

variable InitToplevelInfo(ToplevelInfo *ti, variable version)

Initialization routine for ToplevelInfo.

Parameters:
  • ti – TopLevelInfo Structure

  • version – [optional] defaults to latest version specified in NWB_VERSION_LATEST

variable InitTimeSeriesProperties(TimeSeriesProperties *tsp, variable channelType, variable clampMode)

Initialization of TimeSeriesProperties.

Parameters:
variable InitDynamicTable(DynamicTable *dt)
variable InitElementIdentifiers(ElementIdentifiers *eli)
variable InitVectorData(VectorData *vd)
variable InitVectorIndex(VectorIndex *vi)
struct WriteChannelParams

Helper structure for WriteSingleChannel()

Public Members

string device

name of the measure device, e.g. “ITC18USB_Dev_0”

string stimSet

name of the template simulus set

string channelSuffix

custom channel suffix, in case the channel number is ambiguous

string channelSuffixDesc

description of the channel suffix, will be added to the source attribute

variable samplingRate

sampling rate in Hz

variable startingTime

timestamp since Igor Pro epoch in UTC of the start of this measurement

variable sweep

running number for each measurement

variable channelType

channel type, one of IPNWBChannelTypes

variable channelNumber

running number of the channel

variable electrodeNumber

electrode identifier the channel was acquired with

string electrodeName

electrode identifier the channel was acquired with (string version)

variable clampMode

clamp mode, one of IPNWB_ClampModes

variable groupIndex

Should be filled with the result of GetNextFreeGroupIndex(locationID, path) before

WAVE data

channel data

the first call and must stay constant for all channels for this measurement. If NaN an automatic solution is provided.

WaveText epochs

epoch information (optional)

struct ReadChannelParams

Loader structure analog to WriteChannelParams.

Public Members

string device

name of the measure device, e.g. “ITC18USB_Dev_0”

string channelSuffix

custom channel suffix, in case the channel number is ambiguous

variable sweep

running number for each measurement

variable channelType

channel type, one of IPNWBChannelTypes

variable channelNumber

running number of the hardware channel

variable electrodeNumber

electrode identifier the channel was acquired with

variable groupIndex

constant for all channels in this measurement.

variable ttlBit

additional information to make the channel number unambigous, in the range 2^0, …, 2^3

struct GeneralInfo

Structure to hold all properties of the NWB file directly below /general

Public Members

string session_id
string experimenter
string institution
string lab
string related_publications
string notes
string experiment_description
string data_collection
string stimulus
string pharmacology
string surgery
string protocol
string virus
string slices
struct SubjectInfo

Structure to hold all properties of the NWB file directly below /general/subject

Public Members

string age
string date_of_birth
string description
string genotype
string sex
string species
string subject_id
string weight
struct ToplevelInfo

Structure to hold all properties of the NWB file directly below /

Public Members

string session_description
variable session_start_time

timestamp in seconds since Igor Pro epoch, UTC timezone

string nwb_version

NWB specification version.

string identifier
WaveText file_create_date
struct TimeSeriesProperties

Holds class specific entries for TimeSeries objects.

Usage for writers

STRUCT TimeSeriesProperties tsp
InitTimeSeriesProperties(tsp, channelType, clampMode)
AddProperty(tsp, "gain", 1.23456)
// more calls tp AddProperty()
WriteSingleChannel(locationID, path, p, tsp)

and for readers

STRUCT TimeSeriesProperties tsp
InitTimeSeriesProperties(tsp, channelType, clampMode)
ReadTimeSeriesProperties(groupID, channel, tsp)

Public Members

WaveText names
WAVE data
WaveText unit
WAVE isCustom

NWBv1: 1 if the entry should be marked as NWB custom.

string missing_fields

keep track of missing fields while reading

string neurodata_type
struct DynamicTable

Public Members

string colnames
string description
string data_type
struct ElementIdentifiers

Public Members

string data_type
struct VectorData

Public Members

string description
string data_type
string path
struct VectorIndex

Public Members

string data_type
VectorData target