Counting neutrons with a commercial S-CMOS camera

It is possible to detect individual flashes from thermal neutron impacts in a ZnS scintillator using a CMOS camera looking at the scintillator screen, and off line image processing. Some preliminary results indicated that the efficiency of recognition could be improved by optimizing the light collection and the image processing. We will report on this ongoing work which is a result from the collaboration between ESS Bilbao and the ILL. The main progress to be reported is situated on the level of the on-line treatment of the imaging data. If this technology is to work on a genuine scientific instrument, it is necessary that all the processing happens on line, to avoid the accumulation of large amounts of image data to be analyzed off line. An FPGA-based real-time full-deca mode VME-compatible CameraLink board has been developed at the SCI of the ILL, which is able to manage the data flow from the camera and convert it in a reasonable “neutron impact” data flow like from a usual neutron counting detector. The main challenge of the endeavor is the optical light collection from the scintillator. While the light yield of a ZnS scintillator is a priori rather important, the amount of light collected with a photographic objective is small. Different scintillators and different light collection techniques have been experimented with and results will be shown for different setups improving upon the light recuperation on the camera sensor. Improvements on the algorithm side will also be presented. The algorithms have to be at the same time efficient in their recognition of neutron signals, in their rejection of noise signals (internal and external to the camera) but also have to be simple enough to be easily implemented in the FPGA. The path from the idea of detecting individual neutron impacts with a CMOS camera to a practical working instrument detector is challenging, and in this paper we will give an overview of the part of the road that has already been walked. EPJ Web of Conferences 170, 01018 (2018) https://doi.org/10.1051/epjconf/201817001018 ANIMMA 2017 © The Authors, published by EDP Sciences. This is an open access article distributed under the terms of the Creative Commons Attribution License 4.0 (http://creativecommons.org/licenses/by/4.0/).


Overview
We use the commercial S-CMOS camera HAMAMATSU ORCA-Flash4.0V2 in our experiments, which is a 2048 x 2048 pixel camera with a sensor of 13.2 mm x 13.2 mm that can run at 100 fps and has a single pixel readout noise of 1.6 electrons rms.The readout can be done in USB-3 mode (up to 30 fps), or in Camera Link mode.
The fundamental idea is that such a camera can be sensitive to individual flashes of less than ~100 photo-electrons if these are sufficiently concentrated in space (pixels) and time (frames), and as such, allow for single-neutron impact measurement on scintillator screens, which would transform a scintillator/camera setup from an integrating detector into a single-neutron counting detector in those areas of the image where the neutron intensity is weak.This would tremendously increase the signal-to-noise ratio for weak neutron signals, while preserving the linearity of response that integrating detectors have at high intensity.This would also allow for a very high dynamic range in the images taken.The signal-to-noise ratio would also be improved due to neutron-gamma discrimination, something an integrating detector cannot do very well.
It is indeed well-known that individual neutron counting detectors, using their non-linear neutron detection processing (for instance, a simple threshold crossing), have signal-to-noise ratios that are orders of magnitude better than integrating detectors with linear processing when the count rates are low, because all the noise is essentially reduced to zero.However, it is also known that individual counting detectors hit dead time limitations on the high side of the counting scale which limits their dynamical range, while integrating detectors remain linear up to very high count rates.We set out to try to combine the best of both worlds.
However, the difficulty resides in obtaining a sufficiently clear signal per individual neutron so that the efficiency is high enough and the error rate is low enough in order to be able to talk about reliable neutron detection.This will depend on one hand on the physics of the devices used, and on the other hand, on the specific detection algorithms used.Ideally, one would like to build such a system using commercially available components, but it is possible that the performance of such a system is not sufficient to obtain a working system.We will report on the status of this ongoing research which is a collaborative effort between the ILL and ESS-Bilbao.
Earlier reported work showed that a relatively simple algorithm had some potential to discriminate neutron impacts, but at that point, we had no idea of any efficiency of the process involved.In other words, we reported already that some individual neutrons could be discriminated from non-neutron situations.In the mean time, we have studied several setups in better controlled circumstances, and we will report on the results of these tests.The results show that we have low, but non-zero efficiencies, and that we have low, but statistically significant, signal-to-noise ratios as it stands, but that we obtain enough light to be able in principle to obtain better performances than the ones obtained and reported as of today.
We also show progress on integrating the data processing on-line.Indeed, although the results reported have all been obtained with tedious high volume off-line processing, if ever such a system is to function on-line, we want to avoid to have to store individual 8 MB images at 100 fps.We want the neutron-recognition algorithm to run on-line.If the algorithm is simple enough, we want to do this with an FPGA-based solution.

Camera results
A quick estimation gives an idea of what the challenge is about: if we have a per-pixel rms noise level of 1.6 electrons, and the light of an impact is spread over a square of 8x8 pixels, and we integrate the amount of photo-electrons over this square, the expected rms noise level is 12.8 electrons, if the readout noise is statistically independent from pixel to pixel, which it is experimentally observed to be.If we require a 6 sigma threshold to detect a light flash, this light flash would need about 77 electrons to be deposited during one frame, in this square.The quantum efficiency of the sensor is such, that this corresponds to about 100 photons to reach the sensor.If the screen is at 200 mm from the camera, and the lens is a 50 mm focal lens with a theoretical F number of about 1, we will capture theoretically about 1/250 of the emitted light with perfect optics ; if we take 50% optical efficiency, this would bring us to the need of emitting about 50 000 photons from the scintillator screen.Even though this napkin estimation is rather rough, it gives an idea of what is needed.
The only known class of scintillators that can yield sufficient photons are ZnS based scintillators, which are known to emit up to 170 000 photons in a Li-6 conversion event.So, a priori, such events should potentially be individually detectable by our system.This is what a priori justifies our attempts at realizing such a system.The principal difficulty is not to waste this light from its point of generation to the camera sensor.
We have tested essentially two classes of ZnS based scintillators: the "green" ones and the "blue" ones ; with different layer thickness, from different manufacturers, and different dopant/scintillator concentrations.
We have tested a commercial objective with a focal length of 50 mm and an f-number of 0.95, as well as a Canon objective which was a special-purpose objective made for an X-ray medical radiography machine with focal length also 50 mm and an f-number of 0.7.
Integral measurements of photo-electron yield per converted neutron give encouraging numbers.With a "black" He-3 neutron proportional counter, we estimated the neutron flux of a collimated and attenuated neutron beam ; we measured the fraction of the beam that was absorbed by the scintillator ; and we measured the integrated amount of photo-electrons in a sum of images of the beam with the camera.By dividing the integrated amount of photo-electrons by the absorbed fraction of the neutron flux during the exposition time, we could estimate the number of photo-electrons per absorbed (and potentially converted) neutron in the scintillator.The "blue" type scintillator with the Canon (f-number 0.7) lens gives consistent estimates of 350 photo-electrons per neutron and some 270 photo-electrons with the commercial (f-number 0.95) lens.The "green" type scintillator with the Canon lens gives about 430 photo-electrons while the commercial lens gives us 320 photo-electrons.
With these numbers, we see not only that there is a reasonable agreement between quick order-of-magnitude estimations of the expected number of photo-electrons on the camera, and the actual measured values, but we also see that there is good hope that our proposition will actually work.
However, when we run a relatively simple threshold-crossing algorithm to find individual impacts, the results are at the same time disappointing and encouraging.The disappointing part is that if we take the best combination, which is the green scintillator with the Canon lens, and we look at short exposure images, we have a meager detection efficiency of single impacts of at best 6% of the converted neutrons, with a signal-to-noise ratio that is not better than a factor of 10.That said, this signal-to-noise ratio does indicate a statistically significant signal (we are not recognizing random events), but the very low efficiency and the bad signal-to-noise ratio indicates us that our algorithm is not sophisticated enough to separate noise from light pulses.So this is essentially the puzzling state in which our research is at this point: we know that we have enough photo-electrons for the principle to work ; but if we apply a simple threshold algorithm, even though the results are statistically significant, they are of such mediocre quality that we have no working system.

Board development
The structure of the acquisition system at the ILL consists of a general control software system, NOMAD, which is developed in-house, that communicates with a VME master through a first point-to-point optical link.A VME slave board, the IoxOS 1210 board (consisting of a Virtex 6 FPGA and 2 CPU units) connects to a second optical fibre token ring, on which all "data sources" are connected.Most detectors at the ILL being neutron counting detectors, they send blocks of time-stamped neutron impacts to the data acquisition board, that can transmit them in list-mode to NOMAD directly, or that can histogram them locally in various acquisition modes (like time-of-flight, kinetic mode etc...).At regular times, NOMAD reads out the status of the histograms through the VME link.
A VME slave board, the IoxOS 1200, housing a Virtex 6 Xilinx FPGA, has been complemented by an in-house board that has CameraLink receivers and an optical fibre interface: our GG_CameraLink board.The hardware has reached a prototype level that is functioning sufficiently well in order to have started implementing a part of the algorithm: the frame grabber, decoding the CameraLink signals that come from the Hamamatsu camera, which has a slightly specific version of the CameraLink protocol.
The idea is to integrate the GG-CameraLink board in this optical token ring, by having it look like a normal neutron-counting detector on one hand, if our on-line algorithm of detecting individual neutrons works well, but integrating also the possibility to send full integrating images to the acquisition board, be it at relatively low frame rates.