Stimulus Types¶
Higher-level analyses available in IPFX
are critically-dependent on stimulus type and naming conventions.
Unless overwritten, all EphysDataSet
instances create a default StimulusOntology
based on
stimulus_ontology.json.
The instance of this class provides mechanisms for searching for stimuli that have been tagged with standardized names.
For example, in the default ontology stimulus_ontology.json we find one of the entries:
[
[
"core",
"Core 1"
],
[
"resolution",
"Coarse"
],
[
"name",
"Short Square"
],
[
"code",
"C1SSCOARSE",
"C1SSCOARSE150112"
]
],
where:
code: “C1SSCOARSE150112
” and “”C1SSCOARSE
”” are a stimulus codes found in the dataset
core: “Core 1
” (part of the basic protocol used for all data sets),
name: “Short Square
” (3ms square pulse),
resolution: “Coarse
” (large jumps between amplitudes while searching for an action potential).
Tagging provides a mechanism for mapping stimulus codes to stimulus types and enables filtering of the sweeps based on stimulus types.
For example, Short Square stimuli are identified by the following name tags:
self.short_square_names = ( "Short Square",
"Short Square Threshold",
"Short Square - Hold -60mV",
"Short Square - Hold -70mV",
"Short Square - Hold -80mV" )
that allows mapping the sweep with the stimulus code “C1SSCOARSE150112
” to
the Short Square stimuli ‘self.short_square_names’.
With the ontology defined, you can now filter EphysDataSet
sweeps by the stimulus type:
short_square_table = data_set.filtered_sweep_table(
stimuli=data_set.ontology.long_square_names
)
that returns a table of metadata for the sweeps matching the self.short_square_names
tags.