Closed CodyCBakerPhD closed 8 months ago
From new white paper sent by Saskia, all gratings are sinusoidal and used custom scripts based off of the PsychoPy software
""" Monitor was positioned 15 cm from the mouse's eye, and spanned 120 degrees x 95 degrees of visual space without accounting for stimulus warping.
Each monitor was gamma corrected using a USB-650 Red Tide Spectrometer (Ocean Optics). Luminance was measured using a SpectroCAL MKII Spectroradiometer (Cambridge Research Systems). Monitors were used at a brightness setting of 30% and contrast at 50%, corresponding to mean luminance of 50 cd/m^2. """
(a) orientation_in_degrees
"Angle of the grating."
(b) spatial_frequency_in_cycles_per_degree
"Period of the grating in cycles/degree."
(c) phase
Not mentioned in white paper, but is in this data book for a summer workshop https://allenswdb.github.io/visual-coding-2p/vc2p-stimuli.html
https://observatory.brain-map.org/visualcoding/stimulus/static_gratings also has a handy little widget for it
"Relative position of the grating. Phase 0 and Phase 0.5 are 180° apart so that the peak of the grating of phase 0 lines up with the trough of phase 0.5."
TODO: I should really add a 'is_blank_sweep' boolean column to be consistent with the drifting parts; this is the explanation of the NaN values
"A full field drifting sinusoidal grating at a single spatial frequency (0.04 cycles/degree) and contrast (80%)."
The direction of motion is not mentioned by the white paper, but is mentioned in the data book: https://allenswdb.github.io/visual-coding-2p/vc2p-stimuli.html#drifting-gratings
"The drifting gratings stimulus consists of a sinusoidal grating that is presented on the monitor that moves orthogonal to the orientation of the grating, moving in one of 8 directions (called orientation) and at one of 5 temporal frequencies."
(a) orientation_in_degrees
"Angle of the grating."
(b) temporal_frequency_in_hz
"The speed at which the grating moves, in Hz."
(c) is_blank_sweep (bool)
"Mean luminance gray image; not a grating."
Examining the previous ecephys dataset: https://flatironinstitute.github.io/neurosift/?p=/nwb&url=https://api.dandiarchive.org/api/assets/58703c97-c0a9-4736-b684-73c85c1a444a/download/&dandisetId=000021&dandisetVersion=draft&tab=neurodata-item:/intervals/drifting_gratings_presentations|TimeIntervals
They also opted to include things like 'color', 'spatial_frequency' (of drifting grating) and 'constrast' on the tables despite those being constant
Decided to include the spatial frequency on the drifting grating for consistency across files in the dataset; also because there is a rich description for it. Contrast is left out of both due to no complete description and no variation.
Also included units on the variable name as is becoming proposed as best practice
Also included blank sweep logical to the static gratings, which had to be calculated manually but again, worth it for consistency
So I don't make up something inaccurate, best to consult them on what descriptions they would like to set for
static gratings
(a) orientation [even though this one is fairly obvious] (b) spatial_frequency (c) phase
drifting gratings
(a) orientation [of the line or direction of motion? AllenSDK seems to thnk latter...] (b) temporal_frequency (c) blank_sweep
Might also be nice to get some code that can generate what the subject saw given these parameters...