In a previous post, we looked at the differences between retinal ganglion cells (RGCs). We explored some data from a paper by Cronin & Kaplan (1994) that demonstrated the differences in receptive field (RF) size between the cell classes. Here, we will look at data from another study by De Valois, Abramov & Jacobs (1965) that studies neurons in the stage of visual signal processing after the retina, the later geniculate nucleus (LGN). The majority of RGCs connect with LGN neurons which, in turn, send visual information on to the cortex. De Valois et al were interested in characterizing LGN cells by their spectral sensitivity. Spectral sensitivity is a response property where a neuron gives it’s most vigorous response to specific wavelengths of light. De Valois et al used a very simple rubric to classify cells: 1) does the cell’s response change with the stimuli’s wavelength? If yes, 2) Is the cell’s maximum response to long wavelength light or to short wavelength light? See the figure below:
From this schematic, we see that De Valois et al first categorized LGN neurons on whether the cell was a ‘Spectrally Opponent Cell’. This means that the cells responses changed to different wavelengths. For an example, let’s look at the figure below.
Each row from this figure shows spiking activity (short vertical lines) of a LGN neurons to a different wavelength of light. We can see that the response is not the same for each and every wavelength. Therefore, this particular cell is spectrally opponent. A spectrally non-opponent cell have the same response regardless of stimulus wavelength.
Next, LGN neurons were classified as to whether their response was maximal to short or long wavelengths and this was made with a few distinctions:
To understand these classification better, we will use the following code to visualize data collected from two LGN neurons: a long wavelength excited +Y-B cell and a short wavelength excited +G-R.
Let’s take a glimpse of the dataframe:
url <- 'https://raw.githubusercontent.com/SmilodonCub/DATA621/master/deValoisDeValois_dat.csv'
spectral_tuning <- read.csv( url, colClasses=c('numeric', 'numeric', 'numeric', 'factor') )
glimpse( spectral_tuning )## Rows: 72
## Columns: 4
## $ wavelength <dbl> 422.957, 446.360, 465.527, 480.238, 505.646, 532.392, 561.…
## $ firing_rate <dbl> 3.193, 2.566, 2.680, 2.851, 8.723, 19.156, 30.559, 39.624,…
## $ radiance <dbl> 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1, 0.1…
## $ cell_type <fct> YB_cell, YB_cell, YB_cell, YB_cell, YB_cell, YB_cell, YB_c…
This dataframe gives us the mean firing rates for two LGN neurons sampled at 12 different wavelengths at 3 different luminous intensities. Now, let’s visualize the data:
levels( spectral_tuning$cell_type ) <- list("+Y-B LGN cell"="YB_cell", "+G-R LGN cell"="GR_cell")
rad_lab <- split( spectral_tuning,f = spectral_tuning$cell_type )
p1 <- ggplot( data = rad_lab$`+G-R LGN cell`, aes( x = wavelength, y = firing_rate, col = factor( radiance ) ) ) +
geom_point( size = 3) +
geom_smooth( se = F ) +
facet_wrap( ~ cell_type ) +
theme_classic() +
ylab( "mean firing rate (spikes/sec)") +
labs(color='Radiance')
p2 <- p1 %+% rad_lab$`+Y-B LGN cell`
grid.arrange( p1, p2, ncol = 2 )
The figure above shows the responses of the +G-R LGN cell (left) and the +Y-B LGN cell (right). Data is plotted for 3 different radiances (brightness levels) as a function of the wavelength of light. The overall shapes of the responses are similar for the two cell types. However, we can see that peak responses, or peak spectral tunings, are shifted toward different wavelengths.
We will now determine the peak spectral tuning for each cell type at each wavelength
#range of wavelengths 400-700
wavelengths <- data.frame( 'wavelength' = seq( 440, 660 ) )
#loess smoothing grouped by radiance
loess_smooth_vals <- spectral_tuning %>%
tidyr::nest( -radiance ) %>%
dplyr::mutate(
mapped = purrr::map( data, loess, formula = firing_rate ~ wavelength, span = 0.5 ),
fitted = purrr::map( mapped, `[[`,"fitted" )
)
#fitted values for each loess prediction as a column
loess_smooth_res <- loess_smooth_vals %>%
dplyr::select( -mapped ) %>%
tidyr::unnest()
#find the max values for each radiance group
loess_smooth_max <- loess_smooth_res %>%
dplyr::group_by( radiance, cell_type ) %>%
dplyr::slice( which.max( fitted ) ) %>%
arrange( radiance, cell_type )
loess_smooth_max## # A tibble: 6 x 5
## # Groups: radiance, cell_type [6]
## radiance wavelength firing_rate cell_type fitted
## <dbl> <dbl> <dbl> <fct> <dbl>
## 1 0.1 601. 47.1 +Y-B LGN cell 45.8
## 2 0.2 506. 43.4 +G-R LGN cell 44.0
## 3 0.3 534. 35.0 +G-R LGN cell 34.0
## 4 0.4 601. 31.0 +Y-B LGN cell 30.6
## 5 0.8 534. 22.2 +G-R LGN cell 21.5
## 6 0.9 601. 18.8 +Y-B LGN cell 18.4
Visualize information about the peak spectral tuning
p1 <- ggplot( loess_smooth_max, aes( x = radiance, y = firing_rate ) ) +
geom_point() +
geom_line() +
ylab( "mean firing rate (spikes/sec)" ) +
theme_classic() +
facet_wrap( ~ cell_type )
p2 <- ggplot( loess_smooth_max, aes( y = wavelength, x = cell_type ) ) +
geom_jitter(width = 0.1) +
theme_classic() +
ggtitle( "Spectral Tuning by LGN cell type")
grid.arrange( p1, p2, ncol = 2 )From the figure above, we can see that the mean firing rate of both neurons decreases with the radiance of the stimulus (left panel). The right panel visualizes the spectral tuning, or the wavelength where the LGN neurons firing rate is the highest. Next, let’s use the results of a t-test to determine if there is a significant difference in the mean spectral tuning of the two neurons
spectun_ttest <- t.test( wavelength ~ cell_type, data = loess_smooth_max, var.equal = T )
spectun_ttest##
## Two Sample t-test
##
## data: wavelength by cell_type
## t = 8.2033, df = 4, p-value = 0.001203
## alternative hypothesis: true difference in means is not equal to 0
## 95 percent confidence interval:
## 50.85197 102.88469
## sample estimates:
## mean in group +Y-B LGN cell mean in group +G-R LGN cell
## 601.1887 524.3203
It is clear that we can reject the null hypothesis that the means come from the same distribution (t= 8.2033269, p-val = 0.0012032); this supports the hypothesis that the spectral tuning of the two LGN neurons we examined here have significantly different means.
In a previous post, we looked at data that demonstrated the differences in RF size between classes of RGC neurons. In this post, we explored the differences in spectral tuning of LGN neurons. The differences in cell classes is important, because this supports the theory of parallel processing in early visual signal processing. Parallel processing refers to the idea that different classes of neurons with distinct response properties form separate pathways for information to flow from the eye to the brain. In this early paper, De Valois, Abramov & Jacobs demonstrated the LGN neurons can be categorized by their responses to modulation of chromatic stimuli. Some LGN neurons did not appear to be spectrally opponant, rather, these cells were either excited or inhibited by light (of any wavelength). Other LGN neurons demonstrated spectral opponancy: they were excited by some wavelengths of light, but inhibited by other wavelengths. De Valois et al further classified these cells as either being excited by relatively long wavelength light or relatively short wavelength light. In this post we visualized the responses of two spectally opponant cells, one with long wavelength opponancy (+Y-B) and the other with short wavelength opponancy (+G-R). It should be noted that De Valois et al performed this study in 1965. A lot has been learned about the visual system since then! While the LGN classifications presented here are not used in current literature, the principle of their finding has had an impact. In future posts, we can explore more current classifications of RGC and LGN cell classes.