allensdk.brain_observatory.ecephys.stimulus_analysis.drifting_gratings module¶
-
class
allensdk.brain_observatory.ecephys.stimulus_analysis.drifting_gratings.
DriftingGratings
(ecephys_session, col_ori='orientation', col_tf='temporal_frequency', col_contrast='contrast', trial_duration=2.0, **kwargs)[source]¶ Bases:
allensdk.brain_observatory.ecephys.stimulus_analysis.stimulus_analysis.StimulusAnalysis
A class for computing single-unit metrics from the drifting gratings stimulus of an ecephys session NWB file.
- To use, pass in a EcephysSession object::
- session = EcephysSession.from_nwb_path(‘/path/to/my.nwb’) dg_analysis = DriftingGratings(session)
- or, alternatively, pass in the file path::
- dg_analysis = DriftingGratings(‘/path/to/my.nwb’)
You can also pass in a unit filter dictionary which will only select units with certain properties. For example to get only those units which are on probe C and found in the VISp area:
dg_analysis = DriftingGratings(session, filter={'location': 'probeC', 'structure_acronym': 'VISp'})
- To get a table of the individual unit metrics ranked by unit ID::
- metrics_table_df = dg_analysis.metrics()
-
METRICS_COLUMNS
¶
-
conditionwise_statistics_contrast
¶ Conditionwise statistics for contrast stimulus
-
contrastvals
¶ Array of grating temporal frequency conditions
-
classmethod
known_stimulus_keys
()[source]¶ Used for discovering the correct stimulus_name key for a given StimulusAnalysis subclass (when stimulus_key is not explicity set). Should return a list of “stimulus_name” strings.
-
make_star_plot
(self, unit_id)[source]¶ Make a 2P-style Star Plot based on presentationwise spike counts
-
metrics
¶ Returns a pandas DataFrame of the stimulus response metrics for each unit.
-
name
¶ Return the stimulus name.
-
null_condition
¶ Stimulus condition ID for null (blank) stimulus
-
number_contrast
¶ Number of grating temporal frequency conditions
-
number_ori
¶ Number of grating orientation conditions
-
number_tf
¶ Number of grating temporal frequency conditions
-
orivals
¶ Array of grating orientation conditions
-
plot_raster
(self, stimulus_condition_id, unit_id)[source]¶ Plot raster for one condition and one unit
-
plot_response_summary
(self, unit_id, bar_thickness=0.25)[source]¶ Plot the spike counts across conditions
-
stim_table_contrast
¶
-
stimulus_conditions_contrast
¶ Stimulus conditions for contrast stimulus
-
tfvals
¶ Array of grating temporal frequency conditions
-
allensdk.brain_observatory.ecephys.stimulus_analysis.drifting_gratings.
c50
(contrasts, responses)[source]¶ Computes C50, the halfway point between the maximum and minimum values in a curved fitted against a difference of gaussian for the contrast values and their responese (mean spike rates)
Parameters: - contrasts : array of floats
list of different contrast stimuli
- responses : array of floats
array of responses (spike rates)
Returns: - c50 : float
-
allensdk.brain_observatory.ecephys.stimulus_analysis.drifting_gratings.
f1_f0
(arr, tf, trial_duration)[source]¶ Computes F1/F0 of a drifting grating response
Parameters: - arr :
DataArray with trials x bin-times
- tf :
temporal frequency of the stimulus
Returns: - f1_f0 : float
metric
-
allensdk.brain_observatory.ecephys.stimulus_analysis.drifting_gratings.
modulation_index
(response_psth, tf, sample_rate)[source]¶ Depth of modulation by each cycle of a drifting grating; similar to F1/F0
- ref: Matteucci et al. (2019) Nonlinear processing of shape information
- in rat lateral extrastriate cortex. J Neurosci 39: 1649-1670
Parameters: - response_psth : array of floats
the binned responses of a unit for a given stimuli
- tf : float
the temporal frequency
- sample_rate : float
the sampling rate of response_psth
Returns: - modulation_index : float
the mi value