1 Introduction

Neutron radiography is maturing as a complimentary radiographic nondestructive evaluation (NDE) modality. Neutrons have a higher mean free path than X-rays or gamma rays through thick, dense, high-Z materials [1]. Neutrons add the capability of determining the isotopic compositions of interrogated materials via direct interaction with the nucleus, even at low energies [2]. This can be done with both neutron absorption [2] and neutron transmission analysis [3]. By comparison, only elemental composition can be provided using low energy characteristic X-rays [4]. High energy (>1 MeV) photons are typically needed to extract isotopic information via nuclear resonance fluorescence [5]. This makes neutron radiography an important tool for safeguards and nonproliferation [6], spent fuel interrogation [7], border and port security [8], and material science research [4, 9, 10].

Many state-of-the-art neutron radiography facilities rely on cold neutrons, such as the Spallation Neutron Source and the High Flux Isotope Reactor at Oak Ridge National Laboratory [11, 12]. For imaging purposes, cold neutrons (less than 0.025 eV) can be significantly absorbed by thin (often of order 1 mm) scintillating screens, providing a high contrast between dissimilar interrogated materials [13]. Producing cold neutrons requires large stationary user facilities with limited beam time availability [13]. Cold neutrons are an excellent choice for imaging low-Z materials, but they do not provide the high mean free path necessary to image through high-Z objects [13]. As such, many groups have used fast, high energy neutrons from spontaneous fission radioisotopes [14] and beam-on-target nuclear fusion [15] for imaging. Deuterium-tritium (D-T) fusion neutrons at 14.1 MeV provide the highest penetration possible for a portable, commercial-off-the-shelf neutron generator [16].

Williams et al. [17], Bishnoi et al. [18], and Wang et al. [15] have developed neutron radiography systems using D-T neutron generators. Williams et al. resolved an image at 2.85 line pairs per millimeter with a 2-mm-thick scintillator screen, a neutron flux of 3\(\times \)109 n/s, and 10 min exposure time [17]. Thin scintillator screens offer high spatial resolution, but typically require longer irradiation times or higher neutron fluxes due to the lower interaction efficiency. This increases the absorbed dose of the interrogated object. Bishnoi et al. resolved a hole as small as 5 mm in diameter in a block of high-density polyethylene (HDPE) using a scintillator slab that was 40 mm thick, a neutron flux of 2\(\times \)109 n/s, and an exposure time between 10 and 15 min [18]. Similarly, Wang et al. used a 45-mm-thick package that contained both scintillators and wavelength-shifting fibers to resolve holes as small as 3 mm in diameter and slits as small as 0.6 mm wide using a neutron flux of 1\(\times \)1011 n/s and an exposure time of around 8 h [15]. All three of these systems used mirrors to reflect light from the scintillators to a camera system. This increases the size of the acquisition system, meaning that these setups cannot be readily made portable. This also allows the camera to be shielded from neutrons and background X-rays.

Williams et al. and Wang et al. used lithium-doped zinc sulfide [17] and undoped zinc sulfide [15] as the scintillating material in their respective systems. Both of these scintillators rely on neutron absorption as the primary mode for generating light. Neutron absorbing materials have higher cross sections only at lower neutron energies. Systems that rely on this method will fundamentally require longer acquisition times for D-T neutrons compared to systems that use a scattering-based scintillator like plastic. Bishnoi et al., which used BC400 plastic, achieved an acquisition time on the order of minutes [18] compared to the hours needed in the other systems [15, 17]. It is well understood that using a scattering-based scintillator has a significant advantage when developing highly efficient fast-neutron imaging systems.

McConchie et al. used segmented plastic scintillator arrays instead of a scintillator screen paired with a mirror and camera [19]. These segmented scintillator arrays contain an active detection volume of 540.0 cm3 (10.4 cm \(\times \) 10.4 cm \(\times \) 5.0 cm) divided into 100 pixels with a 1.0 cm pitch and a thickness of 5.0 cm [19]. A 3-mm-thick light spreader sits between the scintillator and four Hamamatsu R9779 photomultiplier tubes (PMTs). Anger logic is applied to the quad PMT output of each scintillation event to localize the event to one scintillator segment. This creates an image with a spatial resolution limited by the scintillator pitch [19]. The thick scintillators result in faster acquisition times by increasing the uncertainty in the localization algorithm.

This research effort has developed a fast-neutron radiography system that can achieve spatial resolutions close to that of camera and mirror systems [15, 17, 18] while still achieving the portability of larger pixelated block detector systems [19]. In addition to this, the system has been designed to be tileable so that the user has the ability to scale in detection area as large as desired. To achieve this effect, the IDEAS ROSSPAD readout module was chosen as the backbone of the system. The ROSSPAD only requires a power-over-Ethernet connection to read out data, meaning that any scaling can be done without the need for ancillary equipment. A scatter-based plastic scintillator package gives the system a high detection efficiency compared to absorption-based scintillators. This scintillator is directly coupled to a board of silicon photomultipliers (SiPMs), increasing the photon detection efficiency compared to camera-and-mirror based systems, where photons are easily lost.

2 Methods

2.1 Detector Hardware

The detector packages are based around the IDEAS ROSSPAD readout module [20]. The ROSSPAD module features a compact design of 50 mm by 50 mm by 48.5 mm, with connections to a SiPM board on the front and data, debug, and power connections in the back. Detector events are read out via an Ethernet connection, which transfers a UDP packet containing signals from all of the connected SiPMs to a computer on the same network. The module itself can receive power through a standard wall outlet connection or via a Power over Ethernet (PoE) connection. The SensL ARRAYJ-60035–64P-PCB SiPM array board, which contains 64 SensL MICROFJ-60035-TSV SiPMs, is attached to the front of the readout module. These square SiPMs are 6 mm by 6 mm, and each one operates at a voltage greater than 26.5 volts.

A 3-mm-thick sheet of clear polycarbonate plastic was optically bonded to the SiPM board using BC-630 optical silicone grease from Saint-Gobain. This plastic sheet acts as a non-scintillating light spreader, further distributing light from the scintillator across the plane of SiPMs. A 3-mm-thick sheet of EJ-200 plastic scintillator from Eljen Technologies was bonded to the other side of the polycarbonate light spreader using Hernon Ultrabond 740 UV cure epoxy, providing both neutron and gamma sensing capabilities. The bonded scintillator and light spreader package is painted on all sides except for the one facing the SiPMs with white (titanium dioxide) spray paint. This white coating acts as a diffuse reflector to increase light collection in the SiPMs. The readout module and the entire scintillator package can be seen in Fig.  1.

Fig. 1
figure 1

The ROSSPAD readout module with a painted scintillator and light spreader package bonded using silicone grease

An aluminum housing was used to contain the ROSSPAD module. This housing also serves as a heat sink for the detector. Black electrical tape was used to seal the system from any outside light. A PoE switch was used to provide both power to and data from the ROSSPAD over a single wire. This reduces the number of connections needed and makes sealing the detector module significantly easier for the user. An Ethernet connection to a laptop or desktop computer is used to control the ROSSPAD and capture data packets during an experiment. Scalability follows with an array feeding one or more commercially available >10Gigabit Ethernet switches. One or more data acquisition computers may be used where load balancing is achieved according to disk write speeds.

2.2 Data Handling and Processing

An Ethernet connection between the ROSSPAD and a laptop or desktop computer allows for the collection of UDP packets corresponding to detector events. Packet captures are made using Wireshark, an open-source packet analyzer. A collection of data packets corresponding to an individual experiment can then be saved into a single packet capture file, allowing the data to be re-run through processing software multiple times.

A startup script system allows for the ROSSPAD to be brought online. IDEAS provides a basic software package, TestBench, for communication with a single ROSSPAD, where this effort included code specifically intended for an array of multiple ROSSPADs. This startup script uses ROSSPAD API files provided by IDEAS to set specific values into registries in the ROSSPAD hardware. These values can be easily manipulated with each script, allowing for a wide variety of options when getting started. A custom data processing program allows for fast processing of event data. Run using the command line, the code takes in the name of the packet capture file as well as any additional options, like a help menu or more comprehensive debug output, as arguments.

The code first extracts data from the packet capture file and stores it into a SQLite database file with the same file name [21]. The raw data is stored in its own table that contains values for source MAC address, packet timestamps, packet header values, and the raw data payload. Data can then be copied from the table, manipulated, and then stored in a new table for later use if needed.

Raw data is corrected and calibrated on a SiPM by SiPM basis. A histogram of the raw events for each SiPM is generated, with an example shown in Fig.  2. The raw data from a given SiPM is corrected using the following equation:

$$\begin{aligned} C_{n} = R_{n} - (B_{n} + N_{n}) \end{aligned}$$
(1)

where \(R_{n}\) is the raw signal from an event on SiPM n, \(B_{n}\) and \(N_{n}\) are the electronic background and electronic noise of SiPM n, and \(C_{n}\) is the corrected signal. The center of the Gaussian shape on the left edge of the curve is set as the electronic background for the SiPM. To find the electronic noise of the system, the distance in bin number was determined between the center of the peak and the point in the Gaussian that is \(n^{th}\) percentile of the shape on the left hand side. Both the electronic background and electronic noise are then subtracted from the raw data stream. If a signal falls below the zero bin, it is set to zero.

Fig. 2
figure 2

A sample uncorrected signal histogram from a flood field image

After the raw signal is electronic background and electronic noise corrected, it must be calibrated so that the same amount of light received by two different SiPMs will be read out as the same signal. The equation

$$\begin{aligned} G_{avg} = \frac{\sum _{n=1}^{N} U_n - L_n}{N} \end{aligned}$$
(2)

generates the average gain across the entirety of a ROSSPAD system using the cumulative distribution function (CDF) generated from each corrected SiPM. In equation 2, \(U_n\) and \(L_n\) are the spectral bins at the upper and lower percentiles for SiPM n and N is the number of SiPMs on the board. For the ROSSPAD, this number is 64. The lower and upper bounds can be set independently for each experiment to generate the clearest image possible. Equation 2 is then used to find the individual gain of each SiPM.

$$\begin{aligned} G_{n} = \frac{U_n - L_n}{G_{avg}}. \end{aligned}$$
(3)

Gain, electronic background, and electronic noise for each SiPM on each ROSSPAD are stored in their own SQLite data table, allowing for the calibration values to be reused in other sets of data if required.

Using equation 3 and the electronic background and electronic noise, each individual event is calibrated on a per-SiPM basis using equation 4:

$$\begin{aligned} S_{n} = (R_{n} - (B_{n} + N_{n}))\times G_n \end{aligned}$$
(4)

Once the data has been calibrated and corrected, it is stored in a SQLite table for storage and use later in the code.

2.3 Image Generation

Event localization is performed using a weighted average approach. The method sums up the rows and columns together into one row and one column, both containing the entire set of data from one event. A weighted mean position is calculated in the summed row and column, giving a final position in x and y. The localized event position is stored into a data table within the same SQLite database file used for storage of raw and calibrated event data. Both the relative x and y position of the event on a ROSSPAD system as well as the true x and y position across the scope of the entire system are available, along with the sum of all of the SiPM signals, the event timestamp, and the identification of the ROSSPAD that produced that event.

An image generation method pulls the localized events from the recommended SQLite table they are stored in and generates an image from them. A linear memory space is generated from data containing the positions of ROSSPADs stored in a comma-separated values (CSV) file. Once this space has been established, each event’s total signal is added to the space in memory determined by the event’s position. The linear memory space is then written into a text image file, which can be opened with ImageJ, an image processing software developed by the National Institutes of Health [22]. Both images with and without markings for the boundaries of SiPMs can be generated. ImageJ can also be used to further adjust the size, color, and contrast of the generated image.

This software can also generate several debug images, including displays of all 64 values of the SiPMs into a grid with a red marking indicating the localized position of the event superimposed. These images allow for a greater understanding as to how the localization methods take the calibrated data and convert it into a point in the image.

Four reference images were generated. Each image was used to demonstrate the performance of one or more specific aspects of the localization method. Two images were generated using a \(0.11 \pm 0.01\) mCi Cs-137 gamma source placed 15 cm away from the face of the detector. A flood field image was generated with nothing between the source and the face of the detector, and a collimated line was generated with two \(3.8 \pm 0.1\) cm thick tungsten blocks (equivalent to approximately 7 mean free paths for a 662 keV gamma ray [23]) placed \(0.083 \pm {} 0.003\) cm apart to create the collimated line. The detector was placed on a 15 degree angle block relative to the plane of the table so that the line would cross a larger number of SiPMs. Given the distance to the detector face and the distribution of the Cs-137 source, it is assumed that the collimated line will be even across the face of the detector. The collimated line setup is shown in Figs. 3 and 4.

Fig. 3
figure 3

Photograph of the experimental setup for generating a collimated Cs-137 line image. Note: the large gap between the tops of the tungsten blocks is not in view of the detector. The true collimated line is obscured in this image

Fig. 4
figure 4

Photograph of the gap between blocks used to collimate a Cs-137 source into a line

The other two images were generated using a \(0.11 \pm 0.01\) mCi Cf-252 fission neutron source. A flood field image was taken with the source placed approximately 10 cm away from the face of the detector. An edge image was taken with the source placed approximately 40 cm away from the face of the detector. A block of high-density polyethylene (HDPE) measuring \(15.3 \pm 0.1\) cm thick (equivalent to approximately 5 mean free paths assuming an average fission neutron energy of 2.105 MeV [24]) was placed approximately 12 cm from the face of the detector, in between the source and the detector. For both setups, a \(0.2 \pm 0.0025\) cm thick sheet (equivalent to approximately 2 mean free paths for Cf-252’s highest energy gamma ray at 0.207 MeV [23]) of lead was placed in front of the detector face, attenuating 87.5% of the gammas that come from the decay of Cf-252. Since the ROSSPAD module does not have the ability to distinguish neutron events from photon events via pulse-shape discrimination (PSD), this is the best method for reducing the number of gamma events when taking a neutron radiograph. The edge setup is shown in Fig. 5. While a line profile similar to the one created using Cs-137 would be preferred, difficulties with the experimental setup made it easier to use an edge for the neutron-based image characterization.

Spatial resolution values based on the collimated Cs-137 image and the Cf-252 edge were generated using a modulation transfer function (MTF) [25]. By taking the real component of a fast Fourier transform (FFT) of the collimated Cs-137 line or the derivative of the Cf-252 edge, it is possible to understand how the spatial frequency of the object being imaged is transferred to the radiograph [25]. MTF measurements are a common method of determining image quality and spatial resolution in many forms of images.

Fig. 5
figure 5

Experimental setup for generating a collimated Cf-252 edge image

3 Results

3.1 Cesium-137 Images

A flood field image is shown in Fig. 6. This image shows an even spread of points across the center of the face of the detector, with an elevated number of events at the edges and the corners of the image. In addition, the flood field does not have any localized events within a half-SiPM border at the edge of the detector. These edge effects are due to a combination of the localization method employed and the housing of one ROSSPAD reflecting light towards the center of the system if there is a scintillation event at the edge.

Fig. 6
figure 6

A flood field image generated using a Cs-137 gamma source. (N = \(1.8\times 10^{6}\) events)

Figure 7 shows the result of a line generated with \(3.2\times 10^{5}\) total events. The line has the same increased light collection at the edges seen in the flood field image. Even across the boundaries of SiPMs, the line continues straight with little deviation. At the top and bottom of the line, we see an increase of events that appears brighter than the rest of the line. This is likely due to the localization method performing poorly at the edge of the ROSSPAD module due to the optical engineering with respect to light collection. It is expected that by extending the light spreader across multiple ROSSPAD modules, this systematic error in event position estimation will go away.

Fig. 7
figure 7

A collimated line image generated using a Cs-137 gamma source. SiPM boundaries have been overlaid onto the image. (N = \(3.2\times 10^{5}\) events)

Figure 8 shows the profile of the normalized intensities across the collimated line source image. This profile was generated by taking an average of the intensities along the line using ImageJ. The average of the intensities along the line excludes the increase in counts at both ends of the line. The image generated uses pixels that correspond to a pitch of 0.25 mms on the face of the detector. This pixel density was chose to highlight any artifacts that may appear in the image. Each pixel corresponds to a point in space in order to make generating an MTF value easier. For the profile displayed in Figure 8, the position in space is relative to the start of the data. A demonstration of this process is shown in Figure 9. Since the profile of the line can be closely approximated with a Gaussian curve, a true Gaussian curve was fit to the data, and from this fit a modulation transfer function (MTF) was generated. The image likely does not fit a perfect Gaussian curve due to geometric unsharpness with regards to the placement of the source, object, and detector. Figure 10 shows a 90% spatial resolution of approximately 0.47 line pairs per centimeter and a 10% spatial resolution of approximately 2.32 line pairs per centimeter.

Fig. 8
figure 8

Line profile of the collimated Cs-137 image

Fig. 9
figure 9

Demonstration of the area evaluated for spatial resolution of the collimated Cs-137 image

Fig. 10
figure 10

Modulation transfer function of the collimated Cs-137 line

3.2 Californium-252 Images

Similar to the flood field from the gamma source, Fig. 11 shows the same even spread in the center of the image and similar edge effects. This image was generated using \(5.5\times 10^{5}\) total events. Though it is likely that the majority of these events come from neutron interactions within the data, the lack of PSD capability means that photon events cannot be fully removed from the image. The Cf-252 flood field shows that the upper right corner is pulled in slightly to the center compared to the Cs-137 flood field. It is possible that separation of the light spreader and SiPM board or light spreader and scintillator diffracts light and causes the image to pull towards the center. An example of this separation is shown in Figure 12.

Fig. 11
figure 11

A flood field image generated using a Cf-252 fission neutron source. (N = \(5.5\times 10^{5}\) events)

Fig. 12
figure 12

Optical distortion due to the separation of the light spreader and the scintillator (circled in orange)

Figure 13 shows the result of an edge generated with \(1.3\times 10^{6}\) total events. Note that the corners appear significantly brighter due to the contrast adjustments performed in ImageJ that were needed to make the edge clearly visible. In addition, SiPM boundary lines have not been included to improve image clarity.

Fig. 13
figure 13

An edge image generated using a Cf-252 fission neutron source. (N = \(1.3\times 10^{6}\) events)

Figure 14 shows an error function fit to the normalized intensity profile of the edge , generated using the same technique used for the collimated Cs-137 line. The derivative of the function is used to generate a Gaussian curve, which was then used to generate the MTF show in Fig. 15. The MTF shows a 90% spatial resolution of approximately 0.70 line pairs per centimeter and a 10% spatial resolution of approximately 3.35 line pairs per centimeter.

Fig. 14
figure 14

An edge image generated using a Cf-252 fission neutron source. (N = \(1.3\times 10^{6}\) events)

Fig. 15
figure 15

Modulation transfer function of the collimated Cf-252 edge

The collimated edge using neutrons is not as clear as the collimated line using gammas. There are many possibilities for this, including the inability to discriminate photon interactions from neutron ones and the increased geometric unsharpness caused by a volumetric Cf-252 source. Despite having more events in the image than the collimated gamma line, the neutron edge has increased variation in the intensities of the pixels in the image.

To verify the integrity of the Cf-252 MTF measurement, a second image was generated at a lower resolution. While the original image was generated with a density of 4 pixels per millimeter (40,000 total pixels), the second image was generated with a density of 2 pixels per millimeter (10,000 total pixels). With 1.3 million events in each image, this brings the number of events per pixel from 32.5 to 130. Figures 16 and 17 display the image and the edge profile for this new pixel density.

Fig. 16
figure 16

A new edge image generated using a pixel density of 2 pixels per millimeter. (N = \(1.3\times 10^{6}\) events)

Fig. 17
figure 17

Edge profile of the reduced resolution image

Figure 18 shows the difference in MTF value for the two different pixel densities. While the original image had a 90% spatial resolution of approximately 0.65 line pairs per centimeter and a 10% spatial resolution of approximately 3.30 line pairs per centimeter, this new image has a 90% spatial resolution of approximately 0.79 line pairs per centimeter and a 10% spatial resolution of approximately 3.75 line pairs per centimeter. Variation from the edge profile did not improve significantly between the two pixel densities, so the improved MTF values are likely not as representative of the image as it appears. The MTF values are, however, close between the two images, indicating that the method for generating the MTF values has some consistency despite the variation in pixel intensity.

Fig. 18
figure 18

Comparison of MTF measurements using two different pixel densities

3.3 Comparison to Bare SiPM Resolution

From the pitch of the SiPMs on the board, a reference spatial resolution can be derived with the following equation:

$$\begin{aligned} R = \frac{1}{2*P} \end{aligned}$$
(5)

where R is the spatial resolution of a bare SiPM board and P is the pitch of the SiPMs on the board in centimeters. Since the pitch of the SiPMs on the board is 0.6 cm, the board itself, with no localization, can generate images with a spatial resolution of 0.833 line pairs per cm. The detector package and localization method currently used are thus able to generate images with a spatial resolution better than the bare SiPM spatial resolution at 10% spatial resolution.

4 Conclusion

Using the IDEAS ROSSPAD readout module connected to an 8 \(\times \) 8 array of SensL MICROFJ-60035-TSV SiPMs, a detector package was developed for use in a portable, tileable neutron radiography system. At 10% spatial resolution, the detector package achieves a spatial resolution of approximately 2.32 line pairs per centimeter for gamma rays and 3.35 line pairs per centimeter for neutrons. Given the effective spatial resolution of the bare SiPM board is 0.833 line pairs per centimeter, the system is able to develop images with sub-SiPM spatial resolution using a continuous sheet of EJ-200 plastic scintillator and a sheet of acrylic for a light spreader.