X-ray imaging device with reconfigurable image processing module
The integration of a reconfigurable image processing module in X-ray imaging devices allows OEMs to perform proprietary operations within the device, addressing security and cost concerns by reducing reliance on external computers and maintaining control over image processing.
Patent Information
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- VAREX IMAGING CORP
- Filing Date
- 2024-05-17
- Publication Date
- 2026-05-21
AI Technical Summary
Existing X-ray imaging devices require OEMs to disclose proprietary image processing operations to the manufacturer, leading to potential security risks and increased costs due to reliance on external multipurpose computers for computational operations.
Incorporation of a reconfigurable image processing module within the X-ray imaging device using programmable logic devices, allowing OEMs to perform proprietary operations within the device without disclosing details, reducing costs and maintaining control over image processing.
Enables cost-effective and robust image processing within the X-ray imaging device, reducing reliance on external computers, maintaining OEM control, and minimizing maintenance and software update risks.
Smart Images

Figure 2026516300000001_ABST
Abstract
Description
Background Art
[0001] [Cross - reference to Related Applications] This application claims priority to U.S. Patent Application No. 18 / 320,965, filed May 19, 2023, titled "X - RAY IMAGING DEVICE WITH A RECONFIGURABLE IMAGE PROCESSING MODULE", which is hereby incorporated by reference in its entirety.
[0002] An X - ray imaging device may be used to generate an image or video in response to incident X - rays. Various forms of image processing may be performed on the digitized data generated in response to a sensor array. Original equipment manufacturers (OEMs) of end - user products that use X - ray imaging devices may perform custom image processing on the output of the X - ray imaging device.
Brief Description of the Drawings
[0003] [Figure 1] A block diagram of an X - ray imaging device having a programmable logic device (PLD) including a reconfigurable image processing module, according to some embodiments.
[0004] [Figure 2] Figures 2A and 2B are block diagrams of the X - ray imaging device of FIG. 1 having reconfigurable image processing modules of different configurations, according to some embodiments.
[0005] [Figure 3] A block diagram of an X - ray imaging device having a programmable logic device including a reconfigurable image processing module and a header module, according to some embodiments.
[0006] [Figure 4] This is a block diagram of an X-ray imaging device having examples of a programmable logic device including a reconfigurable image processing module and a header module, and a sensor, according to several embodiments.
[0007] [Figure 5] This is a block diagram of an X-ray imaging device having a system-on-chip (SoC) including a programmable logic device including a reconfigurable image processing module, according to several embodiments.
[0008] [Figure 6] This is a block diagram of an X-ray imaging device having a system-on-chip including a programmable logic device including a reconfigurable image processing module, and random access memory, according to several embodiments.
[0009] [Figure 7] This is a block diagram of an X-ray imaging device having a programmable logic device including one or more reconfigurable image processing modules, according to several embodiments.
[0010] [Figure 8] This is a flowchart of a technique for operating an X-ray imaging device having a programmable logic device including a reconfigurable image processing module, according to several embodiments.
[0011] [Figure 9] This is a block diagram of an X-ray imaging system according to several embodiments. [Modes for carrying out the invention]
[0012] Some embodiments include an X-ray imaging device having a programmable logic device (PLD) that includes a reconfigurable image processing module. Original equipment manufacturers (OEMs) may develop their own proprietary image processing operations. These operations may be executed on a computer after receiving image data from the X-ray imaging device. These operations may be moved within the X-ray imaging device. However, the OEM must disclose its proprietary operations to the manufacturer of the X-ray imaging device. Such sharing may be undesirable for the OEM.
[0013] As will be described in more detail below, in some embodiments, the X-ray imaging device may be configured to use a reconfigurable image processing module. The reconfigurable image processing module may be reconfigured using dynamic configuration data from the OEM related to its own image processing operations. Thus, the X-ray imaging device may perform its own image processing operations. Performing the own image processing operations on a programmable logic device may provide a more cost-effective and / or more robust overall system design than using an external multipurpose computer (e.g., a host system) for the X-ray imaging device, as it is possible to perform computational operations on dedicated hardware and software for image processing within the X-ray imaging device. Requirements for computational bandwidth (e.g., processing power, memory bandwidth, etc.) can be very important for computer systems that need to run real-time image processing algorithms. The embodiments described herein may have considerable built-in processing power. The image processing steps may be transferred from a dedicated computer to the X-ray detector with little or no additional cost to the OEM. This may allow the OEM to reduce costs by reducing the requirement for a multipurpose computer, or by eliminating the need for a multipurpose computer altogether. Furthermore, it can reduce or avoid the current maintenance costs and software update risks inherent in multipurpose computers.
[0014] Furthermore, by using programmable logic devices, some proprietary image processing operations may be executed before the standard image processing operations provided by the X-ray imaging device, thereby giving the OEM greater control over the image processing operations and the order in which they are performed. In addition, the integration of image processing operations is moved to the X-ray imaging device, which can reduce the workload for the OEM. In some embodiments, dynamic configuration data may be encrypted so that the internal operation of the reconfigurable image processing module is not required to be disclosed to the manufacturer of the X-ray imaging device or the designer of the embedded software.
[0015] Figure 1 is a block diagram of an X-ray imaging device having a programmable logic device including a reconfigurable image processing module, according to several embodiments. Figures 2A and 2B are block diagrams of the X-ray imaging device of Figure 1, having a reconfigurable image processing module with different configurations, according to several embodiments. Referring to Figures 1 to 2B, in some embodiments, the X-ray imaging device 100 includes a sensor array 102, a programmable logic device (PLD) 104, a processor 126, and memory 114.
[0016] The sensor array 102 may be configured to convert incident X-rays into electrical signals. The sensor array 102 includes an array of pixels or sensors configured to convert X-rays, light, or other photons into electrical signals such as charge or voltage. A scintillator, direct conversion material, or other X-ray conversion material may be part of the sensor array 102 and may be configured to convert incident X-rays into photons, which the sensor may convert into electrical signals. For example, the scintillator may include various materials configured to convert X-ray photons into photons detectable by the sensor, such as cesium iodide (CsI), cadmium tungstate (CdWO4), polyvinyltoluene (PVT), gadolinium oxysulfide (Gd2O2S;GOS;Gadox), terbium-doped gadolinium oxysulfide (Gd2O2S:Tb), or the like. Examples of direct conversion materials include cadmium telluride (CdTe), zinc cadmium telluride (CdZnTe or CZT), mercury iodide (HgI), lead iodide (PbI), selenium, or similar materials.
[0017] The programmable logic device 104 may include devices such as a field-programmable gate array (FPGA), programmable array logic (PAL), multiprocessor system on chip (MPSoC), or similar devices. The programmable logic device 104 may include any device whose hardware can be reconfigured by applying different configuration data.
[0018] Memory 114 may include, but is not limited to, any suitable non-temporary, persistent, and / or NV storage resources, including dynamic random access memory (DRAM), double data rate synchronous dynamic random access memory (DDR SDRAM) in various standards such as DDR, DDR2, DDR3, and DDR4, static random access memory (SRAM), non-volatile (NV) memory, non-temporary storage devices, persistent storage devices, internal storage devices, external storage devices, remote storage devices, network-attached storage (NAS) resources, magnetic disk drives, hard disk drives (HDDs), solid-state storage devices (SSDs), flash memory devices, and / or similar.
[0019] Memory 114 is configured to store static configuration data 116. The static configuration data includes data that, when used to configure the programmable logic device 104, configures the programmable logic device 104 to include at least a static image processing module 108 and a reconfigurable image processing module 110 (labeled as a dynamic image processing module). The static image processing module 108 and the reconfigurable image processing module 110 are part of an image processing pipeline extending from the array interface 106 to the communication interface 112, configured to receive electrical signals and output images. The reconfigurable image processing module 110 may also be called reconfigurable logic. The static image processing module 108 may also be called static logic.
[0020] The array interface 106 of the programmable logic device 104 includes an input configured to receive image data generated in response to the sensor array 102, and optionally an output. For example, the image data received by the array interface 106 may be a stream of data representing a frame, multiple frames, video, or the like, generated in response to the sensor array 102. The circuit 103 may be disposed between the sensor array 102 and the array interface. The circuit 103 may be configured to perform various preprocessing operations for preparing the image data in a format required by the programmable logic device 104, such as digitization of analog data, serialization of digitized data, or the like. The circuit 103 may include an application specific integrated circuit (ASIC), an analog to digital converter (ADC), or the like.
[0021] The processor 126 may include a general purpose processor, a digital signal processor (DSP), an application specific integrated circuit (ASIC), a microcontroller, a programmable logic device (e.g., a field programmable gate array (FPGA)), discrete circuits, a combination of such devices, or the like. The processor 126 may include an external interface, such as an address and data bus interface, an interrupt interface, or the like. The processor 126 may include other interface devices for connecting the processor 126 to internal and external components, the programmable logic device 104, the memory 114, or the like, such as a logic chip set, a hub, a memory controller, a communication interface, or the like.
[0022] The communication interface 112 may include any communication interface, such as WiFi, Ethernet®, CoaXPress (CXP) Zigbee®, infrared, Z-wave®, Bluetooth®, near-field communications (NFC), or similar. The communication interface 112 represents both the programmable logic device 104 and other components of the X-ray imaging device 100 that enable the X-ray imaging device 100 to communicate processed image data.
[0023] The processor 126 may be configured to apply static configuration data 116 to the programmable logic device 104. When configured with static configuration data 116, the programmable logic device 104 consists of a static image processing module 108 and a reconfigurable image processing module 110. The static image processing module 108 and the reconfigurable image processing module 110 are part of an image processing pipeline configured to receive electrical signals through an array interface 106 and output images through a communication interface 112.
[0024] FIG. 2A shows the state of the programmable logic device 104 when the programmable logic device 104 is configured with static configuration data 116. The static configuration data 116 may include data for configuring the entire programmable logic device 104. For example, the static configuration data 116 may be stored as a complete binary file (e.g., a bit file) for configuring the static image processing module 108 and the reconfigurable image processing module 110 of the programmable logic device 104. In particular, the configuration of the reconfigurable image processing module 110 based on the static configuration data 116 includes a pass-through image processing module 110a as the reconfigurable image processing module 110. The reconfigurable image processing module 110 configured by the static configuration data 116 as the pass-through image processing module 110a may be configured to receive image data and output the image data without modification. The effect of the pass-through image processing module 110a may only delay the image data due to the internal processing time for conforming to the input and output protocols.
[0025] Figure 2B shows the state of the programmable logic device 104 when it is composed of static configuration data 116 and dynamic configuration data 118. The dynamic configuration data 118 may include data for reconfiguring less than all of the programmable logic device 104, such as reconfiguring only one or more reconfigurable image processing modules 110. For example, the dynamic configuration data 118 may be stored as a partial binary file (e.g., a bit file) for configuring at least one reconfigurable image processing module 110 of the programmable logic device 104. The partial binary file of the dynamic configuration data 118 may have a smaller file size than the complete binary file of the static configuration data 116. The existence of a complete binary file and a partial binary file for configuring the programmable logic device 104 may indicate the existence of the dynamic configuration data 118 or that the reconfigurable image processing module 110 is being used. In another embodiment, the application, configuration, or programming of the programmable logic device 104 using a partial binary file may indicate that the reconfigurable image processing module 110 is being used. The dynamic configuration data includes data that can be used to configure the reconfigurable image processing module 110 so that it operates as an updated image processing module 110b. The updated image processing module 110b may be configured to process image data in a manner different from passing the data through as a pass-through image processing module 110a.
[0026] In some embodiments, the X-ray imaging device 100 is coupled to a host system 101, such as a computer. The X-ray imaging device 100 may be configured to communicate with the host system 101 through a communication interface 112. In particular, the X-ray imaging device 100 may be configured to transmit processed image data to the host system 101.
[0027] In some embodiments, the static image processing module 108 may be configured to perform various operations specific to the sensor array 102 and the X-ray imaging device 100. For example, the static image processing module 108 may be configured to perform at least one of the following on image data based on the sensor array 102: offset correction, gain correction, scattering correction, grid suppression, defective pixel correction, or similar. Offset correction may include subtracting a pixel-by-pixel offset level that is frame rate and / or temperature-dependent to deliver an image with zero or a fixed average value when no X-ray dose is delivered. Gain correction may include correcting for variations in sensitivity between pixels of the detector to produce a uniform image for an unattenuated X-ray beam. Scattered X-ray photons can negatively impact image quality by reducing image contrast and leading to different image artifacts. Scatter correction reduces image artifacts and improves contrast by estimating and correcting the contribution of scattered X-rays to the image. Hardware grids can introduce fixed pattern artifacts into the image. Grid suppression may reduce or eliminate these fixed patterns. Defective pixel correction may include replacing invalid pixel information in the image caused by a defective pixel with an interpolated value calculated using the valid neighbors of the defective pixel. While several image processing operations are used as examples, in other embodiments the image processing operations may include other operations.
[0028] In some embodiments, the array interface 106, static image processing module 108, and reconfigurable image processing module 110 within the programmable logic device 104 may be configured to communicate using a standard interface. For example, communication within the programmable logic device 104 may use an Advanced eXtensible Interface (AXI). However, in other embodiments, internal communication may be performed according to another standard interface, a proprietary interface, or similar.
[0029] The reconfigurable image processing module 110 presents the same input and output interfaces when configured as a pass-through image processing module 110a in a pass-through configuration, or as an updated image processing module 110b with dynamic configuration data 118. Therefore, other components of the image pipeline may remain the same. In particular, other components defined by static configuration data 116 do not need to be reconfigurable, and any other module may be required to operate in the same manner with respect to data input and output, even if the reconfigurable image processing module 110 is configured not to operate in a pass-through configuration.
[0030] In some embodiments, the OEM may be provided with a framework for generating dynamic configuration data 118. The interface may be defined so that the OEM recognizes the required inputs and outputs. Furthermore, the OEM may be provided with the format of the content provided as input. For example, as will be described in more detail below, the content transferred between the static image processing module 108 and the reconfigurable image processing module 110 may include a header along with image data formatted in a particular manner. Using this information, the OEM may generate dynamic configuration data 118 to serve as a drop-in replacement for the pass-through image processing module 110a.
[0031] In some embodiments, the manufacturer of the X-ray imaging device 100 does not need to be aware of the content of the dynamic configuration data 118 or the functions provided by the reconfigurable image processing module 110, if the programmable logic device 104 is configured with dynamic configuration data 118. For example, an OEM may have its own proprietary image processing operation. The OEM may define its proprietary image processing operation in the dynamic configuration data 118. The dynamic configuration data 118 may be encrypted so that the operation cannot be revealed even if the dynamic configuration data 118 is examined. The OEM no longer needs to disclose the desired operation to the manufacturer of the X-ray imaging device 100, and the desired operation may be implemented here within the reconfigurable image processing module 110. For example, the OEM may have a desired finite impulse response (FIR) filter intended to filter image data. Previously, the OEM had to provide the manufacturer with details of the FIR filter, such as coefficients, configuration, or similar, so that the manufacturer could implement the FIR filter. Using the embodiments described herein, the OEM may define the dynamic configuration data 118 independently and provide it to the manufacturer without disclosing the details of the FIR filter. Furthermore, the filter design may be generated by the OEM rather than the manufacturer. The design does not need to be integrated with the rest of the static configuration data 116. In another example, the OEM may have unique information relating to a grid, shape, or similar that may be unique to the OEM's system. The OEM's proprietary image processing operations may include grid suppression specific to the OEM's unique grid to reduce or eliminate artifacts or patterns caused by the OEM's grid. In another example, particularly if the OEM's system does not use a grid, the OEM may have specific scattering correction operations tailored to their specific application and / or shape. In another example, the OEM's proprietary image processing may include denoising to improve low-dose images.The trade-off between noise reduction and its impact on spatial or temporal resolution may be unique to the OEM's application. In another example, the existing infrastructure for transferring data from the X-ray imaging device 100 may only support limited data rates, such as 1 gigabit per second (Gb / s) or less. Proprietary image compression may enable the use of the new X-ray imaging device 100 with the existing infrastructure while still providing good or improved image quality.
[0032] In some embodiments, the dynamic configuration data 118 may be in an encrypted format. The encrypted format may allow for protection of the operation from disclosure to the manufacturer. For example, the OEM may generate the dynamic configuration data 118 in an encrypted binary file, which may then be provided to the manufacturer. The programmable logic device 104 may be configured to apply the encrypted dynamic configuration data 118, thereby replacing the pass-through image processing module 110a with the associated updated image processing module 110b, so that the operation specified by the OEM is performed.
[0033] In some embodiments, the available resources within the programmable logic device 104 may be limited. The OEM may be given limitations on available resources, the size of a particular block of the programmable logic device 104, a particular p-area, or similar. In that case, the OEM may prepare dynamic configuration data 118 to implement the desired operation within those limitations. The pass-through image processing module 110a may cover the same resources, size, area, or similar so that the updated image processing module 110b is a drop-in replacement.
[0034] In some embodiments, the static configuration data 116 and the dynamic configuration data 118 may be generated using different programming languages. For example, a manufacturer may generate the static configuration data 116 using a source written in a first hardware description language (HDL), while the source for the dynamic configuration data 118 may be written in a different HDL.
[0035] In some embodiments, the updated image processing module 110b may be replaced by a different updated image processing module 110b using different dynamic configuration data 118. For example, various image processing techniques may be implemented in different sets of dynamic configuration data 118 during testing. Each of the different sets of dynamic configuration data 118 may be loaded into memory 114, applied to a programmable logic device 104 to reconfigure the reconfigurable image processing module 110, and tested in the image pipeline.
[0036] In some embodiments, the X-ray imaging device 100 may be manufactured and shipped to the OEM without any dynamic configuration data 118. The OEM may install the dynamic configuration data 118 as desired. The dynamic configuration data 118 may also be updated in the field. The static configuration data 116 may remain unchanged.
[0037] In some embodiments, the processor 126 may be configured to apply dynamic configuration data 118 to the programmable logic device 104 at startup. For example, the processor 126 may be configured to first apply static configuration data 116 and then apply dynamic configuration data 118. The application of dynamic configuration data 118 may also occur at startup, or after the X-ray imaging device 100 has started operating.
[0038] In some embodiments, the use of a reconfigurable image processing module 110 may reduce the resources and / or computations required on the host system 101. The image processing operations and the associated resources of the host system 101 may be performed by the reconfigurable image processing module 110 within the X-ray imaging device 100. This can reduce the complexity of the host system 101.
[0039] In some embodiments, the dynamic configuration data 118 may be stored in one or more files separate from any files of the static configuration data 116. The one or more files of the dynamic configuration data 118 may be stored in a separate partition of memory 114.
[0040] Figure 3 is a block diagram of an X-ray imaging device having a programmable logic device including a reconfigurable image processing module and a header module, according to several embodiments. In some embodiments, the programmable logic device 104 may include a header module 130 for generating a header. The header module 130 may be defined by static configuration data 116, so that if the programmable logic device 104 is configured by the static configuration data 116, then the programmable logic device 104 is configured by the header module 130.
[0041] The header module 130 may be part of the image processing pipeline. The header module 130 may be configured to add device information 132 to the image processing pipeline so that the device information 132 is available to one or more modules. For example, the header module 130 may be configured to add data to the image processing pipeline, replace data within the image processing pipeline, or do the same so that the device information 132 is available to subsequent modules, such as the static image processing module 108, the reconfigurable image processing module 110, or similar.
[0042] In some embodiments, device information 132 includes information about the X-ray imaging device 100, ambient or environmental conditions, and related systems, such as any information about the X-ray source or similar. In some embodiments, device information 132 includes any information that may affect the image generated based on the sensor array 102.
[0043] Figure 4 is a block diagram of an X-ray imaging device having examples of a programmable logic device including a reconfigurable image processing module and a header module, and sensors, according to several embodiments. In some embodiments, the X-ray imaging device 100 may include various sensors or other circuits configured to provide device information 132. Three examples of sensors or circuits are shown, including a temperature sensor 120, a gyroscope 122, and a clock 124. However, in other embodiments, different sensors, circuits, or similar capable of generating information for device information 132 may be included.
[0044] In a particular example, the temperature sensor 120 may be configured to generate temperature information. The temperature sensor 120 may be coupled to a programmable logic device 104, thereby making the temperature information available as part of the device information 132. The temperature information may be added to the header by a header module 130. Thus, the temperature information may be available to downstream modules in the image processing pipeline, such as a static image processing module 108, a reconfigurable image processing module 110, or similar.
[0045] In a particular example, the reconfigurable image processing module 110 may be configured to use temperature information from the temperature sensor 120. The reconfigurable image processing module 110 may be configured to perform temperature-dependent gain correction on the image data. While temperature-dependent gain correction is used as an example, other temperature-dependent operations may be performed by the reconfigurable image processing module 110 based on the dynamic configuration data 118.
[0046] While temperature information from the temperature sensor 120 is used as an example, in other embodiments, other sensors, devices, or similar may be sources of device information 132 that can be added to the image processing pipeline through the header module 130. Although a gyroscope 122 and a clock 124 are shown as examples, the sources of information may be different from, or added to, the information from the gyroscope 122 and / or the clock 124.
[0047] Figure 5 is a block diagram of an X-ray imaging device having a system-on-chip including a programmable logic device with a reconfigurable image processing module, according to several embodiments. The X-ray imaging device 100 may be similar to the X-ray imaging device 100 of Figure 1 described above. In some embodiments, the X-ray imaging device 100 includes a system-on-chip (SOC) 128. The SOC 128 may include a processor 126 and a programmable logic device 104.
[0048] The SOC 128 may be configured to use the processor 126 to read dynamic configuration data 118 from memory 114. The processor 126 is configured to reconfigure the programmable logic device 104 with the dynamic configuration data 118 to replace the reconfigurable image processing module 110, as described above.
[0049] Figure 6 is a block diagram of an X-ray imaging device having a system-on-chip including a programmable logic device with a reconfigurable image processing module and random access memory, according to several embodiments. The X-ray imaging device 100 may be similar to the X-ray imaging device 100 described above with reference to Figures 1 to 5. In some embodiments, the memory 114 includes both random access memory (RAM) 114a and a storage device 114b. The RAM 114a may be coupled to the programmable logic device 104. In this example, the RAM 114a is coupled to the programmable logic device 104 through a processor 126, however, in other embodiments, the RAM 114a may be directly coupled to the programmable logic device 104, coupled through different circuits, or similarly. Static configuration data 116 and dynamic configuration data 118 may be stored in the storage device 114b. In some embodiments, the RAM 114a includes a volatile memory device, while the storage device 114b includes a non-volatile memory device. However, in other embodiments, RAM114a may include a non-volatile memory device.
[0050] If the programmable logic device 104 is configured with static configuration data 116, then RAM 114a is accessible to the reconfigurable image processing module 110. As a result, the reconfigurable image processing module 110 may be configured to store intermediate data in RAM 114a. In some embodiments, the reconfigurable image processing module 110 may be configured to operate over time across multiple rows, columns, frames, video segments, or similar. These spans of image data may exceed the size of a single block of image data, be temporally separated, or similar. The use of RAM 114a may enable operation over or across such sizes, times, or similar.
[0051] Figure 7 is a block diagram of an X-ray imaging device having a programmable logic device including one or more reconfigurable image processing modules, according to several embodiments. The programmable logic device 104 may be similar to the programmable logic device 104 described above with respect to Figures 1 to 6. In some embodiments, if the programmable logic device 104 is configured with static configuration data 116, the programmable logic device 104 may include one or more static image processing modules 108 and one or more reconfigurable image processing modules 110 as part of the image processing pipeline. One or more of the reconfigurable image processing modules 110 may be reconfigured with associated dynamic configuration data 118. The static image processing modules 108 and the reconfigurable image processing modules 110 may be in any order within the image processing pipeline.
[0052] In some embodiments, fewer than all of the reconfigurable image processing modules 110 may be reconfigured by the dynamic configuration data 118. For example, a user may apply one set of dynamic configuration data 118 to reconfigure two reconfigurable image processing modules 110 downstream of the static image processing module 108 (in the processing direction toward the communication interface 112). However, other upstream reconfigurable image processing modules 110 do not need to be reconfigured. Those upstream reconfigurable image processing modules 110 may remain configured as pass-through image processing modules 110a, as described above. At a later point, the reconfigurable image processing modules 110 may be reconfigured so that some of the downstream reconfigurable image processing modules 110 are configured as pass-through image processing modules 110a, while the other reconfigurable image processing modules 110 may be configured for different operations. The terms upstream and downstream are used as examples of groups of reconfigurable image processing modules 110 that may or may not be reconfigured, but in other embodiments the grouping may differ, and each group may include only a single reconfigurable image processing module 110.
[0053] In some embodiments, the reconfigurable image processing modules 110 may be reordered. For example, for a first set of dynamic configuration data 118, the reconfigurable image processing modules 110 may be located after the static image processing modules 108 in the image processing pipeline. However, for a second set of dynamic configuration data 118, the reconfigurable image processing modules 110 may be located after the static image processing modules 108 in the image processing pipeline. In some embodiments, reordering may be achieved by replacing one reconfigurable image processing module 110 with a pass-through image processing module 110a and replacing a different reconfigurable image processing module 110 with a new configuration. In other embodiments, reordering may be achieved by changing the routing of signals in the image processing pipeline.
[0054] Figure 8 is a flowchart of techniques for operating an X-ray imaging device having a programmable logic device including a reconfigurable image processing module, according to several embodiments. The X-ray imaging device 100 in Figure 1 is used as an example. Referring to Figures 1 and 8, in some embodiments, static configuration data 116 is applied to the programmable logic device 104 in 804. For example, the processor 126 may read the static configuration data 116 from memory 114. The processor 126 may apply the static configuration data 116 to the programmable logic device 104 in a specific manner, for example, through a Serial Peripheral Interface (SPI), a Joint Test Action Group (JTAG) interface, or similar, thereby coupling the programmable logic device 104 to the processor 126. When the programmable logic device 104 is configured with static configuration data 116, the programmable logic device 104 is composed of a static image processing module 108 and a reconfigurable image processing module 110. In this case, the reconfigurable image processing module 110 is configured as a pass-through image processing module 110a. That is, when configured with static configuration data 116, the reconfigurable image processing module 110 is configured to receive image data and output that image data without modification.
[0055] In 808, the dynamic configuration data 118 is applied to the programmable logic device 104 to replace the reconfigurable image processing module 110. For example, the processor 126 may read the dynamic configuration data 118 from the memory 114. The processor may then apply the dynamic configuration data 118 to the programmable logic device 104 in a manner similar to how the static configuration data 116 is applied in 804. As described above, the dynamic configuration data 118 does not include configuration data for the static image processing module 108.
[0056] The application of the dynamic configuration data 118 may be performed at various times. In some embodiments, the dynamic configuration data 118 may be applied at the start before the X-ray imaging device 100 and / or image processing pipeline is activated. In other embodiments, the dynamic configuration data 118 may be applied while the X-ray imaging device 100 and / or image processing pipeline is operating.
[0057] In some embodiments, the configuration of the programmable logic device 104 by static configuration data may include one or more static image processing modules 108 and one or more reconfigurable image processing modules 110. Dynamic configuration data 118 may include one or more replaceable reconfigurable image processing modules 110. The number and location of the reconfigurable image processing modules 110 defined by the dynamic configuration data 118 may be the same as, or a smaller subset of, the number and location of the reconfigurable image processing modules 110. For example, the dynamic configuration data 118 may define three reconfigurable image processing modules 110, while the static configuration data 116 defines four reconfigurable image processing modules 110. When the dynamic configuration data 118 is applied in 808, the three associated reconfigurable image processing modules 110 may be reconfigured, while the remaining reconfigurable image processing modules 110 remain in a pass-through configuration.
[0058] In 812, the incident X-rays are converted into an electrical signal by the sensor array 102. The electrical signal may be digitized in circuit 103 and input to the programmable logic device 104 through the array interface 106.
[0059] In 816, electrical signals are processed by an image processing pipeline configured to receive electrical signals and output images. The static image processing module 108 and the reconfigurable image processing module 110 are part of the image processing pipeline configured to receive electrical signals and output images.
[0060] In some embodiments, the static image processing module 108 is configured to perform at least one of the following: offset correction, gain correction, scattering correction, grid suppression, defective pixel correction, or other modifications to the image data. These operations may be performed by a single static image processing module 108 or by multiple static image processing modules 108.
[0061] Referring to Figures 1, 3, and 8, in some embodiments, processing electrical signals by an image processing pipeline may include adding device information 132 to the image processing pipeline via a header module 130 of the image processing pipeline, thereby making the device information 132 available to the reconfigurable image processing module 110. Both operations for obtaining the device information 132 and the header module 130 may be defined by static configuration data 116. Thus, when static configuration data 116 is applied in 804, the availability of the header module 130 and the associated device information 132 may be implemented in the programmable logic device 104. As described above, the device information 132 may include various types of information. The various sources described with reference to Figure 4 are examples of types of device information 132 that may be added to the image processing pipeline and available to the reconfigurable image processing module 110.
[0062] Figure 9 is a block diagram of an X-ray imaging system according to several embodiments. The X-ray imaging system 900 includes an X-ray source 902 and a detector 910. The detector 910 may include the X-ray imaging device 100 described above or similar. In some embodiments, the X-ray source 902 includes a plurality of field emitters (FE) 924. The electron beam from the field emitters 924 may be directed to an anode 926 to generate X-rays 920. The X-ray source 902 is positioned relative to the detector 910 so that the X-rays 920 are generated, pass through a specimen 922, and can be detected by the detector 910. In some embodiments, the detector 910 is part of a medical imaging system. In other embodiments, the X-ray imaging system 900 may include a portable vehicle scanning system as part of a luggage scanning system. System 900 may be any system that may include an X-ray detector.
[0063] Some embodiments include an X-ray imaging device 100 comprising: a sensor array 102 configured to convert incident X-rays into electrical signals; a memory 114 configured to store static configuration data 116; a processor 126; a programmable logic device 104; and a communication interface 112, wherein the processor 126 is configured to apply the static configuration data 116 to the programmable logic device 104; and, when configured by the static configuration data 116, the programmable logic device 104 comprises a static image processing module 108; and a reconfigurable image processing module 110, the static image processing module 108 and the reconfigurable image processing module 110 being part of an image processing pipeline configured to receive electrical signals and output images.
[0064] In some embodiments, the reconfigurable image processing module 110 is configured to receive image data and output the image data without modification.
[0065] In some embodiments, the static image processing module 108 is configured to perform at least one of the following: offset correction, gain correction, scattering correction, grid suppression, and defective pixel correction.
[0066] In some embodiments, the processor 126 is configured to read dynamic configuration data 118 from memory 114; to reconfigure the programmable logic device 104 with the dynamic configuration data 118 to replace the reconfigurable image processing module 110; and the dynamic configuration data 118 does not include configuration data for the static image processing module 108.
[0067] In some embodiments, the dynamic configuration data 118 is a first dynamic configuration data 118; the processor 126 reads a second dynamic configuration data 118 from memory 114; and is configured to reconfigure the programmable logic device 104 with the second dynamic configuration data 118 to replace the reconfigurable image processing module 110 previously configured with the first dynamic configuration data 118.
[0068] In some embodiments, when configured with static configuration data 116, the programmable logic device 104 is comprised of a header module 130; the header module 130 is part of the image processing pipeline and is configured to add device information to the image processing pipeline so that the device information is available to the reconfigurable image processing module 110.
[0069] In some embodiments, the X-ray imaging device 100 further comprises a temperature sensor 120, and the header module 130 is configured to add temperature information to the image processing pipeline in response to the temperature sensor; the temperature information is available to the reconfigurable image processing module 110.
[0070] In some embodiments, the X-ray imaging device 100 further comprises a random access memory 114 (RAM) coupled to a programmable logic device 104; if the programmable logic device 104 is configured with static configuration data 116, the random access memory 114 is accessible to a reconfigurable image processing module 110.
[0071] In some embodiments, when configured with static configuration data 116, the programmable logic device 104 is comprised of a plurality of reconfigurable image processing modules 110; the static image processing module 108 and the reconfigurable image processing modules 110 are part of an image processing pipeline.
[0072] In some embodiments, the processor 126 is configured to read dynamic configuration data 118 from memory 114; to reconfigure the programmable logic device 104 with the dynamic configuration data 118 to replace at least some of the reconfigurable image processing modules 110; and the dynamic configuration data 118 includes configuration data for all or fewer of the reconfigurable image processing modules 110.
[0073] Some embodiments include a method comprising the steps of: applying static configuration data 116 to a programmable logic device 104, wherein the programmable logic device 104 is configured by static image processing module 108 and reconfigurable image processing module 110; applying dynamic configuration data 118 to the programmable logic device 104 to replace the reconfigurable image processing module 110; converting incident X-rays into electrical signals by a sensor array 102; and processing the electrical signals by an image processing pipeline configured to receive electrical signals and output images, wherein the static image processing module 108 and the reconfigurable image processing module 110 are part of an image processing pipeline configured to receive electrical signals and output images; and the dynamic configuration data 118 does not include configuration data for the static image processing module 108.
[0074] In some embodiments, when configured with static configuration data 116, the reconfigurable image processing module 110 is configured to receive image data and output the image data without modification.
[0075] In some embodiments, the static image processing module 108 is configured to perform at least one of the following: offset correction, gain correction, scattering correction, grid suppression, and defective pixel correction.
[0076] In some embodiments, the method further comprises the step of applying dynamic configuration data 118 to a programmable logic device 104 to reconfigure a reconfigurable image processing module 110 during operation.
[0077] In some embodiments, the step of applying dynamic configuration data 118 to the programmable logic device 104 to reconfigure the reconfigurable image processing module 110 includes the step of rearranging the reconfigurable image processing module 110.
[0078] In some embodiments, the method further comprises the step of adding device information to the image processing pipeline by a header module 130 of the image processing pipeline so that the device information is available to the reconfigurable image processing module 110.
[0079] In some embodiments, the device information includes temperature information associated with the sensor array 102, and the temperature information is part of the device information available to the reconfigurable image processing module 110.
[0080] In some embodiments, when configured with static configuration data 116, the programmable logic device 104 is comprised of a plurality of reconfigurable image processing modules 110; the static image processing module 108 and the reconfigurable image processing modules 110 are part of an image processing pipeline.
[0081] In some embodiments, the step of applying dynamic configuration data 118 to the programmable logic device 104 includes replacing fewer than or all of the reconfigurable image processing modules 110.
[0082] Some embodiments include an X-ray imaging device comprising means for applying static configuration data to a programmable logic device, wherein the programmable logic device is configured with static configuration data, the programmable logic device comprising means configured with a static image processing module and a reconfigurable image processing module, means for applying dynamic configuration data to the programmable logic device to replace the reconfigurable image processing module, means for converting incident X-rays into electrical signals by a sensor array, and means for processing the electrical signals by an image processing pipeline configured to receive electrical signals and output images, wherein the static image processing module and the reconfigurable image processing module are part of an image processing pipeline configured to receive electrical signals and output images; and the dynamic configuration data does not include configuration data for the static image processing module, and the X-ray imaging device comprises such means.
[0083] Examples of means for applying static configuration data to a programmable logic device include a processor 126 and memory 114, or similar.
[0084] An example of a means for applying dynamic configuration data to a programmable logic device to replace a reconfigurable image processing module includes a processor 126 and memory 114, or similar.
[0085] Examples of means for converting incident X-rays into electrical signals include sensor array 102 or similar.
[0086] An example of means for processing electrical signals by an image processing pipeline configured to receive electrical signals and output images includes a programmable logic device 104 configured with static configuration data and optionally with dynamic configuration data.
[0087] In some embodiments, the X-ray imaging device further comprises means for adding device information to the image processing pipeline so that the device information is available to a reconfigurable image processing module. An example of means for adding device information to the image processing pipeline includes a header module 130 or similar.
[0088] While structures, devices, methods, and systems have been described in specific embodiments, those skilled in the art will readily recognize that numerous variations are possible for any particular embodiment, and therefore any variation should be considered to fall within the spirit and scope of disclosure herein. Accordingly, numerous modifications can be made by those skilled in the art without departing from the spirit and scope of the numerous appended claims.
[0089] The claims following this written disclosure are thus explicitly incorporated into this written disclosure, and each claim stands independently as a separate embodiment. This disclosure includes all combinations of independent claims and their dependent claims. Additional embodiments that may be derived from independent claims and subsequent dependent claims are also explicitly incorporated into this written description. These additional embodiments are determined by replacing the dependency relationship of a given dependent claim with the phrase "any of the claims beginning with claim [x] and ending with the claim immediately preceding this claim," where the parenthetical term "[x]" is replaced with the number of the most recently described independent claim. For example, with respect to a first set of claims beginning with independent claim 1, claim 4 may depend on either claim 1 or 3, resulting in two distinct embodiments; claim 5 may depend on any one of claims 1, 3, or 4, resulting in three distinct embodiments; claim 6 may depend on any one of claims 1, 3, 4, or 5, resulting in four distinct embodiments, and so on.
[0090] The use of the term “first” in a claim relating to a feature or element does not necessarily imply the presence of a second or additional such feature or element. Where elements are specifically described in the means-plus-function format, they are intended to be construed as encompassing the corresponding structures, materials, or functions and their equivalents described herein in accordance with Section 112(f) of the United States Patent Act. Embodiments of the Invention for which exclusive ownership or privilege is claimed are defined as follows: (Other possible items) (Item 1) A sensor array configured to convert incident X-rays into electrical signals; Memory configured to store static configuration data; Processor; Programmable logic devices; and Communication interface; Equipped with, The processor is configured to apply the static configuration data to the programmable logic device; When configured with the static configuration data, the programmable logic device is Static image processing module; and It consists of a reconfigurable image processing module; An X-ray imaging device in which the static image processing module and the reconfigurable image processing module are part of an image processing pipeline configured to receive the electrical signal and output an image. (Item 2) The X-ray imaging device according to item 1, wherein the reconfigurable image processing module is configured to receive image data and output the image data without modification. (Item 3) The X-ray imaging device according to item 1, wherein the static image processing module is configured to perform at least one of offset correction, gain correction, scattering correction, grid suppression, and defective pixel correction. (Item 4) The aforementioned processor, Read the dynamic configuration data from the aforementioned memory; The programmable logic device is reconfigured using the dynamic configuration data, thereby replacing the reconfigurable image processing module; It is configured in such a way, The X-ray imaging device according to item 1, wherein the dynamic configuration data does not include configuration data for the static image processing module. (Item 5) The aforementioned dynamic configuration data is the first dynamic configuration data; The aforementioned processor, Read the second dynamic configuration data from the aforementioned memory; The programmable logic device is reconfigured using the second dynamic configuration data to replace the reconfigurable image processing module previously configured with the first dynamic configuration data. An X-ray imaging device as described in item 4, configured as such. (Item 6) When configured with the aforementioned static configuration data, the programmable logic device is composed of header modules; The X-ray imaging device according to item 1, wherein the header module is part of the image processing pipeline and is configured to add the device information to the image processing pipeline so that the device information is available to the reconfigurable image processing module. (Item 7) Temperature sensor; Furthermore, The header module is configured to add temperature information to the image processing pipeline in response to the temperature sensor; The X-ray imaging device according to item 6, wherein the temperature information is available to the reconstructible image processing module. (Item 8) Random access memory (RAM) coupled to the aforementioned programmable logic device; Furthermore, The X-ray imaging device according to item 1, wherein the programmable logic device is configured with the static configuration data, and the random access memory is accessible to the reconfigurable image processing module. (Item 9) When configured with the aforementioned static configuration data, the programmable logic device is composed of a plurality of reconfigurable image processing modules; The X-ray imaging device described in item 1, wherein the static image processing module and the reconfigurable image processing module are part of the image processing pipeline. (Item 10) The aforementioned processor Read the dynamic configuration data from the aforementioned memory; The programmable logic device is reconfigured using the dynamic configuration data to replace at least some of the reconfigurable image processing modules; It is configured in such a way, The X-ray imaging device according to item 9, wherein the dynamic configuration data includes configuration data for all or fewer of the reconfigurable image processing modules. (Item 11) At the stage where static configuration data is applied to the programmable logic device, When configured with the static configuration data, the programmable logic device is Static image processing module; and Reconfigurable Image Processing Module It is composed of; A step of replacing the reconfigurable image processing module by applying dynamic configuration data to the programmable logic device; The stage in which the sensor array converts the incident X-rays into an electrical signal; A step in which an electrical signal is processed by an image processing pipeline configured to receive an electrical signal and output an image; Equipped with, The static image processing module and the reconfigurable image processing module are part of the image processing pipeline configured to receive the electrical signal and output an image; A method wherein the dynamic configuration data does not include configuration data for the static image processing module. (Item 12) The method according to item 11, wherein, when configured with the static configuration data, the reconfigurable image processing module is configured to receive image data and output the image data without modification. (Item 13) The method according to item 11, wherein the static image processing module is configured to perform at least one of offset correction, gain correction, scattering correction, grid suppression, and defective pixel correction. (Item 14) The step of applying the dynamic configuration data to the programmable logic device to reconfigure the reconfigurable image processing module during operation. The method described in item 11, further comprising: (Item 15) The method according to item 11, wherein the step of applying the dynamic configuration data to the programmable logic device to reconfigure the reconfigurable image processing module includes the step of rearranging the reconfigurable image processing module. (Item 16) The method of item 11, further comprising the step of adding the device information to the image processing pipeline by a header module of the image processing pipeline so that the device information is available to the reconfigurable image processing module. (Item 17) When configured with the aforementioned static configuration data, the programmable logic device is composed of a plurality of reconfigurable image processing modules; The method according to item 11, wherein the static image processing module and the reconfigurable image processing module are part of the image processing pipeline. (Item 18) The method according to item 17, wherein the step of applying the dynamic configuration data to the programmable logic device includes the step of replacing all or fewer of the reconfigurable image processing modules. (Item 19) Means for applying static configuration data to a programmable logic device, here When configured with the static configuration data, the programmable logic device is Static image processing module; and Reconfigurable Image Processing Module It is composed of; Means for applying dynamic configuration data to the programmable logic device to replace the reconfigurable image processing module; Means for converting incident X-rays into electrical signals; and Means for processing the electrical signal by an image processing pipeline configured to receive the electrical signal and output an image; Equipped with, The static image processing module and the reconfigurable image processing module are part of the image processing pipeline configured to receive the electrical signal and output an image; An X-ray imaging device in which the dynamic configuration data does not include configuration data for the static image processing module. (Item 20) Means for adding device information to the image processing pipeline so that the device information is available to the reconfigurable image processing module. An X-ray imaging device as described in item 19, further comprising the features described above.
Claims
1. A sensor array configured to convert incident X-rays into electrical signals; Memory configured to store static configuration data; Processor; Programmable logic devices; and Communication interface; Equipped with, The processor is configured to apply the static configuration data to the programmable logic device; When configured with the static configuration data, the programmable logic device is Static image processing module; and It consists of a reconfigurable image processing module; An X-ray imaging device in which the static image processing module and the reconfigurable image processing module are part of an image processing pipeline configured to receive the electrical signal and output an image.
2. The X-ray imaging device according to claim 1, wherein the reconfigurable image processing module is configured to receive image data and output the image data without modification.
3. The X-ray imaging device according to claim 1, wherein the static image processing module is configured to perform at least one of offset correction, gain correction, scattering correction, grid suppression, and defective pixel correction.
4. The aforementioned processor, Read the dynamic configuration data from the aforementioned memory; The programmable logic device is reconfigured using the dynamic configuration data, and the reconfigurable image processing module is replaced; It is configured in such a way, The X-ray imaging device according to claim 1, wherein the dynamic configuration data does not include configuration data for the static image processing module.
5. The aforementioned dynamic configuration data is the first dynamic configuration data; The aforementioned processor, Read the second dynamic configuration data from the aforementioned memory; The programmable logic device is reconfigured using the second dynamic configuration data, replacing the reconfigurable image processing module previously configured with the first dynamic configuration data. The X-ray imaging device according to claim 4, configured as described above.
6. When configured with the aforementioned static configuration data, the programmable logic device is composed of header modules; The X-ray imaging device according to claim 1, wherein the header module is part of the image processing pipeline and is configured to add the device information to the image processing pipeline so that the device information is available to the reconfigurable image processing module.
7. Temperature sensor; Furthermore, The header module is configured to add temperature information to the image processing pipeline in response to the temperature sensor; The X-ray imaging device according to claim 6, wherein the temperature information is available to the reconstructible image processing module.
8. Random access memory (RAM) coupled to the aforementioned programmable logic device; Furthermore, The X-ray imaging device according to any one of claims 1 to 7, wherein the programmable logic device is configured with the static configuration data, and the random access memory is accessible to the reconfigurable image processing module.
9. When configured with the aforementioned static configuration data, the programmable logic device is comprised of a plurality of reconfigurable image processing modules; The X-ray imaging device according to any one of claims 1 to 7, wherein the static image processing module and the reconfigurable image processing module are part of the image processing pipeline.
10. The aforementioned processor Read the dynamic configuration data from the aforementioned memory; The programmable logic device is reconfigured using the dynamic configuration data to replace at least some of the multiple reconfigurable image processing modules; It is configured in such a way, The X-ray imaging device according to claim 9, wherein the dynamic configuration data includes configuration data for fewer than or equal to all of the plurality of reconfigurable image processing modules.
11. At the stage where static configuration data is applied to the programmable logic device, When configured with the static configuration data, the programmable logic device is Static image processing module; and Reconfigurable Image Processing Module It is composed of; A step of replacing the reconfigurable image processing module by applying dynamic configuration data to the programmable logic device; The stage in which the sensor array converts the incident X-rays into an electrical signal; A step in which the electrical signal is processed by an image processing pipeline configured to receive the electrical signal and output an image; Equipped with, The static image processing module and the reconfigurable image processing module are part of the image processing pipeline configured to receive the electrical signal and output the image; A method wherein the dynamic configuration data does not include configuration data for the static image processing module.
12. The method according to claim 11, wherein, when configured with the static configuration data, the reconfigurable image processing module is configured to receive image data and output the image data without modification.
13. The method according to claim 11, wherein the static image processing module is configured to perform at least one of offset correction, gain correction, scattering correction, grid suppression, and defective pixel correction.
14. The step of applying the dynamic configuration data to the programmable logic device to reconfigure the reconfigurable image processing module during operation. The method according to claim 11, further comprising:
15. The method according to claim 11, wherein the step of applying the dynamic configuration data to the programmable logic device to reconfigure the reconfigurable image processing module includes the step of rearranging the reconfigurable image processing module.
16. The method of claim 11, further comprising the step of adding the device information to the image processing pipeline by a header module of the image processing pipeline so that the device information is available to the reconfigurable image processing module.
17. When configured with the aforementioned static configuration data, the programmable logic device is comprised of a plurality of reconfigurable image processing modules; The method according to any one of claims 11 to 16, wherein the static image processing module and the reconfigurable image processing module are part of the image processing pipeline.
18. The method according to claim 17, wherein the step of applying the dynamic configuration data to the programmable logic device includes the step of replacing fewer than all of the plurality of reconfigurable image processing modules.
19. Means for applying static configuration data to a programmable logic device, here When configured with the static configuration data, the programmable logic device is Static image processing module; and Reconfigurable Image Processing Module It is composed of; Means for applying dynamic configuration data to the programmable logic device to replace the reconfigurable image processing module; Means for converting incident X-rays into electrical signals; and Means for processing the electrical signal by an image processing pipeline configured to receive the electrical signal and output an image; Equipped with, The static image processing module and the reconfigurable image processing module are part of the image processing pipeline configured to receive the electrical signal and output the image; An X-ray imaging device in which the dynamic configuration data does not include configuration data for the static image processing module.
20. Means for adding device information to the image processing pipeline so that the device information is available to the reconfigurable image processing module. The X-ray imaging device according to claim 19, further comprising the above.