The meaning of some conditions in stimulus_table in the VisualCodingNeuropixels project

Hi, thank you very much for your work on VisualCodingNeuropixels and making it open access, which is very valuable in promoting research in this area.

When I access this data using allensdk, there are a few conditions that confuse me, so I’m looking for help explaining them.
Questions:

  1. Under the drifting_gratings and static_gratings stimulus , some trail stimulus conditions, such as spatial_frequency, orientation, phase, etc., are all null. I wonder what is actually displayed on the screen under such conditions?
  2. Under the natural_scenes stimulation condition, some trials have frame = -1, and I did not find a picture with serial number -1 in the stimulation picture set. What is the corresponding image on the screen under this condition?
  3. From the document, I learned that the refresh rate of the stimulus screen is 60Hz, but from the 250ms stimulus duration time in stimulus_table, the average refresh rate of the screen is about 59.94~59.95Hz. I checked the information and found that sometimes when the computer screen refresh rate is set to 59Hz or 60Hz, the actual operating frequency is 59.94Hz to keep consistent with the NTSC standard. Is this possible in the actual working state of the experiment?

Actually, I am trying to reconstruct the screen state of the experiment from stimulus_table, and some detailed explanation will be very valuable to me. The above questions come from my exploration of the data of session_id = 715093703.

Thank you so much,
weiwei

1 Like

Hi weiwei,

I also have the same doubt about the static gratings. What was the actual stimulus when, for example, the following stimulus was presented:

stimulus_presentation_id 49441
stimulus_block 8.0
start_time 5384.240544
stop_time 5384.490745
orientation null
contrast null
x_position null
phase null
spatial_frequency null
y_position null
size [250.0, 250.0]
color null
stimulus_name static_gratings
temporal_frequency null
frame null
duration 0.250201
stimulus_condition_id 4796

session_id for the above example is 715093703 with the session_type ‘brain_observatory_1.1’

The reason I ask is because such stimulus_condition_id (with all null values) have the highest number of repeats in all sessions I checked. For example, in this session, this condition repeats 189 times, way higher than even the functional_connectivity sessions.
session.stimulus_presentations.groupby('stimulus_condition_id').size().sort_values(ascending=False)

The kind of analysis I’m trying to perform needs high number of trials, and so I stumbled across this particular stimulus condition. Would just prefer to know what was actually on the screen.

Thanks in advance!

Best,
Divy

Hi Divy,
Thanks for your resonance. I also observed that this stimulus condition appeared multiple times, and it seemed to appear with the same frequency as other stimuli in the same group, but the stimulus conditions described in the document have all appeared, and I really don’t know what null means.

stimulus_table=session.get_stimulus_table(stimulus_names='static_gratings')
session.get_stimulus_parameter_values(stimulus_presentation_ids=stimulus_table.index,drop_nulls=False)
out:
{'size': array(['[250.0, 250.0]'], dtype=object),
 'orientation': array([120.0, 150.0, 60.0, 90.0, 30.0, 0.0, 'null'], dtype=object),
 'contrast': array([0.8, 'null'], dtype=object),
 'phase': array(['0.5', '0.75', '0.0', '0.25', 'null'], dtype=object),
 'spatial_frequency': array([0.32, 0.08, 0.04, 0.02, 0.16, 'null'], dtype=object)

Hopefully others who see this can give us some help.

Best,
weiwei

If all parameters for the drifting gratings or static gratings are null, it means the stimulus was a blank gray screen. For the natural movies, image ID of -1 indicates a gray screen.

An actual screen refresh rate of 59.94 Hz is expected.

1 Like

Hi~ joshs, Thank you very much for this valuable reply.