Following up on the recent deconvolution of the radiation field from a video sequence of a web cam bombarded by what looks like 250MeV protons, Cable and I decided to look into this a little further.and looked at the difference between the sparse component and the noisy component of the Robust PCA decomposition provided by GoDec ( or any of the recent Advanced Matrix Factorization solver). Remember, the idea is to separate shot noise on the CMOS and that due to radiation hitting the CMOS at the same time. Here is what both decomposition looks like (the sparse decomposition is on the left, the noisy one is on the right, we use matlab's imshow function)
So while we have the impression that the robust PCA does well in separating both, what about histograms showing the distribution of white pixels
Figure 1 and 2: x-axis represents the dynamic range (linear scale), while the y-axis represent the number of pixels found with value x in the image (log scale). Figure 1 (left) represents the sparse component, while figure 2 (right) represents the noisy component. Both figures have the same axis scale.
Figure 3 and 4: x-axis is the dynamic range (linear scale), while the y-axis represent the number of pixels found with value x in the image (linear scale). Figure 3 (left) represents the sparse component, while figure 4 (right) represents the noisy component. The figures have the different x-axis scale.
As Cable points out, the noisy component has a Gaussian shape and that correlates very nicely with shot noise.. IN figure 1 through 4, we took the absolute values of the components given by Godec. The low rank image being non-null, a negative value for the noisy components represents an oscillation around the value of the corresponding pixel in the low rank image. The sparse component has a shape that depends on how the particle beam interacted with the webcam. The breakpoint at around x=150 in figure 1, looks very similar to the cross section or attenuation coefficient for Silicon (NIST). The idea here is that the particle beam has already interacted with some materials surrounding the webcam or in front of the CMOS (lenses/IR cover) yielding photons of various energy levels. The breakpoint in our figure 1 would correspond to the discotinuous peak on the left of the following figure.
But why do we have pixels with a low count and pixels with high counts: Most likely only one photon hit the pixel, but each photon has a different energy level. From here:
Photons with energy of 1.1 to 5 eV generate single electron-hole pairs. Photons with energy higher than 5 eV produce multiple pairs. Soft X-ray photons can generate thousands of signal electrons make it possible for a CCD to detect single photons.
The further on the x-axis, the more likely the photon is in the soft X-ray region, i.e one hit yields several electrons which translate into a higher reading on the pixel. A good resource on the conversion between photons and electrons can be found here ( of related interest is this brochure presenting the Direct detection
The Robust PCA has allowed us to use a video sequence of a webcam interacting with a particle beam, and obtain a de-convolution of that sequence of images thereby providing:
- the detector shot noise (noisy component)
- the visible range image (the low rank image)
- a proxy for an X-ray photon flux irradiating the webcam/detector (the sparse component).
Wow, I don't think we were expecting that when we started. Another item of interest is our strict reliance on a YouTube video that was not ours and an experiment that took place three years ago ... in Utah: we did not have to set up nor get funding for a 250-MeV proton beam in the lab.
Liked this entry ? subscribe to Nuit Blanche's feed, there's more where that came from. You can also subscribe to Nuit Blanche by Email, explore the Big Picture in Compressive Sensing or the Matrix Factorization Jungle and join the conversations on compressive sensing, advanced matrix factorization and calibration issues on Linkedin.