Patent Description:
Radiography employs a source of radiation placed on one of side of the object to be scanned and the detectors on the opposite side. The radiography is produced by measuring the radiation transmitted through the object and impinging on the detectors. The projection of the beam unto the object expands from narrow at the source to wide at the detectors. The radiation is collimated to just cover the detectors to reduce the measured scattered radiation and the dose footprint.

Typically, high-energy x-ray scanners use pulsed x-ray sources. The maximum pulsing frequency of commercially available linacs (<NUM>) range from <NUM> to <NUM>. Most sources are dual-energy to enable atomic-number discrimination.

To scan an object, for example a truck, there is a relative motion between the source-detectors and the truck. In portal or train scanner applications, the cargo moves while the source and detectors are fixed.

Unlike continuous sources, pulsed sources produce a snapshot of the collimated radiation impinging on the object and transmitted to the detectors.

In some examples, the relative speed may vary from a nominal scanning speed, for example for a truck driven through a portal x-ray scanner or railcars through a train scanner. If the relative speed is too high compared to the nominal scanning speed, parts of the object may not be irradiated. If the relative speed is too low compared to the nominal scanning speed, parts of the object may be irradiated multiple times, and the dose to cargo and to environment may increase. Due to the divergence of the beam, lack of proper irradiation coverage may be greater near the source, and overlap may be greater near the detectors.

Some inspection systems use an external speed sensor to determine the relative speed. <CIT> discloses a high-speed inspection system. <CIT> discloses an inspection system.

Aspects and embodiments of the invention are set out in the appended claims. These and other aspects and embodiments of the invention are also described herein.

Embodiments of the present disclosure will now be described, by way of example, with reference to the accompanying drawings, in which:.

In the figures, similar elements bear identical numerical references.

<FIG> schematically represents a flow chart illustrating an example method <NUM> according to the disclosure. <FIG> schematically represents an example inspection system <NUM> for inspecting cargo <NUM> according to the disclosure.

In the example of <FIG>, the inspection system <NUM> comprises a radiation source <NUM> configured to emit a plurality N of successive pulses <NUM> irradiating the cargo <NUM> at a frequency f. The inspection system <NUM> also comprises a matrix detector <NUM> comprising a first column p<NUM> of detectors and at least one second column p<NUM> of detectors.

Inspection of the cargo <NUM> by the inspection system <NUM> involves scanning the cargo <NUM>. As illustrated in <FIG>, the scanning comprises displacing the cargo <NUM> and the system <NUM> with a relative scanning displacement along a scanning direction (OX). For clarity, in the example of <FIG>, the cargo <NUM> is shown static with respect to the ground and the system <NUM> is shown as moving to the right of the figure along the direction (OX), for three pulses <NUM> (referred to as pulses <NUM>, <NUM> and <NUM>). It should be understood that the system <NUM> may be static with respect to the ground and the cargo <NUM> may move to the left of the figure along the direction (OX) during the scan.

The matrix detector <NUM> is also schematically represented in <FIG>. In the examples of <FIG>, the matrix detector <NUM> has a total width W in the scanning direction (OX) and comprises ten columns p<NUM>, p<NUM>,. , pm with m=<NUM> extending perpendicular to the scanning direction (OX), i.e. along direction (OY). Other values of m may be envisaged, and it should be understood that the developments of the disclosure would also apply to a matrix detector comprising two columns of detectors only (i.e. m=<NUM>), or any number of columns m such that m><NUM>. If w is a width of each column pi (i=<NUM>. m), W the total width of the matrix detector <NUM> is such that: <MAT>.

Due to the relative movement between the cargo <NUM> and the inspection system <NUM> during inspection, as shown in <FIG>, the system <NUM> travels a distance λ along the scanning direction (OX) between two pulses <NUM> emitted by the radiation source <NUM>. In some cases, i.e. for a specific frequency corresponding to a given relative speed, the travelled distance may be a distance λmax such that: <MAT>.

In <FIG>, the distance λmax between two pulses (i.e. a time period in pulses) may correspond to a desired case where the specific frequency of the radiation source <NUM> and the given relative speed are such that all of the parts of the cargo <NUM> are irradiated by the pulses <NUM>, <NUM> and <NUM>, and such that the parts of the cargo which are irradiated multiple times (i.e. because of the overlap of the pulses <NUM>, <NUM> and <NUM> - see hashed areas in <FIG>) are substantially minimised, e.g. preferably substantially minimised to parts near the matrix detector <NUM>. The distance λmax by which the system <NUM> travels between two pulses (i.e. a time period in pulses) may be associated with a pace δmin (in number of pulses per column) corresponding to a number of pulses <NUM> for the system <NUM> to travel by a distance λ'max (in number of columns), such that: <MAT> with <MAT>.

The pace δmin has dimensions of pulses per column, i.e. a period of time per a distance (i.e. inverse of a speed).

The distance λmax and the pace δmin of <FIG> are examples only and other examples of distances λ and paces δ are envisaged.

Referring back to <FIG>, the method <NUM> comprises obtaining, at S1, data associated with a scanning of at least one part <NUM> of the cargo <NUM> with a current frequency fn and determining, at S2, a pace δ, at a predetermined instant t. The step S2 will be described in more detail further down in the disclosure.

In some examples, the function F(X) may be equal to X and the updated frequency fn+<NUM> may be such that: <MAT>.

In some examples, δ<NUM> may be δmin described above.

Referring back to <FIG>, the method <NUM> comprise outputting, at S5, data to cause the scanning to be performed with the updated frequency being the current frequency. The output data may comprise command data to trigger the radiation source <NUM> at the updated frequency.

<FIG> schematically represents a flow chart illustrating an example method S2 for determining the pace δ at the predetermined instant t.

In <FIG>, determining at S2 the pace δ at the predetermined instant t, comprises:.

Several ways of determining at S24 the pace δ are described in greater detail later in the disclosure.

Before describing the determining of the pace δ performed at S24, examples of pace δ are explained below.

The pace δ determined at S2 is associated with a number of pulses (the number not being necessary an integer) which is needed for the at least one part of the cargo <NUM> to apparently pass from one column pk of the matrix detector <NUM> to the next column pk+<NUM> in the matrix detector <NUM>. As illustrated in <FIG>, an apparent displacement (in number of pulses) in the scanning direction Δ between the image of column pk and another column pl is such that: <MAT> with l being equal to <NUM> and k being equal to <NUM> in the example of <FIG>.

The pace δ is explained in greater detail with reference to <FIG>.

<FIG> schematically represent a relative movement of five objects of the cargo <NUM> with respect to the matrix detector <NUM> comprising five columns p<NUM>, p<NUM>, p<NUM>, p<NUM> and p<NUM>, for six pulses t<NUM>, t<NUM>, t<NUM>, t<NUM>, t<NUM>, and t<NUM> (corresponding to selecting q=<NUM> at S21). Other values of q≥<NUM> may be envisaged. In some examples, the selected number q may be such that: <MAT>.

<FIG> schematically represent the measurements corresponding to <FIG>, respectively, on the matrix detector <NUM>. In <FIG> solid objects in a column show that the corresponding objects are totally contained in the column, and hashed objects show that the corresponding objects overlap two columns. The hashed objects correspond to the situation where the objects appear on the two columns but with a lower contrast - for example on pulse t<NUM> the triangular object being between column p<NUM> and p<NUM> will generate a signal on column p<NUM> and p<NUM>.

<FIG> schematically represent the images for each column of the matrix detector, for the six pulses of <FIG> (i.e. q=<NUM>). It will be appreciated that the image generated by column p<NUM> is the same image as the image generated by column p<NUM> with a time shift of two pulses (e.g. t<NUM>-t<NUM>). Similarly, the image generated by column p<NUM> is also the same image as the image of column p<NUM> with a time shift of two pulses (e.g. t<NUM>-t<NUM>). δ is therefore of two pulses (t<NUM>-t<NUM> or t<NUM>-t<NUM>) for three columns (p<NUM>-p<NUM> or p<NUM>-p<NUM>), and δ is such that: <MAT>.

As explained in greater detail below, the determined pace δ may be compared with a predetermined pace δ<NUM>.

If δ is smaller than δ<NUM> (for example it takes δ = two pulses for the image to apparently travel one column instead of δ<NUM> = <NUM> pulses) the frequency of the radiation source is too low for the relative speed of the scan and needs to be increased. If δ is greater than δ<NUM> (for example it takes δ = seven pulses for the image to apparently travel one column instead of δ<NUM> = <NUM> pulses) the frequency of the radiation source is too high for the relative speed of the scan and needs to be decreased.

In the example above δ<NUM> may be equal to <NUM>, but other values are envisaged. In some examples, the predetermined pace δ<NUM> may be such that: <MAT>.

The inequalities above will now be explained in more detail.

In the inequalities above, the ratio L/d takes into account the respective depth locations of the cargo and the matrix detector with respect to the radiation source. For simplicity, let the ratio L/d be equal to <NUM> (i.e. the cargo is located at the level of the matrix detector). When δ is smaller than <NUM>/m, it means that an object in the cargo has moved by more than m columns in one pulse. Therefore an object in the cargo can only be seen once and only on one single image (among the m images generated by the columns), which makes any estimation of δ impossible.

When δ is greater than q, in q pulses an object of the cargo will not have enough time to pass from one column of the matrix detector to the following column of the matrix detector. Therefore the object of the cargo will only appear on one image generated by the column, which also makes any estimation of δ impossible. Therefore if δ<NUM> is greater than q, the selected number q must be increased.

In some examples, the first scanning of the at least one part <NUM> of the cargo is performed with a current frequency fn corresponding to a nominal maximum frequency f<NUM> of the radiation source. The nominal maximum frequency f<NUM> may be such that: <MAT>.

The update at S4 does not need to be done for each pulse, because the interval between two pulses is of the order of a few milliseconds, which is too short for a truck or a train to change its speed significantly. The predetermined instant t at which the pace δ is determined may be chosen at intervals ranging from intervals of <NUM> to intervals of <NUM>.

The determination of the pace δ performed at S24 will now be described in greater detail. In some examples, determining at S24 the pace δ may comprise :.

In cases where determining at S24 the pace δ comprises using an image cross correlation technique, the image cross correlation technique may be performed on a pair of generated images. In some examples, the pair of generated images may comprise the first image of the cargo for the first column p<NUM> of the matrix detector <NUM>, and a second image of the cargo for a last column pm of the matrix detector.

Cross-correlation of images is known to the man skilled in the art for determining a displacement field in a sequence of images. An example of a cross-correlation technique will now be briefly described.

A Fourier transform may be used to find the displacement vector between the images, locally. If Ip<NUM> and Ipm are two images corresponding to columns p<NUM> and pm, Fp<NUM> and Fpm are the 2D Fourier transforms.

A normalized cross power spectrum R may be calculated such that: <MAT> with ° is the entry-wise product and * is the complex conjugate.

If Ip<NUM> and Ipm are the same image shifted in the scanning direction (OX) by a time shift (δt), the cross power spectrum is: <MAT>.

In order to get the cross-correlation, the inverse Fourier transform of the cross power spectrum, which is now a Dirac delta function localized in (δt), may be determined. Finding (δt) may require calculation of R, and the maximum of the Fourier transform of R may be localized.

For determining a displacement field, the above method may be applied for each pixel (x,y) on a small square window (n x n pixels) centered on the pixel, and the result may be considered as the local displacement (δt(x,y)).

The obtained time shift δt is divided by (pm-p<NUM>) to get the pace δ.

In some cases, determining at S24 the pace δ comprises using an energy minimization technique, and energy minimization techniques are also known to the man skilled in the art. An example of an energy minimization technique will now be briefly described.

The energy minimization technique may be performed to minimize an energy function E(δ) such that: <MAT>.

Referring back to <FIG>, S3 comprises determining whether the determined pace δ is reliable. In some cases, especially when the m images generated using the q pulses do not exhibit a large horizontal gradient (e.g. for local homogeneous content for example), the determined pace δ may not be reliable.

In some examples, determining at S3 whether the pace δ is reliable may comprise comparing a criterion C to a predetermined criterion threshold Cmin such that: <MAT> with (Ik(i, j + <NUM>) - Ik(i, j)) a horizontal gradient in image Ik between columns j and (j+<NUM>).

S3 may also comprise determining that the pace δ is reliable when C is such that: <MAT>.

The value Cmin may be determined experimentally.

In cases where an energy minimization technique is used to determine the pace δ at S24, determining at S3 whether the pace δ is reliable may be performed using the energy function E and may comprise the steps of comparing the difference |Emin - E(<NUM>)| to a predetermined energy threshold Ethreshold.

Emin is the value of the energy E at the minimum such that E(δ)=Emin, and E(<NUM>) is an initial value of the energy corresponding to no pace.

S3 may also comprise determining that the pace δ is reliable when |Emin - E(<NUM>)| is such that: <MAT>.

The value Ethreshold may be determined experimentally.

Referring back to <FIG>, if it is determined at S3 that the pace δ is not reliable, the method <NUM> comprises, maintaining at S6 the frequency of the radiation source at the current frequency fn. The frequency is not updated.

In some cases, the radiation source <NUM> may be configured to emit the pulses at a lower energy mode and a higher energy mode, e.g. to enable atomic-number discrimination.

In such cases, determining the pace δ at S2 may comprise:.

Alternatively or additionally, determining the pace δ at S2 may comprise:.

In some examples, converting the further obtained data associated with the lower energy mode into data corresponding to the higher energy mode may comprise generating a histogram showing occurrences, in the inspection data, of pixels (i) with a given intensity associated with the higher energy mode data and (ii) with a given intensity associated with the lower energy mode data. The generated histogram may be used to associate each given intensity associated with the lower energy mode data to a corresponding most frequent intensity associated with the higher energy mode data. A transformation table mapping the associated intensities may be generated. The transformation table may be used to determine a transformed intensity corresponding to the higher energy mode data by transforming an intensity associated with the lower energy mode data.

An example of such method is also disclosed in <CIT>, incorporated herein in its entirety.

In cases comprising a lower energy mode and a higher energy mode, determining at S2 the pace δ may comprise generating the first image and the at least one second image using the 2q successive pulses emitted prior to the predetermined instant t. Alternatively or additionally, determining at S2 the pace δ may be performed at a periodicity which is halved compared to a periodicity in cases where the radiation source is configured to emit the pulses at a single energy mode.

As explained below, in some examples the determination of the pace δ may be performed by averaging, to obtain a smooth estimation.

In some examples determining at S2 the pace δ may be performed in several steps using a plurality K of instants prior to the predetermined instant t, and may comprise:.

The pace δ at the predetermined instant t may thus be determined by averaging the plurality of stored paces δ.

In some cases, the q pulses of an instant t may be overlapping the q pulses of an instant t-<NUM>.

In cases where the q pulses of an instant t are not overlapping the q pulses of an instant t-<NUM>, in order to limit the time between two frequency update the plurality K of instants may be such that: <MAT>.

In some examples the method <NUM> may further comprise performing the scanning of the cargo. The method may be performed while the cargo is in a predetermined scanning zone.

<FIG> illustrates a controller <NUM> configured to perform, at least partly, a method <NUM> according to any aspects of the disclosure. The controller <NUM> is configured to cooperate with the inspection system <NUM> of any aspects of the disclosure.

In <FIG> the cargo <NUM> to be inspected is located in a container <NUM>. The inspection system <NUM> of <FIG> may be configured to generate the inspection data according to any aspects of the disclosure.

The controller <NUM> may be configured to receive the inspection data, for example over a communication network <NUM> which may be wired and/or may be wireless.

As explained in greater detail below, the controller <NUM> conventionally comprises at least a processor and a memory in order to carry out an example method according to the disclosure.

As illustrated in <FIG>, the controller <NUM> may comprise an interface board <NUM> configured to cooperate with the radiation source <NUM> and/or front end electronics of the matrix detector <NUM>. The controller <NUM> may also comprise a processor <NUM> configured to pre-process the data associated with the scanning and/or generate the first image and the at least one second image of the present disclosure.

In some examples, the interface board <NUM> may be configured to, for each pulse of the plurality N of successive pulses:.

The frequency value may be sent by the processor <NUM> to the interface board <NUM> before the next acquisition of data by the front end electronics of the matrix detector <NUM>.

Alternatively or additionally, the controller <NUM> further comprises a memory <NUM> storing instructions which, when executed by the processor <NUM>, enable the processor to perform the method according to any aspects of the disclosure.

Alternatively or additionally the processor <NUM> may further be configured to determine the pace δ and the frequency update in real-time or near real-time (in parallel with doing the pre-processing) and to transfer the frequency update to the interface board <NUM>.

In some examples (not shown in the Figures) the processor may be remote from the interface board. In such cases, the interface board may be further configured to transfer data to the processor via an Ethernet-based communication link. This architecture may be used when the relative speed of the cargo does not change too fast (e.g. when the cargo is on a train for example).

In some examples (not shown in the Figures) the processor may comprise an on-board processor located on the interface board. In such cases the on-board processor may comprise a field-programmable gate array, FPGA. The on-board processor may be configured to calculate directly the frequency update. The update of the frequency may be performed through the triggers to the radiation source without communication lag. The processor may have enough memory to store temporarily the required data. This architecture may be used when the relative speed of the cargo may change rapidly.

In the example illustrated by <FIG>, a communication server <NUM> may be configured to communicate, via a communication network <NUM> which may be wired and/or may be wireless, with the system <NUM> and/or the controller <NUM>. In some examples, the communication server <NUM> may be configured to perform functions of a remote data management system. In some examples the server <NUM> may comprise a database. The database may be configured to store the inspection data and/or the further data of any aspects of the disclosure.

Similarly the controller <NUM> may be configured to store the inspection data and/or the further data of any aspects of the disclosure.

It is understood that the inspection radiation source may comprise sources of other radiation, such as, as non-limiting examples, sources of ionizing radiation, for example gamma rays or neutrons.

As one possibility, there is provided a computer program, computer program product, or computer readable medium, comprising computer program instructions to cause a programmable computer to carry out any one or more of the methods described herein. In example implementations, at least some portions of the activities related to the controller <NUM> herein may be implemented in software. It is appreciated that software components of the present disclosure may, if desired, be implemented in ROM (read only memory) form. The software components may, generally, be implemented in hardware, if desired, using conventional techniques.

In some examples, components of the controller <NUM> and/or the communications networks <NUM> and/or <NUM> may use specialized applications and hardware.

As will be apparent to the skilled in the art, the server <NUM> and/or the controller <NUM> should not be understood as a single entity, but rather refers to a physical and/or virtual device comprising at least a processor and a memory, the memory may be comprised in one or more servers which can be located in a single location or can be remote from each other to form a distributed network (such as "server farms", e.g., using wired or wireless technology).

In some examples, one or more memory elements (e.g., the database and/or the memory of the processor) can store data used for the operations described herein. This includes the memory element being able to store software, logic, code, or processor instructions that are executed to carry out the activities described in the disclosure.

A processor can execute any type of instructions associated with the data to achieve the operations detailed herein in the disclosure. In one example, the processor could transform an element or an article (e.g., data) from one state or thing to another state or thing. In another example, the activities outlined herein may be implemented with fixed logic or programmable logic (e.g., software/computer instructions executed by a processor) and the elements identified herein could be some type of a programmable processor, programmable digital logic (e.g., a field programmable gate array (FPGA), an erasable programmable read only memory (EPROM), an electrically erasable programmable read only memory (EEPROM)), an ASIC that includes digital logic, software, code, electronic instructions, flash memory, optical disks, CD-ROMs, DVD ROMs, magnetic or optical cards, other types of machine-readable mediums suitable for storing electronic instructions, or any suitable combination thereof.

The communications network <NUM> and the communications network <NUM> may form only one network. The data received by the controller <NUM> may be typically received over a range of possible communications networks <NUM> and/or <NUM> at least such as: a satellite based communications network; a cable based communications network; a telephony based communications network; a mobile-telephony based communications network; an Internet Protocol (IP) communications network; and/or a computer based communications network.

In some examples, the communications networks <NUM> and/or <NUM> and/or the controller <NUM> may comprise one or more networks. Networks may be provisioned in any form including, but not limited to, local area networks (LANs), wireless local area networks (WLANs), virtual local area networks (VLANs), metropolitan area networks (MANs), wide area networks (WANs), virtual private networks (VPNs), Intranet, Extranet, any other appropriate architecture or system, or any combination thereof that facilitates communications in a network.

The inspection system <NUM> may be mobile and may be transported from a location to another location (the system may comprise an automotive vehicle). Alternatively or additionally, the inspection system may be static with respect to the ground and cannot be displaced.

The inspection radiation source may comprise an X-ray generator. The energy of the X-rays may be comprised between 100keV and 15MeV, and the dose may be comprised between 2mGy and 20Gy (Gray). For a mobile inspection system, the power of the X-ray source may be e.g., between 100keV and <NUM>. 0MeV, typically e.g., 2MeV, <NUM>. 5MeV, 4MeV, or 6MeV, for a steel penetration capacity e.g., between <NUM> to <NUM>, typically e.g., <NUM> (12in). For a mobile inspection system, the dose may be e.g., between 20mGy and 120mGy. For a static inspection system, the power of the X-ray source may be e.g., between 4MeV and 10MeV, typically e.g., 9MeV, for a steel penetration capacity e.g., between <NUM> to <NUM>, typically e.g., <NUM> (<NUM>. For a static inspection system, the dose may be 17Gy.

The detectors may comprise, amongst other conventional electrical elements, radiation detection lines, such as X-ray detection lines. The detectors may further comprise other types of detectors, such as optional gamma and/or neutrons detectors, e.g., adapted to detect the presence of radioactive gamma and/or neutrons emitting materials within the container, e.g., simultaneously to the X-ray inspection. For a mobile inspection system, the detectors may also comprise an electro-hydraulic boom which can operate in a retracted position in a transport mode and in an inspection position. The boom may be operated by hydraulic activators (such as hydraulic cylinders). For a static inspection system, the detectors may also comprise a structure and/or gantry. The detection lines may be mounted on the boom or structure and/or gantry, facing the source on the other side of the container.

In order to inspect the container, the system may comprise a motion generation device so that the system may be displaced, the container being static (this mode is sometimes referred to as a 'scanning' mode). Alternatively or additionally, the motion generation device may cause the container to be displaced, the system being static with respect to the ground. In some embodiments, the throughput, i.e. the number of containers and/or images by unit of time, may be of <NUM> to <NUM> images/hour. Alternatively or additionally, in a 'pass-through' mode the system does not comprise a motion generation device and the container moves with respect to the system, the system being static with respect to the ground. In embodiments, the throughput in the pass-through mode may be higher than the throughput in the scanning mode, and may be for example of <NUM> to <NUM> images/hour, or even of <NUM> to a few thousands images/hour in the case of an inspection of a passing train (for example a throughput of more than <NUM> images/hour).

Claim 1:
A method for processing data associated with inspection of cargo with an inspection system,
the inspection system comprising:
a radiation source configured to emit a plurality N of successive pulses irradiating the cargo at a frequency, and
a matrix detector comprising a first column p<NUM> of detectors and at least one second column p<NUM> of detectors,
characterized in said method comprising:
obtaining data associated with a scanning of at least one part of the cargo with a current frequency fn, wherein the scanning comprises displacing the cargo and the system with a relative scanning displacement;
determining a pace δ, at a predetermined instant t, comprising:
selecting a number q,
generating, using the obtained data, a first image of the cargo for the first column p<NUM> of the matrix detector using the q successive pulses emitted prior to the predetermined instant t,
generating, using the obtained data, at least one second image of the cargo for the at least one second column p<NUM> of the matrix detector using the q successive pulses emitted prior to the predetermined instant t, and
determining, at the predetermined instant t, the pace δ using the first image of the cargo, the at least one second image of the cargo, and a number (p<NUM>-p<NUM>) corresponding to the number of columns between the first column p<NUM> and the at least one second column p<NUM>;
determining whether the determined pace δ is reliable;
if it is determined that the pace δ is reliable, updating the current frequency fn to an updated frequency fn+<NUM>, such that: <MAT>
where F(X) is an increasing function of X such that F(<NUM>)=<NUM>, and
δ<NUM> is a predetermined pace; and
outputting data configured to cause the scanning to be performed with the updated frequency being the current frequency.