Computer tomography imaging data generation method, medical image processing method, and image processing apparatus
The CT data generation method addresses beam hardening artifacts by converting image data to Radon space and using machine learning models for resampling and correction, resulting in improved image quality and accuracy.
Patent Information
- Application Number
- JP2024104296
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2023-06-28
- Filing Date
- 2024-06-27
- Publication Date
- 2025-01-20
AI Technical Summary
Conventional computed tomography (CT) image reconstruction methods suffer from beam hardening artifacts, which degrade image quality by failing to account for the energy-dependent attenuation of X-rays through tissue.
A CT data generation method that involves converting reconstructed image data into Radon space differentials, applying a radial sampling pattern, and using machine learning models to resample and correct beam hardening effects, including Fourier transforms and beam hardening correction processes.
Improves image quality by effectively reducing beam hardening artifacts, enhancing the accuracy and clarity of CT images through advanced data processing techniques.
Smart Images

Figure 2025010010000001_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to a computed tomography data generating method, a medical image processing method, and an image processing device. [Background technology]
[0002] X-ray images can produce (e.g., reconstruct) images of the internal structure of an object, such as an interior portion of a patient's body. For example, a computed tomography (CT) scan uses multiple X-ray images of an object taken from different angles to reconstruct a volumetric image of the object's interior. However, beam hardening can degrade the quality of the reconstructed image. Summary of the Invention [Problem to be solved by the invention]
[0003] One of the problems that the embodiments disclosed in this specification aim to solve is to provide a computed tomography imaging data generation method, a medical image processing method, and an image processing device that realize beam hardening correction that can improve image quality compared to conventional methods. [Means for solving the problem]
[0004] A computed tomography (CT) data generation method disclosed in an embodiment includes obtaining a group of reconstructed image data, transforming the group of reconstructed image data into a derivative of Radon space to generate Radon space data, the Radon space data having a radial sampling pattern in the derivative of Radon space, and inputting the Radon space data into a first trained machine learning model for resampling Radon space data to generate resampled data, the resampled data having a cone beam projection geometric sampling pattern in the derivative of Radon space. [Brief description of the drawings]
[0005] [Figure 1]FIG. 1 is a diagram illustrating an exemplary embodiment of a medical imaging device. [Figure 2A] FIG. 2A is a diagram illustrating an example of a cone beam emitted by an X-ray tube. [Figure 2B] FIG. 2B is a diagram illustrating an example of a cone beam emitted by an X-ray tube. [Diagram 3] FIG. 3 illustrates an exemplary embodiment of a method for generating reconstructed image data. [Figure 4] FIG. 4 is a diagram illustrating a schematic diagram of the relationship between the sampling pattern of the Radon spatial data and the sampling pattern of the resampled data. [Diagram 5] FIG. 5 illustrates an example embodiment of a Fourier-based mapping for transforming segmented image data into derivatives in Radon space. [Figure 6] FIG. 6 illustrates an exemplary embodiment of a method for generating path length data from Radon space data. [Figure 7] FIG. 7 is a diagram showing a schematic diagram of a cone beam shape of Grangeat. [Figure 8] FIG. 8 illustrates an exemplary embodiment of a method for generating corrected projection data. [Figure 9] FIG. 9 illustrates an exemplary embodiment of a method for generating corrected projection data. [Figure 10] FIG. 10 illustrates an exemplary embodiment of a method for generating corrected projection data. [Figure 11] FIG. 11 illustrates an exemplary embodiment of a method for generating corrected projection data. [Figure 12] FIG. 12 is a diagram illustrating information flow in an exemplary embodiment of a method for training a resampling machine learning (ML) model. [Figure 13] FIG. 13 is a diagram illustrating the information flow in an exemplary embodiment of a method for training a pathlength refinement ML model. [Figure 14]FIG. 14 illustrates an exemplary embodiment of a neural network. [Figure 15] FIG. 15 illustrates an exemplary embodiment of a Convolutional Neural Network (CNN). [Figure 16] FIG. 16 is a diagram illustrating an example implementation of a convolutional layer of one neuron node of the convolutional layer, according to an example embodiment. [Figure 17] FIG. 17 illustrates an exemplary embodiment of a method for training a resampled ML model. [Figure 18] FIG. 18 illustrates an exemplary embodiment of a method for training a pathlength refinement ML model. [Figure 19] FIG. 19 illustrates an exemplary embodiment of a medical imaging system. [Figure 20] FIG. 20 illustrates an exemplary embodiment of a neural network training device. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0006] In the following paragraphs, certain illustrative embodiments are described. Other embodiments may include alternatives, equivalents, and variations. Furthermore, the illustrative embodiments may include some novel features, and certain features may not be essential to some embodiments of the devices, systems, and methods described herein. Furthermore, some embodiments include features from two or more of the following illustrative embodiments. Thus, features from various embodiments may be combined and substituted as appropriate.
[0007] Also, as used herein, the conjunction "or" generally refers to an inclusive "or," but "or" may refer to an exclusive "or" if expressly indicated or if the context indicates that the "or" must be an exclusive "or." Furthermore, as used herein, the terms "first," "second," and the like do not necessarily indicate an order, sequence, or priority relationship and may be used to more clearly distinguish one member, operation, element, group, collection, set, and the like from another without implying an order, sequence, or priority relationship.
[0008] In the following description and drawings, reference characters and the like indicate the same or corresponding parts through several views.
[0009] Further, some embodiments are described in the following paragraphs:
[0010] (1) A method for generating computed tomography (CT) data, comprising: obtaining a group of reconstructed image data; transforming the group of reconstructed image data into a derivative of Radon space to generate Radon space data, the Radon space data having a radial sampling pattern in the derivative of Radon space; and inputting the Radon space data into a first trained machine learning model for resampling Radon space data to generate resampled data, the resampled data having a cone beam projection geometric sampling pattern in the derivative of Radon space.
[0011] (2) A method for generating computed tomography imaging data according to (1), comprising, when transforming the reconstructed image data into the derivative in Radon space, mapping the reconstructed image data into Fourier space, generating Fourier slices from the reconstructed image data mapped into Fourier space, scaling the Fourier slices to generate scaled Fourier slices, and performing a radial inverse Fourier transform on the scaled Fourier slices.
[0012] (3) A method for generating computed tomography imaging data according to (1), comprising: generating first path length data based on the resampled data; and applying a second trained machine learning model to the first path length data to generate second path length data, the second trained machine learning model being trained based on third path length data, the third path length data being obtained by applying a second path length estimation process to one or more sets of reconstructed image data, the second path length estimation process including ray tracing.
[0013] (4) A method for generating computed tomography imaging data according to (3), comprising: generating corrected projection data, the generating the corrected projection data comprising performing beam hardening correction on the projection data based on the second path length data and the projection data.
[0014] (5) The computed tomography data generating method according to (4), further comprising generating reconstructed image data based on the corrected projection data.
[0015] (6) The method of generating computed tomography imaging data according to (1), comprising: the reconstructed image data group being generated by segmenting a set of reconstructed image data into two or more reconstructed image data groups, the two or more reconstructed image data groups including the group of reconstructed image data.
[0016] (7) A medical image processing method comprising: scanning a subject to obtain a set of projection data; generating a set of reconstructed image data, the generating the set of reconstructed image data including performing a reconstruction process on the set of projection data; applying a first process to a group of reconstructed image data obtained from the set of reconstructed image data to obtain first data, the first process including a Fourier transform process; applying a trained machine learning model to the first data to obtain second data, the trained machine learning model being trained to compensate for accuracy degradation caused by the Fourier transform process; and applying a beam hardening correction process to the set of projection data based on the second data to obtain corrected projection data.
[0017] (8) The medical image processing method of (7), wherein the first data has a radial sampling pattern in a derivative of Radon space, the learned machine learning model is trained to resample data from the radial sampling pattern to a cone beam projection sampling pattern, and the second data has a cone beam projection sampling pattern in the derivative of Radon space.
[0018] (9) A medical image processing method according to (8), wherein applying a beam hardening correction process to the set of projection data based on the second data to obtain the corrected projection data includes transforming the second data into projection space.
[0019] (10) A medical image processing method according to (7), wherein the trained machine learning model is trained based on projection space data obtained by processing including a Fourier transform process based on the reconstructed image data and a forward projection process based on the reconstructed data.
[0020] (11) The medical image processing method according to (7), further comprising generating reconstructed image data based on the corrected projection data.
[0021] (12) An image processing apparatus comprising: one or more computer-readable storage media storing instructions; and one or more processors, wherein the one or more processors and the one or more computer-readable storage media are configured to perform the following operations: scan a subject to acquire a set of projection data; generate a set of reconstructed image data, where generating the set of reconstructed image data includes performing a reconstruction process on the set of projection data; apply a first process to a group of reconstructed image data obtained from the set of reconstructed image data to acquire first data, where the first process includes a Fourier transform process; apply a trained machine learning model to the first data to acquire second data, where the trained machine learning model is trained to compensate for accuracy degradation caused by the Fourier transform process; and apply a beam hardening correction process to the set of projection data based on the second data to acquire corrected projection data.
[0022] (13) The image processing device of (12), wherein the first data has a radial sampling pattern in a derivative of Radon space, the learned machine learning model is trained to resample data from the radial sampling pattern to a sampling pattern of a cone beam projection shape, and the second data has a sampling pattern of a cone beam projection shape in the derivative of Radon space.
[0023] (14) An image processing device as described in (13), wherein applying a beam hardening correction process to the set of projection data based on the second data to obtain the corrected projection data includes transforming the second data into a projection space.
[0024] (15) A medical image processing method comprising: acquiring a set of projection data, the set of projection data being generated by scanning a subject; generating a set of reconstructed image data, wherein generating the set of reconstructed image data includes performing a reconstruction process on the set of projection data; applying a first path length estimation process to a group of reconstructed image data obtained from the set of reconstructed image data to acquire first data corresponding to a specific material, the first path length estimation process including a Fourier transform process; applying a first trained machine learning model to the first path length data to acquire second path length data corresponding to the specific material, the trained machine learning model being trained based on third path length data, the third path length data being acquired by applying a second path length estimation process to one or more reconstructed image data, the second path length estimation process including ray tracing; generating corrected projection data, wherein generating the corrected projection data includes applying a beam hardening correction process to the set of projection data based on the second path length data.
[0025] (16) The medical image processing method of (15), wherein the set of projection data is generated by scanning the subject using a cone beam computed tomography scan.
[0026] (17) The medical image processing method of (15), wherein the first path length estimation process includes generating Radon space data defined by a derivative of Radon space based on a Fourier transform-based mapping that maps the reconstructed data group to a derivative of Radon space, and applying an inverse Granditt reconstruction method to the Radon space data.
[0027] (18) The medical image processing method of (15), wherein the first group of reconstructed image data comprises segmenting the set of reconstructed image data into two or more reconstructed image data groups, the two or more reconstructed image data groups including the first group of reconstructed image data, each of the two or more reconstructed image data groups corresponding to a particular substance.
[0028] (19) The medical image processing method of (18), wherein the first path length estimation process generates first Radon space data, the first Radon space data being defined in a derivative of Radon space, generating the first Radon space data defined in a derivative of Radon space based on a Fourier transform-based mapping that maps the first group of the reconstructed data to the derivative of Radon space, the first Radon space data having a radial sampling pattern, generating second Radon space data based on the first Radon space data, and generating the second Radon space data includes applying a second trained machine learning model to the first Radon space data, and the second Radon space data has a sampling pattern of a cone beam projection geometry.
[0029] (20) The medical image processing method of (19), wherein the segmentation is based on voxel values in the reconstructed image data.
[0030] (21) A medical image processing method comprising: acquiring a set of projection data, the set of projection data being generated by scanning a subject; generating a set of reconstructed image data, the generating the set of reconstructed image data including performing a reconstruction process on the set of projection data; based on a first group of reconstructed image data obtained from the set of reconstructed image data, applying a process including a Fourier transform to acquire first projection space data; applying a trained machine learning model to the first projection space data to acquire second projection space length data; the first trained machine learning model is trained based on third projection space data; the third projection space data is acquired by applying a second path length estimation process to one or more reconstructed image data, the second path length estimation process including ray tracing; and applying image processing based on the second projection space data to the set of projection data or the set of reconstructed image data.
[0031] (22) The medical image processing method of (21), wherein the first group of reconstructed image data corresponds to a material-based image of a first material.
[0032] (23) The medical image processing method according to (21), wherein the image processing includes beam hardening correction processing.
[0033] 1 is a diagram showing an embodiment of a medical image diagnostic apparatus according to the present invention. In this embodiment, the medical image diagnostic apparatus is an X-ray CT apparatus 1 as an example.
[0034] The X-ray CT device 1 scans a subject P (e.g., a patient) during a CT scan to generate projection data (e.g., a sinogram), generates reconstructed image data (also called reconstructed image data or CT image data) that defines one or more medical images of the subject P based on the projection data, and displays one or more medical images (CT images) defined by the reconstructed image data on a display 42. Note that the projection data, particularly the reconstructed image data, may be referred to as medical image data in this specification. In addition, the X-ray CT device 1 may perform beam hardening correction using one or more machine learning models (e.g., artificial neural networks such as a feedforward neural network, a convolutional neural network, a deep neural network, and a recurrent neural network) when generating the reconstructed image data.
[0035] In CT imaging, the x-ray source (e.g., x-ray tube 11) is polychromatic, and the attenuation of x-rays through tissue depends on frequency (i.e., energy). High-energy photons are attenuated less than low-energy photons, so the x-rays that reach the detector (e.g., x-ray detector 12) are "harder" than the x-rays that leave the x-ray source. If this effect is not taken into account, artifacts (beam hardening artifacts) appear in medical images. The main contributors to beam hardening are soft tissues, which are usually close in density to water, as well as bone and iodine contrast agents. Beam hardening artifacts include cupping (e.g., beam hardening of soft tissues) and dark streaks or bands. Additionally, beam hardening artifacts due to bone include dark streaks or bands between dense bone structures, such as the bones of the skull.
[0036] The X-ray CT apparatus 1 includes one or more gantries 10, one or more tables 30, and a console 40. For ease of explanation, the X-ray CT apparatus 1 in FIG. 1 includes two gantries 10 and two tables 30, but some embodiments may include more or fewer gantries 10 and tables 30. For example, some embodiments of the X-ray CT apparatus 1 may include only one gantry 10 and one table 30.
[0037] Also, in FIG. 1, the rotation axis of rotating frame 13 in the non-tilted state is the Z-axis direction, the direction perpendicular to the Z-axis direction and extending from the rotation center to the support pillar supporting rotating frame 13 is the X-axis direction, and the direction perpendicular to the Z-axis direction and the X-axis direction is the Y-axis direction.
[0038] Each gantry 10 includes an x-ray tube 11, an x-ray detector 12 (detector 12), a rotating frame 13, an x-ray high voltage circuit 14, a controller 15, a wedge 16, a collimator 17, and a data acquisition system (DAS) 18.
[0039] The X-ray tube 11 may be a vacuum tube configured to emit thermal electrons from a negative electrode (filament) toward a positive electrode (target) by application of a high voltage from the X-ray high voltage circuit 14, thereby generating X-rays. The X-ray tube 11 generates an X-ray beam that spreads with a fan angle and a cone angle. An example of the X-ray tube 11 is a rotating anode X-ray tube that generates X-rays by emitting thermal electrons to a rotating positive electrode (anode). The hardware for generating X-rays is not limited to the X-ray tube 11. For example, instead of the X-ray tube 11, X-rays may be generated using a fifth generation system including a focusing coil configured to focus an electron beam generated from an electron gun, a deflection coil configured to perform electromagnetic deflection, and a target ring configured to surround a half circumference of the subject P and generate X-rays by collision of the deflected electron beam.
[0040] The wedge 16 is a filter for adjusting the amount of X-rays irradiated from the X-ray tube 11. More specifically, the wedge 16 is a filter configured to pass and attenuate the X-rays irradiated from the X-ray tube 11 so that the X-rays irradiated from the X-ray tube 11 to the subject P have a predetermined distribution. For example, the wedge 16 (e.g., a wedge filter, a bowtie filter) may be a filter obtained by processing aluminum so as to have a predetermined target angle and a predetermined thickness.
[0041] The collimator 17 is made of lead plates or the like used to focus the X-rays transmitted through the wedge 16 to an X-ray irradiation range, and is configured to form a slit by combining a plurality of lead plates or the like. The collimator 17 may also be called an X-ray aperture.
[0042] The X-ray detector 12 is configured to detect X-rays irradiated from the X-ray tube 11 and passing through the subject P. The X-ray detector 12 is configured to output an electrical signal corresponding to the detected X-ray amount to the DAS 18. The X-ray detector 12 includes, for example, multiple rows of X-ray detection elements. In each of the multiple rows, multiple X-ray detection elements are arranged in the channel direction along an arc centered on the focal point of the X-ray tube 11. For example, the X-ray detector 12 can also have a structure in which multiple rows of X-ray detection elements are arranged in the channel direction and multiple rows of X-ray detection elements are arranged in the slice direction (called the row direction). Furthermore, each X-ray detection element can output an electrical signal.
[0043] The X-ray detector 12 may be, for example, an indirect conversion type detector including a grid (anti-scatter grid), a scintillator array, and a photosensor array.
[0044] The scintillator array includes a plurality of scintillators, each of which includes a scintillator crystal that outputs light having a quantity of photons corresponding to the amount of incident x-rays.
[0045] The grid is placed on the surface of the scintillator array, which is placed on the X-ray entrance side. The grid has an X-ray blocking plate that has the function of absorbing scattered X-rays. The grid is also called a collimator (one-dimensional collimator or two-dimensional collimator).
[0046] The photosensor array has a function of converting the amount of light from the scintillator into an electrical signal corresponding to the amount of light from the scintillator. The photosensor array can include a photosensor such as a photomultiplier tube (PMT).
[0047] Additionally, the X-ray detector 12 may be a direct conversion type detector including a semiconductor element that converts incident X-rays into an electrical signal.
[0048] In addition, some embodiments are applicable to single-tube X-ray CT devices, and also to X-ray CT devices in which two or more sets, each including an X-ray tube 11 and an X-ray detector 12, are mounted on a rotating frame 13 (sometimes referred to as multi-tube X-ray CT devices).
[0049] In this embodiment, the X-ray tube 11 emits X-rays in the form of a cone beam (tapered beam). Examples of the form of the cone beam include a square pyramid, a pyramid, a cone, and an elliptical cone. For example, Figs. 2A and 2B show examples of cone beams irradiated by an embodiment of the X-ray tube 11. Fig. 2A illustrates a cone beam in the form of a square pyramid. Fig. 2A shows the fan angle and the cone angle of the cone beam. Fig. 2B illustrates a cone beam in the form of a cone. In this manner, the X-ray CT device 1 can perform cone beam CT imaging (for example, wide cone beam CT imaging).
[0050] Furthermore, the X-ray detector 12 has a curved detection surface. However, the X-ray detector 12 may have a flat detection surface in some embodiments. The X-ray detector 12 is an example of an X-ray detection unit.
[0051] The X-ray high voltage circuit 14 includes an electric circuit such as a transformer and a rectifier, and includes a high voltage generation circuit having a function of generating a high voltage to be applied to the X-ray tube 11, and the X-ray high voltage circuit 14 includes an X-ray controller that controls an output voltage corresponding to the X-rays emitted from the X-ray tube 11. The high voltage generation circuit 14 may adopt a transformer type or an inverter type. The X-ray high voltage circuit 14 may be provided in the rotating frame 13 described later, or may be provided on a side of a fixed frame (not shown in FIG. 1) of the gantry 10. The fixed frame is a frame that rotatably supports the rotating frame 13. The X-ray high voltage circuit 14 is an example of an X-ray high voltage device.
[0052] The data acquisition system (DAS) 18 includes an amplifier that amplifies the electrical signals output from each X-ray detection element of the X-ray detector 12, and an A / D converter that converts the electrical signals into digital signals. The DAS 18 generates projection data (detection data). The projection data indicates the X-rays measured by the X-ray detector 12 (indicates the measured projections). The projection data generated by the DAS 18 is transferred to the console 40. The DAS 18 is an example of a data acquisition unit. In addition, in a CT scan, a set of each projection data may be generated, and the set of projection data may include a subset of the projection data captured at each detection angle (measurement projection data group).
[0053] In addition, in this embodiment, the X-ray tube 11 and the X-ray detector 12 are configured to rotate around the object P. Therefore, when the detection angle with respect to the object P is different, the X-rays irradiated from the X-ray tube 11 pass through the scan area of the object P and are detected by the X-ray detector 12. In addition, a detected X-ray group (for example, when the X-ray tube 11 and the X-ray detector 12 are at a certain detection angle with respect to the object P) that is detected together among the X-rays irradiated from the X-ray tube 11 and transmitted through the object P may be referred to as a measured projection, and the corresponding data may be referred to as a measured projection data group. At each detection angle, the X-ray detector 12 generates a respective group of measured projection data, and each group of measured projection data defines a respective measured projection. Furthermore, each group of measured projection data may constitute a subset in a set of projection data generated by a scan operation. Furthermore, a set of projection data may define a sinogram.
[0054] The rotating frame 13 is an annular frame that supports the X-ray tube 11 and the X-ray detector 12 so that the X-ray tube 11 and the X-ray detector 12 face each other. A control device 15 (described later) rotates the rotating frame 13 to rotate the X-ray tube 11 and the X-ray detector 12, for example, as shown in Fig. 3. In addition to the X-ray tube 11 and the X-ray detector 12, the rotating frame 13 may further support an X-ray high voltage circuit 14 and a DAS 18.
[0055] The rotating frame 13 is supported by a non-rotating portion of the gantry 10 (e.g., a fixed frame not shown in FIG. 1) so that the rotating frame 13 is rotatable. The rotation mechanism includes, for example, a motor that generates a rotational driving force, and a bearing that transmits the rotational driving force to the rotating frame 13 to rotate the rotating frame 13. The motor is provided, for example, in the non-rotating portion. The bearing is physically connected to the rotating frame 13 and the motor. The rotating frame 13 rotates in response to the rotational driving force of the motor.
[0056] The rotating frame 13 and the non-rotating part are each provided with a non-contact or contact type communication circuit. This communication circuit allows communication between the parts supported by the rotating frame 13 and the non-rotating part of the gantry 10 or an external device. For example, when optical communication is adopted as the non-contact communication method, the projection data generated by the DAS 18 is transmitted by optical communication from a transmitter having a light emitting diode (LED) provided on the rotating frame 13 to a receiver having a photodiode provided on the non-rotating part of the gantry 10. The receiver transmits the projection data from the non-rotating part to the console 40. In addition, some embodiments can use a non-contact type data transmission method such as a capacitive coupling method or a radio wave method, or a contact type data transmission method such as a contact type data transmission method using a slip ring and electrode brushing, as the communication method.
[0057] The rotating frame 13 is an example of a rotating part.
[0058] Furthermore, some embodiments of the X-ray CT device 1 can perform standing CT scans. Thus, these embodiments include a gantry configured to support standing scans, and some embodiments may not include the table 30. For example, some embodiments are configured to rotate the rotating frame 13 around the standing subject P. Thus, the gantry 10 is configured to rotate about a rotation axis perpendicular to the rotation axis of the rotating frame 13 shown in FIG. 1 (configured to rotate about the Y axis in the direction illustrated in FIG. 1). Also, some embodiments include a patient support mechanism (e.g., a seat) different from the table 30 or omits the patient support mechanism. And, some embodiments (e.g., embodiments performing dental CT scans) may omit part of the gantry 10 or have a gantry 10 configured to perform dental CT scans.
[0059] There are various types of X-ray CT devices 1, such as a rotation-rotation type (third generation CT) in which the X-ray tube 11 and the detector 12 rotate integrally around the subject P, and a stationary-rotation type (fourth generation CT) in which a large number of X-ray detection elements are fixed in a ring-like arrangement. On the other hand, there is also a type in which only the X-ray tube 11 rotates around the subject P. Either type is applicable to this embodiment.
[0060] The controller 15 includes circuits such as a processing circuit (including a CPU, etc.) and a driving mechanism such as a motor and an actuator. Furthermore, the controller 15 has a function of receiving an input signal from an input interface circuit 43 (described later) attached to the console 40 or the gantry 10, and a function of controlling the operation of the gantry 10 and the table 30. For example, the controller 15 is configured to perform control so as to rotate the rotating frame 13, tilt the gantry 10, and operate the table 30 and the table top 33 when receiving an input signal. In this situation, the controller 15 rotates the rotating frame 13 in an axial direction parallel to the X-axis direction according to tilt angle (tilt angle) information input via the input interface circuit 43 attached to the gantry 10, thereby realizing control to tilt the gantry 10. In addition, the controller 15 may be provided for the gantry 10 or the console 40. The controller 15 is an example of a control unit.
[0061] The table 30 is a device for positioning and moving the subject P, and includes a base 31, a table driving circuit 32, a table top 33, and a support frame .
[0062] The base 31 is a casing that movably and vertically supports the support frame 34. The table driving circuit 32 includes a motor or actuator that moves the table top 33 on which the subject P is placed in the longitudinal direction. The table top 33 provided on the upper surface of the support frame 34 is a substrate on which the subject P is placed. In addition to moving the table top 33 (or instead of moving the table top 33), the table driving circuit 32 may move the support frame 34 in the longitudinal direction of the table top 33.
[0063] The console 40 includes circuitry and other hardware, including memory 41, a display 42, input interface circuitry 43, and processing circuitry 44. It is noted that although the console 40 and the gantry 10 are described herein as separate devices, the gantry 10 may include the console 40 or at least some of the components of the console 40.
[0064] The memory 41 is realized using, for example, a random access memory (RAM), a semiconductor memory (for example, a flash memory), a hard disk, an optical disk, etc. The memory 41 stores, for example, projection data, reconstructed image data, a machine learning model, a beam hardening correction model, etc. The memory 41 is an example of a memory and an example of a storage unit. Furthermore, the storage unit that stores the projection data and the reconstructed image data is not limited to the memory 41 of the console 40, but may be a cloud server that can be connected to the X-ray CT device 1 via a communication network such as the Internet, or may be configured to store the projection data and the reconstructed image data when a storage request is received from the X-ray CT device 1.
[0065] Various types of information are displayed on the display 43. For example, the display 43 outputs medical images (CT images) generated by the processing circuitry 44, and outputs a graphical user interface (GUI) for receiving various operations from an operator. Also, for example, the display 43 may be a liquid crystal display or a cathode ray tube (CRT) display. The display 42 may be provided on the gantry 10. The display 42 may be a tabletop type, or may be a tablet terminal or the like capable of wireless communication with the main body of the console 40. The display 42 is an example of a display unit.
[0066] The input interface circuit 43 receives various input operations from an operator, converts the received input operations into electrical signals, and outputs the electrical signals to the processing circuit 44. For example, the input interface circuit 43 receives from the operator collection conditions for collecting projection data, reconstruction conditions for reconstructing a CT image, and image processing conditions for generating a post-processed image from the CT image. For example, the input interface circuit 43 may be implemented using a mouse, a keyboard, a trackball, a switch, a button, a joystick, or a touch screen. The input interface circuit 43 is an example of an input unit. Furthermore, the input interface circuit 43 may be provided in the gantry 10. The input interface circuit 43 may be configured by a tablet terminal or the like capable of wireless communication with the main body of the console 40.
[0067] The processing circuit 44 controls the operation of the X-ray CT apparatus 1. The processing circuit 44 may include one or more central processing units (CPUs) such as a microprocessor (e.g., a single-core microprocessor, a multi-core microprocessor), for example, one or more graphics processing units (GPUs), one or more application specific integrated circuits (ASICs), one or more field programmable gate arrays (FPGAs), one or more digital signal processors (DSPs), and other electronic circuits (e.g., other integrated circuits). The processing circuit 44 is an example of a processing unit.
[0068] Processing circuitry 44 performs, for example, system control functions 441, reconstruction processing functions 442, image processing functions 443, display control functions 444, image segmentation functions 445, resampling functions 446, path length functions 447, and beam hardening correction (BHC) functions 448. Additionally, processing circuitry 44 may cooperate with memory 41 to perform functions.
[0069] The system control function 441 controls various functions of the processing circuit 44 based on an input operation received from an operator via the input interface circuit 43. The system control function 441 is an example of a control unit.
[0070] The reconstruction processing function 442 generates reconstructed image data (medical image data) by performing reconstruction processing on the projection data using a predetermined method. Examples of the predetermined method include a filtered backprojection method for the projection data, an FDK (Feldkamp-Davis-Kress) algorithm, an iterative reconstruction method, and an iterative reconstruction method. The projection data may include corrected projection data (projection data that has been subjected to beam hardening correction). The reconstruction processing function 442 is an example of a reconstruction processing unit.
[0071] The reconstruction processing function 442 can also perform pre-processing (e.g., logarithmic conversion and offset correction processing, inter-channel sensitivity correction processing, beam hardening correction) on the projection data output from the DAS 18. Note that both data before and after pre-processing may be referred to as projection data. Furthermore, projection data before pre-processing may be referred to as detection data, and projection data after pre-processing may be referred to as pre-processed projection data.
[0072] The image processing function 443 converts the reconstructed image data generated by the reconstruction processing function 442 into tomographic image data or three-dimensional image data on an arbitrarily selected cross section by a known method based on an input operation received from an operator via the input interface circuit 43. The generation of three-dimensional image data can also be performed directly by the reconstruction processing function 442. The image processing function 443 is an example of an image processing unit.
[0073] The display control function 444 controls the display of an image based on the three-dimensional image data or the tomographic image data on the display 42. The format of the display may be based on an input operation received from an operator via the input interface circuitry 43. The display control function 444 is an example of a display control unit.
[0074] The image segmentation function 446 performs one or more segmentation operations on the reconstructed image data to segment the reconstructed image data and generate segmented image data groups from the reconstructed image data. The image segmentation function 445 is an example of an image segmentation unit.
[0075] The resampling function 446 converts the segmented image data to Radon space derivatives and resamples groups of data in the Radon space derivatives to generate resampled data. Resampling changes the sampling pattern of the Radon space derivative data from a radial sampling pattern to a cone beam projection geometry (CBPG) sampling pattern. The resampling function 446 is an example of a resampling unit.
[0076] A path length generating function 447 generates first path length data from the resampled data and generates second path length data from the first path length data. Path length function 447 is an example of a path length generator.
[0077] The BHC function 448 performs beam hardening correction on the projection data based on the projection data and the path length data (e.g., first path length data, second path length data). The beam hardening correction can also employ one or more beam hardening correction models (e.g., tables, fitting models). The BHC function 448 is an example of a BHC unit.
[0078] Although the console 40 is described as a single console performing the functions, at least some of the functions may be performed by different consoles. For example, the functions of the processing circuitry 44, such as the reconstruction processing function 442, may be provided in a distributed manner.
[0079] In addition, the processing circuitry 44 may be included in a device other than the console 40. For example, the processing circuitry 44 may be included in an integrated server that collectively processes projection data acquired by two or more medical image diagnostic devices (for example, the X-ray CT device 1).
[0080] FIG. 3 illustrates an example of an embodiment of a method for generating reconstructed image data. This operational flow, and other operational flows described herein, are each presented in a particular order. In some embodiments, the method for generating reconstructed image data may also perform at least some of the operations in an order different from the order presented. Examples of different orders include concurrent orders, parallel orders, overlapping orders, reordered orders, simultaneous orders, incremental orders, interleaved orders, etc. Some embodiments of the operational flows may include blocks from two or more of the operational flows described herein. Thus, other embodiments of the operational flows described herein may omit blocks, add blocks, reorder blocks, combine blocks, or segment blocks into more blocks.
[0081] Moreover, this operational flow and those illustrated in Figures 5, 6, 8, 9, 10 and 11 are performed by console 40. However, some embodiments of these operational flows may also be performed by two or more consoles, by one or more other specially configured computing devices (e.g., medical imaging devices), or by one or more consoles in conjunction with one or more other specially configured computing devices.
[0082] The flow starts at block B300. The console performs a reconstruction process on the obtained cone beam projection data 201 using, for example, filtered back projection, a Feldkamp-Davis-Kress (FDK) algorithm, a Tuy-Smith-Grangeat algorithm, or iterative reconstruction to generate reconstructed image data 202. The reconstructed image data 202 includes volumetric medical image data composed of voxels, such as a three-dimensional array of voxels. Each voxel represents a particular location or volume in three-dimensional space, and each voxel has a respective voxel value. For example, each voxel value may be an intensity value representing the attenuation of an irradiated x-ray provided to the location or volume represented by the voxel. The intensity value may also be referred to as an image value, a gray value, a gray level, or a CT value. The voxel value may be proportional to an x-ray absorption coefficient. The voxel value may be measured in Hounsfield Units (HU). In commonly used volume rendering techniques, a transfer function is used to map a set of sampled voxel values to an opacity value and a color value (usually a combination of red, green, and blue color values).
[0083] Next, in block B310, the console performs image segmentation to segment the reconstructed image data 202 into a group of segmented image data 203 (also referred to herein as material component image data 203). For example, image segmentation may be performed using a threshold based on voxel values. Image segmentation may also be performed using various machine learning techniques such as neural networks, support vector machines, etc. Image segmentation may segment each voxel based on its voxel value, for example, into either air, water, soft tissue, bone, contrast agent, etc.
[0084] Each group (segmented image data group 203) of the segmented image data groups 203 corresponds to a respective material (e.g., bone, water, soft tissue, contrast agent) and may include voxels having data values corresponding to the respective material. For example, the console may segment the reconstructed image defined by the reconstructed image data 202 into a plurality of material component images. Each material component image is defined by a respective group (segmented image data 203) of the material component image data 203. Also, each group of the material component image data 203 includes voxels from the reconstructed image data 202 representing a respective material. For example, one group of the material component image data may include only voxels from the reconstructed image data 202 representing bone (i.e., only voxels having values corresponding to bone). One group of the material component image data may include only voxels from the reconstructed image data 202 representing water (i.e., only voxels having values corresponding to water). One group of the material component image data may include only voxels from the reconstructed image data 202 representing soft tissue (i.e., only voxels having values corresponding to soft tissue). One group of material component image data may include only those voxels from the reconstructed image data 202 that represent contrast agents (ie, only those voxels having values that correspond to contrast agents).
[0085] As described below in blocks B320-B340, the console maps the groups of segmented image data 203 from image space to projection space without using ray tracing forward projection.
[0086] In block B320, the console generates a respective group of Radon space data 204 (i.e., a respective Radon space data group 204) for each group of segmented image data 203 by transforming each group of segmented image data 203 into Radon space derivatives using a Fourier transform-based mapping (e.g., a mapping based on a fast Fourier transform), for example as described in Figure 5. The Radon space data 204 is radially sampled (has a radial sampling pattern) in the Radon space derivatives. Also, in cone beam CT, the Radon space derivatives are two-dimensional.
[0087] If the sampling pattern of the data in Radon space is a sampling pattern of approximately an umbrella-shaped cone beam projection geometry (CBPG shape) in the Radon space derivative, an inverse Grangeat reconstruction method (inverse Grangeat method) can be used to convert the data from the Radon space derivative to the projection space. Note that the Radon space data 204 generated in block B320 has a radial sampling pattern in the Radon space derivative.
[0088] Therefore, as part of mapping the group of segmented image data 203 from image space to projection space, the console resamples the group of Radon space data 204 having a radial sampling pattern to a group of data having a CBPG-shaped sampling pattern.
[0089] Thus, in block B330, the console performs data resampling on the groups of Radon space data 204 to generate a respective group of resampled data 205 (resampling data group 205) for each group of Radon space data 204. Each group of resampled data 205 has a CBPG-shaped sampling pattern. To perform the data resampling in block B330, the console uses the groups of Radon space data 204 as input and applies a resampling machine learning (ML) model 252. The resampling ML model 252 is a machine learning model, such as a neural network, that is trained to resample the radially sampled groups of Radon space data 204 with a CBPG-shaped resampling pattern. The resampling ML model 252 takes the groups of Radon space data 204 as input and outputs a respective group of resampled data 205 based on the input groups of Radon space data 204.
[0090] Additionally, in block B330, the console may use multiple resampling ML models 252, each corresponding to a respective material. For example, one resampling ML model 252 may correspond to bone. One resampling ML model 252 may correspond to water. One resampling ML model 252 may correspond to soft tissue. One resampling ML model 252 may correspond to contrast agent. Such groups of Radon space data 204 input to the resampling ML models 252 may be generated from segmented image data 203 corresponding to the same material as the resampling ML models 252.
[0091] FIG. 4 shows a schematic diagram of the relationship between the sampling pattern SPR of the Radon space data 204 and the sampling pattern SPU of the resampled data 205. The sampling pattern SPR of the Radon space data 204 is a radial sampling pattern in the differentiation of the Radon space. The sampling pattern SPU of the resampled data 205 is a CBPG-shaped sampling pattern in the differentiation of the Radon space (sampling patterns of only one cone beam CT projection are shown to simplify FIG. 4), and is approximately umbrella-shaped. As described above, when Fourier slices are used, a radial sampling pattern is generated in the differentiation of the Radon space. If the differentiation of the Radon space has a CBPG-shaped sampling pattern, the Grangeat relationship can be used to convert the data from the differentiation of the Radon space to the projection space (the space where the projection data 201 is acquired). Therefore, the Grangeat relationship cannot be used to convert the Radon space data 204 having a radial sampling pattern to the projection space or vice versa. However, the trained resampling ML model 252 resamples the group of Radon space data 204 into a group of resampled data 205 having a CBPG-shaped sampling pattern. The Grangitt relation can then be used to transform the group of resampled data 205 into the projection space.
[0092] Flow then proceeds to block B340. The console generates a respective group of first path length data 206 (initial path length data group 206) for each group of resampled data 205 by transforming each group of resampled data 205 into projection space, for example according to the inverse Granditt algorithm. An example embodiment of the operations in block B340 is illustrated in FIG. 6. The first path length data 206 (projection length data) is defined in projection space, and the group of first path length data 206 can define a sinogram. Since each group of resampled data 205 corresponds to a respective group of segmented image data 203 having a respective material, the group of first path length data 206 for each group of resampled data 205 indicates a respective path length (projection length) through the respective corresponding material. Additionally, a group of first path length data 206 may be projection data that includes only projection data corresponding to one group of segmented image data 203 (or a corresponding material component image), and therefore does not include any projection data corresponding to any other group of segmented image data 203. A group of first path length data 206 is indicative of the result of mapping a group of segmented image data 203 into projection space.
[0093] Thus, in blocks B320-B340, the console maps the segmented image data 203 from image space to projection space without using ray tracing forward projection, which is computationally very expensive and often very time consuming, thereby allowing the mapping of the segmented image data 203 from image space to projection space to occur more quickly.
[0094] While the inverse Granitt method can convert data from Radon space derivatives to projection space faster than forward projection, conversion using the inverse Granitt method may not be as accurate as forward projection. Thus, some embodiments include block B350. In block B350, the console performs path length refinement on the group of first path length data 206 to generate a respective group of second path length data 207 (refined path length data group 207) that is also defined in projection space. In block B350, the console performs path length refinement on the group of first path length data 206 to generate a respective group of second path length data 207 (refined path length data group 207) that is also defined in projection space. In block B350, the console applies a path length refinement ML model 256 to perform path length refinement. The path length refinement ML model 256 is a machine learning model, such as a neural network, that has been trained to output path length data in a projection space that is close to (is identical to) path length data generated by forward projection of the corresponding segmented image data 203 of the group of first path length data 206. Thus, the path length refinement ML model 256 may be trained based on path length data obtained by performing a path length estimation process including ray tracing on the image data (e.g., the segmented image data 203). For example, the path length estimation process may be a forward projection process including ray tracing. Also, the path length data obtained by performing the path length estimation process including ray tracing may be used as a learning target. The path length refinement ML model 256 may accept the group of first path length data 206 as an input and may output respective groups of second path length data 207 based on the input group of first path length data 206. Additionally, the group of second path length data 207 may be in the form of a sinogram.
[0095] Each group of refined first path length data 206 corresponds to a respective group of segmented image data 203 having a respective corresponding material. A group of second path length data 207 indicates a respective path length through a respective corresponding material. Additionally, a group of second path length data 207 includes only projection data corresponding to one group of segmented image data 203 (or a corresponding material component image). Thus, a group of second path length data 207 may be projection data that does not include any projection data corresponding to any other group of segmented image data 203. A group of second path length data 207 indicates the result of transforming a group of segmented image data 203 into projection space.
[0096] Additionally, in block B350, the console may use multiple pathlength refined ML models 256, each corresponding to a respective material. For example, one pathlength-refinement ML model 256 may correspond to bone. One pathlength-refinement ML model 256 may correspond to water. One pathlength-refinement ML model 256 may correspond to soft tissue. One pathlength-refinement ML model 256 may correspond to contrast agent. The group of first pathlength data 206 input to such pathlength-refinement ML models 256 may be generated from segmented image data 203 corresponding to the same material as the pathlength-refinement ML models 256.
[0097] Flow then proceeds to block B360 where the console performs beam hardening correction based on the group of projection data 201 and second path length data 207. For example, the beam hardening correction may be based on one or more BHC models. In this embodiment, the one or more BHC models include table 259. The output of the beam hardening correction in block B360 is corrected projection data 208, which may be in the form of a sinogram.
[0098] For example, in some embodiments where the segmentation segments the reconstructed image data 202 into two materials (and thus into two segmented image data groups 203), the generation of the corrected projection data 208 can be described by: BHC (c, s, v) are corrected projection data 208 (e.g., corrected sinogram). Note that in equation (1), PD IN (c,s,v) is the projection data 201 (e.g., input projection data 201), where PL1(c,s,v) is the first group of second path length data 207 (e.g., first path length sinogram), PL2(c,s,v) is the second group of second path length data 207 (e.g., second path length sinogram), c is the detector channel index, s is the segment index, v is the projection view index, and BHC3D is a table that serves as a correction table.
number
[0099] Furthermore, if the number of materials increases from two materials to n materials, the generation of the corrected projection data 208 can be described by: n (c,s,v) are second groups of pathlength data 207 corresponding to n different materials, respectively.
number
[0100] Also for example, in some embodiments, BHC3D can be described by: n are the path lengths of n different materials, μ1, μ2, . . . , μ n is the linear attenuation coefficient for n different materials, and Io is the post-wedge count (the number of X-ray sources after the wedge and filter).
number
[0101] And in embodiments that omit block B350, in block B360 the console can perform beam hardening correction based on the group of first path length data 206 instead of the group of second path length data 207. Thus, in block B360, the group of second path length data 207 can be replaced with the group of first path length data 206.
[0102] Also, after block B360, the console may perform other processing in addition to beam hardening correction. For example, the console may perform metal artifact reduction (MAR) processing or forward projection processing.
[0103] Finally, in block B370, the console performs reconstruction processing on the corrected projection data 208 to generate corrected reconstructed image data 209.
[0104] FIG. 5 illustrates an example of a Fourier-based mapping embodiment for transforming segmented image data into derivatives in Radon space.
[0105] The flow begins at block B500, where the console obtains a group of segmented image data 203 and maps the group of segmented image data 203 into Fourier space to generate a Fourier cube 302. For example, the console may map the group of segmented image data 203 into Fourier space using a Fast Fourier Transform (FFT), such as a three-dimensional nonuniform fast Fourier transform (3DNUFFT).
[0106] Flow then proceeds to block B510 where, according to the Fourier slice theorem (projected slice theorem), the console generates a Fourier slice 303 along the radial direction based on the Fourier cube 302.
[0107] Flow then proceeds to block B520, where the console scales the Fourier slice 303 to generate a scaled Fourier slice 304. For example, the console may generate the scaled Fourier slice 304 by scaling the Fourier slice 303 using j2πR.
[0108] Next, in block B530, the console performs an inverse FFT on the scaled Fourier slices 304 to generate a group of Radon space data 204. The Radon space data 204 is defined in terms of three-dimensional derivatives of Radon space.
[0109] 5 thus transforms the group of segment image data 203 into Radon space derivatives. The group of Radon space data 204 constitutes the segment image data 203 transformed into Radon space derivatives. The group of Radon space data 204 also has a radial sampling pattern.
[0110] 6 illustrates an embodiment of an example of a method for generating path length data from Radon space data. First, in block B600, the console obtains a group of resampled data 205 and de-post-weights the resampled data 205 to generate de-post-weighted data 305. To de-post-weight the group of resampled data 205, the console calculates (cosβ) 2 In Fig. 7, which shows a schematic of the Granger-Atto cone-beam geometry, S is the X-ray source, O is the center of the virtual detector plane, and A is a pixel of the X-ray detector (line OA is in the virtual detector plane).
[0111] Next, in block B610, the console performs a one-dimensional FFT for each radial line in the depost weighted data 305. The output of block B610 is FFT output data 306. Flow then proceeds to block B620, where the console uses a NUFFT transpose (NUFFT adjoint) for a two-dimensional backprojection of the FFT output data 306. The output of block B620 is backprojected data 307. Because the Radon data is differential, no ramp filter is required.
[0112] Flow then proceeds to block B630 where the console removes the pre-weighting on the backprojected data 307 to generate a first group of path length data 206 (which may be in the form of a sinogram).
[0113] 8 illustrates an example embodiment of a method for generating corrected projection data. Flow begins at block B800 and proceeds to block B805 where the console acquires reconstructed image data (reconstructed image data 202), for example, by generating reconstructed image data from cone beam projection data 201 or by acquiring reconstructed image data from another device.
[0114] Next, in block B810, the console segments the reconstructed image data into T segmented image data groups SD (groups of segmented image data 203), where T≧2. Each segmented image data group SD corresponds to a respective material (e.g., bone, water, soft tissue, contrast agent) and includes voxels having data values corresponding to the respective material (omitting all or nearly all other voxels). Each segmented image data group SD may also define a respective material-component image.
[0115] Flow then proceeds to block B815 where the console sets index t to 1. In block B820, the console selects a segmented image data group SDt.
[0116] Flow then proceeds to block B825, where the console converts the segmented image data group SDt to Radon space differentials using a Fourier transform-based mapping. The output of the conversion is a Radon space data group DRt (a group of Radon space data 204) having a radial sampling pattern. For example, the conversion in block B825 can be performed according to FIG. 5.
[0117] Flow proceeds to block B830 where the console applies a resampling ML model (resampling ML model 252) to the Radon spatial data group DRt as input, and the output of the resampling ML model is a resampling data group RDt (resampling data group 205) having a CBPG-shaped sampling pattern.
[0118] Next, in block B835, the console transforms the resampled data group RDt into projection space, for example according to the inverse Granditt algorithm. The output of the transformation is a path length data group PDt (a group of first path length data 206). For example, the transformation in block B835 may be performed according to the method of Figure 6. The path length data group PDt may also define a sinogram corresponding to the segmented image data group SDt.
[0119] Next, the flow moves to block B840, and the console determines, for each of the segmented image data groups SD, whether the respective path length data group PD has been generated (whether t = T). For each of the segmented image data groups SD, if the console determines that the respective path length data group PD has not been generated (if t < T), the flow moves to block B845. At block B845, the console increments the index t by 1 (t = t + 1), and then the flow returns to block B820.
[0120] For each of the segmented image data groups SD, if the console determines that the respective path length data group PD has been generated (if t = T), the flow moves to block B850.
[0121] At block B850, the console performs beam hardening correction on the projection data (the projection data 201 from which the reconstructed image data was generated) based on the projection data and the path length data group PD. Also, the console can use one or more BHC models (such as a table) to perform the beam hardening correction. The output of the beam hardening correction is the corrected projection data (corrected projection data 208).
[0122] The console can also save or output the corrected projection data. Also, the console can perform a reconstruction process on the corrected projection data for generating the reconstructed image data (corrected reconstructed image data 209), and store or output the reconstructed image data. Further, the console can control the display of one or more images based on the reconstructed image data.
[0123] Finally, the flow ends at block B855.
[0124] 9 illustrates an example embodiment of a method for generating corrected projection data. Flow begins at block B900 and proceeds to block B905 where the console acquires reconstructed image data (reconstructed image data 202), for example, by generating reconstructed image data from cone beam projection data 201 or by acquiring reconstructed image data from another device.
[0125] Next, in block B910, the console segments the reconstructed image data into T segmented image data groups SD (groups of segmented image data 203), where T > 2. Each segmented image data group SD corresponds to a respective material (e.g., bone, water, etc.) and includes voxels having data values corresponding to the respective material (and omits all or nearly all other voxels).
[0126] Flow then proceeds to block B915 where the console sets index t to 1. In block B920, the console selects a segmented image data group SDt.
[0127] Flow then proceeds to block B925, where the console converts the segmented image data group SDt to Radon space differentials using a Fourier transform-based mapping. The output of the conversion is a Radon space data group DRt (a group of Radon space data 204) having a radial sampling pattern. For example, the conversion in block B925 may be performed according to the method of FIG.
[0128] The flow proceeds to block B930, where the console applies a resampling ML model (resampling ML model 252) to the Radon spatial data group DRt as input, and the output of the resampling ML model is a resampled data group RDt (a group of resampled data 205) having a CBPG-shaped sampling pattern.
[0129] Next, in block B935, the console converts the resampled data group RDt into the projection space, for example, according to the inverse Grandient method. The output of the conversion is the path length data group PDt (the group of the first path length data 206). For example, the conversion in block B935 can also be performed according to the method of FIG. 6. The path length-data group PDt can also define a sinogram corresponding to the segmented image data group SDt.
[0130] Then, in block B940, the console applies the path length-refinement ML model (path length-refinement ML model 256) with the path length-data group PDt as the input, and the output of the path length-refinement ML model is the refined-path length-data group RPDt (the group of the second path length data 207).
[0131] Next, the flow moves to block B945, and the console determines whether a respective refined path length data group RPD has been generated for each of the segmented image data groups SD (whether t = T). If the console determines that no respective refined path length data group RPD has been generated for each of the segmented image data groups SD (if t < T), the flow moves to block B950. In block B950, the console increments t by 1 (t = t + 1), and then the flow returns to block B920.
[0132] If the console determines that a respective refined path length data group RPD has been generated for each of the segmented image data groups SD (if t = T), the flow moves to block B955.
[0133] In block B955, the console performs beam hardening correction on the projection data (projection data 201 from which the constituent image data was generated) based on the projection data and the refined path length data group RPD. The console may also use one or more BHC models (such as tables) to perform the beam hardening correction. The output of the beam hardening correction is corrected projection data (corrected projection data 208).
[0134] The console may store or output the corrected projection data. The console may also perform a reconstruction process on the corrected projection data to generate reconstructed image data (corrected reconstructed image data 209), and store or output the reconstructed image data. The console may also control the display of one or more images based on the reconstructed image data.
[0135] Finally, the flow ends at block B960.
[0136] 10 illustrates an example embodiment of a method for generating corrected projection data. Flow begins at block B1000 and proceeds to block B1005. A console acquires reconstructed image data (reconstructed image data 202), for example, by generating reconstructed image data from cone beam projection data 201 or by acquiring the reconstructed image data from another device.
[0137] Next, in block B1010, the console segments the reconstructed image data into T segmented image data groups SD (groups of segmented image data 203), where T > 2. Each segmented image data group SD corresponds to a respective material (e.g., bone, water, etc.) and includes voxels having data values corresponding to the respective material (and omits all or nearly all other voxels).
[0138] Flow then proceeds to block B1015 where the console sets index t to 1. In block B1020, the console selects a segmented image data group SDt.
[0139] Flow then proceeds to block B1025, where the console converts the segmented image data group SDt to Radon space derivatives using a Fourier transform-based mapping. The output of the conversion is a Radon space data group DRt (a group of Radon space data 204) having a radial sampling pattern. For example, the conversion in block B1025 can be performed according to the method of FIG.
[0140] The flow proceeds to block B1030 where the console resamples the Radon spatial data group DRt. The output of the resampling is a resampled data group RDt (resampling data group 205) having a CBPG-shaped sampling pattern. For example, the resampling can use linear interpolation from nearest neighbors or non-uniform fast Fourier transform based resampling.
[0141] Next, in block B1035, the console transforms the resampled data group RDt to projection space, for example according to the inverse Granditt method. The output of the transformation is a path length data group PDt (a group of first path length data 206). For example, the transformation in block B1035 may be performed according to the method of Figure 6. The path length-data group PDt may also define a sinogram corresponding to the segmented image data group SDt.
[0142] Then, in block B1040, the console applies a path length-refinement ML model (path length-refinement ML model 256) to the path length-data group PDt as input, and the output of the path length-refinement ML model is a refined path length data group RPDt (a group of second path length data 207).
[0143] Next, the flow moves to block B1045, and the console determines whether respective refined path length data groups RPD have been generated for each of the segmented image data groups SD (whether t = T). If the console determines that respective refined path length data groups RPD have not been generated for each of the segmented image data groups SD (if t < T), the flow moves to block B1050. In block B1050, the console increments t by 1 (t = t + 1), and the flow returns to block B1020.
[0144] If the console determines that respective refined path length data groups RPD have been generated for each of the segmented image data groups SD (if t = T), the flow moves to block B1055.
[0145] In block B1055, the console performs beam hardening correction on the projection data (projection data 201 from which the reconstructed image data was generated) based on the projection data and the refined path length data groups RPD. Also, the console can use one or more BHC models (such as a table) to perform the beam hardening correction. The output of the beam hardening correction is corrected projection data (corrected projection data 208).
[0146] The console may save or output the corrected projection data. Also, the console can perform a reconstruction process on the corrected projection data for generating the reconstructed image data (corrected reconstructed image data 209) and store or output the reconstructed image data. Further, the console can control the display of one or more images based on the reconstructed image data.
[0147] Finally, the flow ends at block B1060.
[0148] 11 illustrates an embodiment of an example method for generating corrected projection data. Process flow begins at block B1100 and proceeds to block B1105. The console acquires reconstructed image data (reconstructed image data 202), for example, by generating reconstructed image data from cone beam projection data 201 or by acquiring reconstructed image data from another device.
[0149] Next, in block B1110, the console segments the reconstructed image data into T segmented image data groups SD (where T is a group of segmented image data 203, and T is greater than or equal to 2). Each segmented image data group SD corresponds to a respective material (e.g., bone, water, etc.) and includes voxels having data values corresponding to the respective material (and omits all or nearly all other voxels).
[0150] Flow then proceeds to block B1115 where the console sets index t to 1. In block B1120, the console selects a segmented image data group SDt.
[0151] Flow then proceeds to block B1125, where the console generates a first data group FDGt based on a Fourier transform based mapping of the segmented image data group SDt. For example, the first data group FDGt may be generated according to blocks B500-B530 of Figure 5, blocks B600-B630 of Figure 6, block B825 of Figure 8, block B925 of Figure 9, or blocks B1025-B1035 of Figure 10. Thus, the first data group FDGt may include Radon space data or, alternatively, path length data.
[0152] The flow proceeds to block B1130, where the console generates a second data group SDGt based on the first data group FDGt. In block B1130, the console applies the trained ML model to compensate for the degeneration caused by the Fourier transform-based mapping in block B1125. The second data group SDGt is then defined in a projection space and includes data corresponding to the segmented image data group SDt. The second data group SDGt represents the result of mapping the segmented image data group SDt to the projection space, and the second data group SDGt defines a sinogram corresponding to the segmented image data group SDt.
[0153] In this embodiment, block B1130 includes blocks B1131-B1134. In block B1131, the console determines whether the first data group FDGt includes path length data or Radon space data. If the console determines that the first data group FDGt includes Radon space data, flow proceeds to block B1132. If the console determines that the first data group FDGt includes path length data, flow proceeds to block B1134.
[0154] In block B1132, the console applies a first trained ML model (resampling NL model 252) using the first data group FDGt as input, and the output of the first trained ML model is a resampling data group RDt (resampling data group 205) having a sampling pattern of the CBPG shape.
[0155] Next, in block B1133, the console converts the resampled data group RDt into the projection space, for example, by the inverse Granger method, and generates a second data group SDGt including the path length data corresponding to the segmented image data group SDt. For example, the conversion in block B1133 can also be performed according to the inverse Granger method (such as the method in FIG. 6). From block B1133, the flow migrates to block B1145.
[0156] In block B1134, the console applies the second trained ML model (path length - refinement ML model 256) with the first data group FDGt as the input, and the output of the second trained ML model is a second data group SDGt including the path length data corresponding to the segmented image data group SDt. From block B1134, the flow migrates to block B1145.
[0157] In block B1145, the console determines whether the second data group SDG has been generated for each of the segmented image data groups SD (whether t = T). If the console determines that the second data group SDG has not been generated for each of the segmented image data groups SD (when t < T), the flow migrates to block B1150. In block B1150, the console increments t by 1 (t = t + 1), and then the flow returns to block B1120.
[0158] If the console determines that the second data group SDG has been generated for each of the segmented image data groups SD (when t = T), the flow migrates to block B1155.
[0159] In block B1155, the console performs beam hardening correction on the projection data (projection data 201 from which the reconstructed image data was generated) based on the projection data and the second data group SDG. The console may also use one or more BHC models (such as tables) to perform the beam hardening correction. The output of the beam hardening correction is corrected projection data (corrected projection data 208).
[0160] The console may store or output the corrected projection data. The console may also perform a reconstruction process on the corrected projection data to generate reconstructed image data (corrected reconstructed image data 209), and store or output the reconstructed image data. The console may also control the display of one or more images based on the reconstructed image data.
[0161] Finally, the flow ends at block B1160.
[0162] 12 illustrates the flow of information in an example embodiment of a method for training a resampled ML model, in which a training data set 1200 includes a number of Radon spatial data sets 1203 and corresponding target data 1205.
[0163] Each Radon space data set 1203 includes a Radon space data group and may be generated from the respective image data (e.g., segmented image data), for example, as described in FIG. 5. Each Radon space data set 1203 also has corresponding target data 1205. The corresponding target data 1205 of the Radon space data set 1203 may be generated from the same image data (e.g., segmented image data) from which the Radon space data set 1203 was generated. The corresponding target data 1205 is generated using a ray tracing forward projection that maps the image data to a projection space. This generates corresponding projection data, then transforms the projection data from the projection space to a Radon space differential, transforms the projection data to a Radon space differential, transforms the projection data from the projection space to a Radon space differential using a Grangit method, and generates corresponding data in the Radon space differential with a CBPG-shaped sampling pattern. Thus, the corresponding target data 1205 and Radon space data set 1203 are generated from the same image data (e.g., segmented image data), but the data in the corresponding target data 1205 has a CBPG-shaped sampling pattern and the data in the Radon space data set 1203 has a radial sampling pattern.
[0164] A large training data set 1200 including multiple Radon spatial data sets 1203 and corresponding target data 1205 can be used to account for various conditions (e.g., device parameters such as scan kVp, dose, object shape, material, etc.). For example, in some embodiments, the training data set 1200 includes multiple Radon spatial data sets 1203 derived from phantom projection data and multiple Radon spatial data sets 1203 derived from patient projection data. Each phantom can be selected according to a pre-determined human anatomy with modulation of shape, size, and material from which each phantom is constructed. Also, considering a representative population of patients, the multiple Radon spatial data sets 1203 derived from patient projection data can be selected to include patients with simple and complex anatomies. The data can include patient shape, patient anatomy, organ distribution, size, metal inclusions, contrast. Also, the patient projection data set 1203 can be selected to include variations in scan kVp and dose.
[0165] The resampling ML model 252 accepts as input the Radon space data set 1203. Based on the input, the resampling ML model 252 outputs respective resampled data 205 having a CBPG-shaped sampling pattern.
[0166] The resampled data 205 and corresponding target data 1205 (corresponding to the Radon space dataset 1203 used as the basis for generating the resampled data 205) are input to one or more loss functions 1220. The one or more loss functions 1220 output one or more loss values 1225, which in this embodiment are gradients, based on the resampled data 205 and the target data 1205.
[0167] One or more loss values 1225 (e.g., gradients) are backpropagated through the resampled ML model 252. For example, the backpropagation can use one or more of steepest descent (e.g., variable learning rate, variable learning rate and momentum, and resilient backpropagation), quasi-Newton (e.g., Broyden-Fletcher-Goldfarb-Shanno, one-step secant, Levenberg-Marquardt, etc.), or conjugate gradient (e.g., Fletcher-Reeves update, Polak-Ribiere update, Powell-Beale restart, and scaled conjugate gradient) methods. And the optimization method by which the backpropagation is performed can use one or more of gradient descent, batch gradient descent, stochastic gradient descent, and mini-batch stochastic gradient descent. Additionally, the optimization method can be accelerated using one or more momentum update techniques in the optimization approach that result in faster convergence rates of stochastic gradient descent in deep networks. Optimization approaches include, for example, the Nesterov momentum method or adaptive methods (e.g., the Adagrad sub-gradient method, Adadelta of the Adagrad method, or variations of the RMSProp parameter update, etc.) The optimization method can also apply quadratic methods by incorporating the Jacobian matrix into the update step.
[0168] After backpropagation is completed, the training method of FIG. 12 may be repeated. The training method may be repeated until a predefined stopping criterion is met, which is used to determine whether training of the resampled ML model 252 is complete. For example, the predefined stopping criterion may evaluate whether the new error (loss value 1225) or the total number of iterations performed equals or exceeds a predefined value. For example, the stopping criterion may be met when the new error falls below a predefined threshold or when a maximum number of iterations is reached.
[0169] 13 illustrates the flow of information in an example embodiment of a method for training a pathlength-refinement ML model. In FIG. 13, a training dataset 1300 includes a plurality of pathlength datasets 1300 and corresponding target data 1305.
[0170] Each path length data set 1303 includes a respective group of path length data (e.g., first path length data 207) that may be generated from a respective group of resampled data 205 using an inverse Granditt method (e.g., as described in FIG. 6). Each group of resampled data 205 is generated from a respective corresponding group of image data (e.g., a segmented image data group). Each path length data set 1303 also has a respective corresponding target data 1305. The corresponding target data 1305 of each path length data set 1303 is generated from the respective group of resampled data 205 and the corresponding group of image data (e.g., a segmented image data group) from which the path length data set 1303 was generated. The corresponding target data 1305 may be generated using a path length estimation process that generates the target data 1305 from the respective group of resampled data 205 and the corresponding group of image data (e.g., segmented image data) from which each group of path length data set 1303 was generated. The path length estimation process may use forward projection or may use ray tracing (e.g., forward projection with ray tracing). Thus, the corresponding target data 1305 and path length data set 1303 may be generated from the same group of image data (e.g., segmented image data) or may be generated using different methods.
[0171] Similar to the training data set 1200 of FIG. 12, a large training data set 1300 including multiple pathlength data sets 1303 and corresponding target data 1305 can be used to describe a variety of conditions (e.g., device parameters such as scan kVp, dose, object geometry, material, etc.).
[0172] The path length-refining ML model 256 accepts as input a path length dataset 1303. Based on the input, the path length-refining ML model 256 outputs respective path length data 1307.
[0173] The path length data 1307 and corresponding target data 1305 (corresponding to the path length dataset 1303 used as the basis for generating the path length data 1307) are input to one or more loss functions 1320. The one or more loss functions 1320 output one or more loss values 1325, which in this embodiment are gradients, based on the path length data 1307 and the target data 1305.
[0174] One or more loss values 1325 (e.g., gradients) are backpropagated through the path length-refinement ML model 256. Backpropagation can use the same techniques as described above in the description of backpropagation in FIG. 12. After backpropagation is completed, the training process of FIG. 13 can be repeated. The training process can be repeated until a predefined stopping criterion is met, which is used to determine whether training of the path length-refinement NL model 256 is complete. For example, the predefined stopping criterion can evaluate whether the new loss (loss value 1325) or the total number of iterations performed exceeds a predefined value. For example, the stopping criterion can be met when the new loss (error) falls below a predefined threshold or when a maximum number of iterations is reached.
[0175] FIG. 14 illustrates an exemplary embodiment of a neural network (which may be the trained resampling ML model 252 or the trained path length refinement ML model 2566). The neural network is an artificial neural network (ANN) with N inputs, K hidden layers, and three outputs. Each layer is composed of nodes (also called neurons), which perform a weighted sum of the inputs and compare the result of the weighted sum with a threshold to generate an output. ANNs constitute a class of functions that obtain members of the class by varying the threshold, the weight of the connections, or architectural specifications such as the number and connectivity of the nodes. The nodes of an ANN are called neurons (or neuron nodes), and neurons can have interconnections between different layers of the ANN system. The simplest ANN is three-layered and is called an autoencoder. A neural network can have more than two layers of neurons and can have as many output neurons xN as there are input neurons. The synapses (i.e., the connections between neurons) store values called "weights" (also called interchangeably "coefficients" or "weighting coefficients") that manipulate the data in the calculations. The output of an ANN depends on three types of parameters: (i) the interconnection pattern between neurons in different layers, (ii) the learning process for updating the interconnection weights, and (iii) the activation function that converts the weighted input of neurons into output activations.
[0176] Mathematically, a network function m(x) of neurons can be written as a composition of other functions ni(x), which can in turn be written as a composition of other functions. This can be conveniently represented as a network structure with arrows indicating dependencies between variables, as shown in Figure 14. For example, an ANN can use a nonlinear weighted sum such as m(x)=K(Σiwi·ni(x)), where K (commonly called the activation function) is some predefined function (e.g., the hyperbolic tangent) and wi are the weights of the corresponding functions ni(x).
[0177] In Figure 14 (as well as in Figure 15), neurons (i.e., nodes) are depicted by circles around a threshold function. In the non-limiting example shown in Figure 14, inputs are depicted as circles around a linear function, and arrows indicate directed connections between neurons. In some implementations, the neural network is a feedforward network (e.g., can be represented as a directed acyclic graph) as illustrated in Figures 14 and 15.
[0178] Neural networks operate by learning to accomplish a particular task, such as resampling data or refining path lengths, by searching within a class of functions F to find m*∈F that uses a set of observations to solve the particular task in some optimal sense (e.g., the stopping criterion mentioned above). For example, in a particular implementation, this can be achieved by defining a cost function C:F⇒R such that for an optimal solution m*, C(m*)≦C(m)∀m∈F (i.e., no solution has a cost smaller than that of the optimal solution). The cost function is a measure (e.g., error) of how far a particular solution is from the optimal solution for the problem to be solved. The learning algorithm iteratively searches the solution space to find a function with the smallest possible cost. In a particular implementation, the cost is minimized over a sample of data (i.e., the training data).
[0179] In some embodiments, the neural network is a convolutional neural network (CNN), and FIG. 15 illustrates an example embodiment of a CNN. CNNs use feed-forward ANNs, where the pattern of connections between neurons can represent convolutions. For example, CNNs can be used to optimize image processing by utilizing multiple layers of small collections of neurons that process portions of the input data (e.g., projection data), called receptive fields. The output of these collections can be output in an overlapping array. This processing pattern can be repeated with multiple layers of alternating convolutional and pooling layers.
[0180] 16 illustrates an example of implementing a convolutional layer for one neuron node of the convolutional layer according to an example embodiment. FIG. 16 illustrates an example of a 4×4 kernel applied to map values from an input layer representing a two-dimensional image (e.g., a sinogram) to a first hidden layer (convolutional layer). The kernel maps each 4×4 pixel region to a corresponding neuron in the first hidden layer.
[0181] Following the convolutional layers, a CNN may include local or global pooling layers that combine the outputs of the neuron clusters in the convolutional layers. Additionally, in certain implementations, a CNN may also include various combinations of convolutional and fully connected layers, with pointwise nonlinearities applied at the end or after each layer.
[0182] 17 illustrates an example of a method embodiment for training a resampled ML model. Moreover, although this operational flow is performed by a neural network training apparatus, some embodiments of this operational flow are performed by two or more neural network training apparatuses, or by one or more other specially configured computing devices.
[0183] Flow begins at block B1700 and then proceeds to block B1705, where the neural network training apparatus obtains (e.g., retrieves from storage, receives from another device) a training data set 1200 and a resampled ML model 252. Next, in block B1710, the neural network training apparatus selects a Radon space data set 1203 and target data 1205 from the training data set 1200. The Radon space data set 1203 and the target data 1205 correspond to each other.
[0184] Flow then proceeds to block B1715, where the neural network training device applies the resampling ML model 252 using the Radon space data set 1203 as input to generate resampled data 205. Flow then proceeds to block B1720, where the neural network training device applies one or more loss functions using the target data 1205 and the resampled data 205 as input to generate one or more gradients (e.g., loss values 1225). Then, in block B1725, the neural network training device backpropagates the one or more gradients through the resampling ML model 252.
[0185] Next, in block B1730, the neural network training apparatus determines whether the training of the resampling ML model 252 has finished (e.g., whether a predefined stopping criterion has been met). If the neural network training apparatus determines that the training of the resampling ML model 252 is not complete (B1730=No), flow returns to block B1710, where the neural network training apparatus selects Radon space data set 1203 and target data 1205 from the training data set 1200, regardless of whether they were previously used in previous iterations of blocks B1715-B1725.
[0186] If the neural network training device determines that training of the resampling ML model 252 has been completed (B1730=Yes), the flow proceeds to block B1735, where the neural network training device stores or outputs the trained resampling ML model 252, and the flow ends.
[0187] 17 for each resampled ML model 252 of the plurality of resampled ML models 252. Each of the resampled ML models 252 may have a respective training data set 1200 (e.g., a training data set 1200 for a corresponding substance), and the training data set 1200 for each resampled ML model may be specific to that resampled ML model 252.
[0188] 18 illustrates an example of a method embodiment for training a pathlength-refinement ML model. Moreover, although this operational flow is performed by a neural network training apparatus, some embodiments of this operational flow are performed by two or more neural network training apparatuses, or by one or more other specially configured computing devices.
[0189] The flow begins at block B1800 and then proceeds to block B1805, where the neural network training apparatus obtains (e.g., retrieves from storage, receives from another device) a training dataset 1300 and a path length-refined ML model 256. Next, at block B1810, the neural network training apparatus selects a path length dataset 1303 (including a path length data group) and target data 1305 from the training dataset 1300. The path length dataset 1303 and the target data 1305 correspond to each other.
[0190] Flow then proceeds to block B1815, where the neural network training apparatus applies the path length-refining ML model 256 using the path length dataset 1303 as input to generate path length data 1307. Flow then proceeds to block B1820, where the neural network training apparatus applies one or more loss functions 1320 using the target data 1305 and the path length data 1307 as input to generate one or more gradients (an example of a loss value 1325). Then, in block B1825, the neural network training apparatus backpropagates the one or more gradients through the path length-refining ML model 256.
[0191] Then, in block B1830, the neural network training apparatus determines whether the training of the path length-refinement ML model 256 is completed (e.g., whether a predefined stopping criterion is met). If the neural network training apparatus determines that the training of the path length-refinement ML model 256 is not completed (B1830=No), flow returns to block B1810. The neural network training apparatus selects a path length dataset 1303 and target data 1305 from the training dataset 1300, regardless of whether they were previously used in a previous iteration of blocks B1815-B1825.
[0192] If the neural network training device determines that training of the pathlength-refinement ML model 256 is complete (B1830=Yes), flow proceeds to block B1835. The neural network training device stores or outputs the trained pathlength-refinement ML model 256 and ends the flow.
[0193] 18 for each pathlength-refined ML model 256 of the plurality of pathlength-refined ML models 256. Each of the pathlength-refined ML models 256 may also include a respective training dataset 1300 (e.g., a training dataset 1300 for a corresponding substance). Also, the training dataset 1300 for each pathlength-refined ML model may be a dataset specific to that pathlength-refined ML model 256.
[0194] 19 shows an example of an embodiment of a medical imaging system. In this embodiment, the medical image diagnostic system realizes an X-ray CT apparatus 1.
[0195] The X-ray CT apparatus 1 includes a console 40 which is a specially configured computing device, a gantry 10 and a display 42.
[0196] The console 40 includes processing circuitry 44, one or more input interface circuits 43, memory 41, and storage 45. The hardware components of the console 40 also communicate via one or more buses 49 or other electrical connections. Examples of buses 49 include a Universal Serial Bus (USB), an IEEE 1394 bus, a PCI bus, an Accelerated Graphics Port (AGP) bus, a Serial AT Attachment (SATA) bus, and a Small Computer System Interface (SCSI) bus.
[0197] The one or more input interface circuits 43 include communication components (e.g., GPU, network interface controller) that communicate with the display 42, the gantry 10, a network (not shown), and other input or output devices (not shown), and may include, for example, a keyboard, a mouse, a printing device, a touch screen, a light pen, an optical storage device, a scanner, a microphone, drives, a joystick, and a control pad.
[0198] The storage 45 includes one or more computer-readable storage media. As used herein, a computer-readable storage medium is a manufactured product, such as a magnetic disk (e.g., a floppy disk, a hard disk), an optical disk (e.g., a CD, a DVD, a Blu-ray (registered trademark)), a magneto-optical disk, a magnetic tape, and a semiconductor memory (e.g., a non-volatile memory card, a flash memory, a solid-state drive, an SRAM, a DRAM, an EPROM, an EEPROM). The storage 45, which may include both a ROM and a RAM, can store computer-readable data or computer-readable instructions. Also, the storage unit 45 is an example of a storage unit.
[0199] The console 40 further includes a system control functional module 45A, a reconstruction processing functional module 45B, an image processing functional module 45C, a display control functional module 45D, an image segmentation functional module 45E, a resampling functional module 45F, a path length functional module 45G, and a BHC functional module 45H. The modules include logic, computer readable data, or computer executable instructions. In the embodiment shown in FIG. 19, the modules are implemented in software (e.g., assembly, C, C++, C#, Java, BASIC, Perl, Visual Basic). However, in some embodiments, the modules are implemented in hardware (e.g., customized circuitry), or alternatively, a combination of software and hardware. When the modules are implemented at least partially in software, the software can be stored in the storage 45. Also, in some embodiments, the console 40 includes additional or fewer modules, the modules are combined into fewer modules, or the modules are divided into more modules. Further, the storage 45 includes a NN·BHC-model storage module 45l that stores neural networks (or other machine learning models) and beam hardening correction models (e.g., BHC tables).
[0200] The system control function module 45A includes instructions for causing the corresponding components of the console 40 (e.g., the processing circuitry 44, the input interface circuitry 43, the memory 41) to control various functions of the gantry 10 and perform various input / output functions, such as performing a CT scan to generate projection data, transmitting projection data to other devices, transmitting reconstructed image data to other devices, and acquiring reconstructed image data from other devices. For example, some embodiments of the system control function module 45A include instructions for causing the corresponding components of the console 40 to perform at least some of the operations described in block B805 of FIG. 8, block B905 of FIG. 9, block B1005 of FIG. 10, and block B1105 of FIG. 11. The system control function module 45A may also cause the corresponding components of the console 40 to implement the system control function 441 of FIG. 1. The corresponding components operating in accordance with the system control function module 45A implement an example of a control unit.
[0201] The reconstruction processing functional module 45B includes instructions for causing the appropriate components of the console 40 (e.g., the processing circuitry 44, the memory 41) to perform reconstruction processing on the projection data (e.g., the detection data, the pre-processed projection data, the corrected projection data) to generate reconstructed image data (e.g., the corrected reconstructed image data). The instructions may cause the appropriate components to perform pre-processing operations on the projection data. For example, some embodiments of the reconstruction processing functional module 45C include instructions for causing the appropriate components of the console 40 to perform at least some of the operations described in blocks B300 and B3700 of FIG. 3, block B805 of FIG. 3, and block B805 of FIG. 3. The reconstruction processing functional module 45B includes instructions for causing the appropriate components of the console 40 to perform at least some of the operations described in blocks B805 of FIG. 3, block B905 of FIG. 8, block B905 of FIG. 9, block B1005 of FIG. 10, and block B1105 of FIG. 11. The reconstruction processing function module 45C can also cause applicable components of the console 40 to realize the reconstruction processing function 442 in Fig. 1. The applicable components operating according to the reconstruction processing function module 45C realize an example of a reconstruction processing unit.
[0202] The image processing function module 45C includes instructions that cause applicable components of the console 40 (e.g., the processing circuitry 44, the memory 41) to generate tomographic image data from the reconstructed image data. The image processing function module 45C may also cause applicable components of the console 40 to implement the image processing function 443 of Fig. 1. The applicable components that operate according to the image processing function module 45C and implement an example of an image processing unit.
[0203] The display control function module 45D may include instructions to cause applicable components of the console 40 (e.g., the processing circuitry 44, the input interface circuitry 43, the memory 41) to control the display 42 to display an image (e.g., an image based on the tomographic image data). The display control function module 45D may also cause the applicable components of the console 40 to implement the display control function 444 of Fig. 1. The applicable components operating according to the display control function module 45D implement an example of a display control unit.
[0204] The image segmentation function module 45E includes instructions that cause the appropriate components of the console 40 (e.g., the processing circuitry 44, the memory 41) to segment the reconstructed image data into groups of segmentation image data. For example, some embodiments of the image segmentation function module 45E include instructions that cause the appropriate components of the console 40 to perform at least some of the operations described in block B310 of FIG. 3. The image segmentation function module 45E may include instructions that cause the appropriate components of the console 40 to perform at least some of the operations described in block B310 of FIG. 3, block B810 of FIG. 8, block B910 of FIG. 9, block B1010 of FIG. 10, and block B1110 of FIG. 11. The image segmentation function module 45E may also cause the appropriate components of the console 40 to implement the image segmentation function module 45E of FIG. 1. The applicable components operating according to the image segmentation function module 45E implement an example of an image segmentation unit.
[0205] The resampling function module 45F includes instructions to cause the appropriate components of the console 40 (e.g., the processing circuitry 44, the memory 41) to perform resampling to convert the segmented image data to Radon space derivatives and resample the data in the Radon space derivatives from a radial-like sampling pattern to a CBPG-like sampling pattern. For example, some embodiments of the resampling function module 45F may include instructions to cause the appropriate components of the console 40 to perform at least some of the operations described in blocks B320 and B330 of FIG. 3. The resampling function module 45F may include instructions to cause the appropriate components of the console 40 to perform at least some of the operations described in blocks B500-B530 of FIG. 3, blocks B500-B530 of FIG. 5, blocks B815-B830 of FIG. 8, blocks B915-B930 of FIG. 9, blocks B1015-B1030 of FIG. 10, and blocks B1115-B1130 of FIG. 11. The resampling function module 45F may also cause a corresponding component of the console 40 to implement the resampling function 446 in Fig. 1. The applied component operating according to the resampling function module 45F then implements an example of a resampling unit.
[0206] The path length function module 45G includes instructions to cause the appropriate components of the console 40 (e.g., processing circuitry 44, memory 41) to generate a group of path length data (e.g., an initial group of path length data) based on the group of resampled data, or to generate a second group of path length data based on the first group of path length data. For example, some embodiments of the path length function module 45G include instructions to cause the appropriate components of the console 40 to perform at least some of the operations described in blocks B340-B350 of FIG. 3. The path length function module 45G includes instructions to cause the appropriate components of the console 40 to perform at least some of the operations described in blocks B600-B630 of FIG. 3, block B835 of FIG. 6, blocks B935-B940 of FIG. 9, blocks B1035-B1040 of FIG. 10, and blocks B1120-B1130 of FIG. 11. The path length function module 45G may also cause the appropriate components of the console 40 to implement the path length generation function 447 of FIG. 1. The application component operating according to path length function module 45G implements one example of a path length generation unit.
[0207] The BHC-functionality module 45H includes instructions that cause the appropriate components of the console 40 (e.g., processing circuitry 44, memory 41) to perform beam hardening correction on the projection data based on the projection data, based on the path length data (e.g., second path length data), and in some embodiments, based on one or more beam hardening correction models (e.g., tables). For example, some embodiments of the BHC-functionality module 45H include instructions that cause the appropriate components of the console 40 to perform at least some of the operations described in block B360 of FIG. 3 and block B850 of FIG. 3. The BHC-functionality module 45H may also include instructions that cause the appropriate components of the console 40 to perform at least some of the operations described in block B360 of FIG. 3, block B850 of FIG. 8, block B955 of FIG. 9, block B1055 of FIG. 10, and block B1155 of FIG. 11. The BHC-functionality module 45H may also cause the appropriate components of the console 40 to implement the BHC functionality 448 of FIG. 1. And, the applicable components operating according to BHC function module 45H implement one example of a BHC unit.
[0208] 20 shows an example embodiment of a neural network training device. Components of the neural network training device 1940 that have the same names and reference numbers as components of the console 40 may be the same as or similar to those components of the console 40, and therefore further description of those components will be omitted.
[0209] The neural network trainer 1940 may include an ML-model storage module 45J, a training control module 45K, a loss function module 45L, a backpropagation module 45M, a communication module 45N, and a training dataset 45O. The training dataset 45O may include one or both of the training dataset 1200 of FIG. 12 and the training dataset 1300 of FIG. 13.
[0210] The training control module 45K includes instructions to cause the appropriate components of the neural network trainer 1940 (e.g., the processing circuitry 44, memory 41 of the neural network trainer 1940) to train one or more resampling ML models or train one or more path length refinement ML models, and store the trained resampling ML models and path length refinement ML models in the ML model storage module 45J. To perform these processes, the training control module 45K can also invoke other modules (e.g., the reconstruction processing function module 45B, the image segmentation function module 45E, the resampling function module 45F, the loss function module 45L, the backpropagation module 45M). For example, some embodiments of the training control module 45K include instructions to cause the appropriate components of the neural network trainer 1940 to perform the overall flow described in FIG. 17 or the overall flow described in FIG. 18 (again, note that the training control module 45K calls other modules to perform some of these operations). The applicable components operating in accordance with the training control module 45K implement one example of a training control unit.
[0211] The loss function module 45L includes instructions to cause the corresponding components of the neural network trainer 1940 (e.g., processing circuitry 44, memory 41) to implement a loss function (e.g., loss function 1220 of FIG. 12) that outputs a loss value (e.g., a gradient) based on the input resampled data and the input target data, or implement a loss function (e.g., loss function 1320 of FIG. 13) that outputs a loss value (e.g., a gradient) based on the input resampled data and the input target data, or implement a loss function (e.g., loss function 1320 of FIG. 13) that outputs a loss value (e.g., a gradient) based on the input path length data (e.g., second path length data) and the input target data. For example, some embodiments of the loss function module 45L include instructions to cause the corresponding components of the neural network trainer 1940 to perform at least some of the operations described in block B1720 of FIG. 17 and block B1820 of FIG. 18. The instructions include instructions to perform at least some of the operations described in block B1720 of Figure 17 and block B1820 of Figure 18. The relevant components operating in accordance with the loss function module 45L implement an example of a loss function unit.
[0212] The backpropagation module 45M may include instructions that cause applicable components of the neural network training device 1940 (e.g., processing circuitry 44, memory 41) to backpropagate the loss values through the ML models (e.g., resampling ML model, path length-refinement ML model). For example, some embodiments of the backpropagation module 45M may include instructions that cause applicable components of the neural network training device 1940 to perform at least some of the operations described in block B1725 of Figure 17 and block B1825 of Figure 18. The applicable components operating in accordance with the backpropagation module 45M implement one example of a backpropagation unit.
[0213] The communications module 45N includes instructions that cause applicable components of the neural network training apparatus 1940 (e.g., processing circuitry 44, memory 41, input interface circuitry 43) to communicate with other devices such as consoles, servers, and databases. The applicable components operating in accordance with the communications module 45N implement an example of a communications unit.
[0214] Although specific embodiments have been described, these embodiments are presented for illustrative purposes only and are not intended to limit the scope of the present invention. Indeed, the novel embodiments described herein may be embodied in other various forms. Furthermore, various omissions, substitutions, and changes in the form of the embodiments described herein may be made without departing from the spirit of the present invention. The appended claims and their equivalents are intended to cover such forms or modifications as fall within the scope and spirit of the present invention. Thus, the claims are not limited to the above-described embodiments, but include various modifications and equivalent arrangements.
Claims
1. obtaining a group of reconstructed image data; transforming the groups of reconstructed image data into a derivative of Radon space to generate Radon space data, the Radon space data having a radial sampling pattern in the derivative of Radon space; inputting the Radon space data into a first trained machine learning model for resampling the Radon space data to generate resampled data, the resampled data having a sampling pattern of a cone beam projection geometry on a derivative of the Radon space; 13. A method for generating computed tomography data comprising:
2. Transforming the reconstructed image data to the derivatives in Radon space, Mapping the reconstructed image data into Fourier space; generating Fourier slices from the reconstructed image data mapped into Fourier space; Scaling the Fourier slice to generate a scaled Fourier slice; performing an inverse radial Fourier transform on the scaled Fourier slices; The method of claim 1 , comprising:
3. generating first pathlength data based on the resampled data; applying a second trained machine learning model to the first path length data to generate second path length data, the second trained machine learning model being trained on third path length data, the third path length data being obtained by applying a second path length estimation process to one or more sets of reconstructed image data, the second path length estimation process including ray tracing; The method of claim 1 , comprising:
4. generating corrected projection data, the generating of the corrected projection data comprising performing a beam hardening correction on the projection data based on the second path length data and the projection data; The method of claim 3 , comprising:
5. generating reconstructed image data based on the corrected projection data; The method of claim 4 comprising:
6. the reconstructed image data group is generated by segmenting a set of reconstructed image data into two or more reconstructed image data groups, the two or more reconstructed image data groups including the group of reconstructed image data; The method of claim 1 , comprising:
7. Scanning the subject to obtain a set of projection data; generating a set of reconstructed image data, the generating the set of reconstructed image data including performing a reconstruction process on the set of projection data; applying a first process to a group of reconstructed image data obtained from the set of reconstructed image data to obtain first data, the first process including a Fourier transform process; Applying a trained machine learning model to the first data to obtain second data, the trained machine learning model being trained to compensate for accuracy degradation caused by the Fourier transform process; applying a beam hardening correction process to the set of projection data based on the second data to obtain corrected projection data; A medical image processing method comprising:
8. the first data has a radial sampling pattern in a derivative of Radon space; The learned machine learning model is trained to resample data from the radial sampling pattern to a cone beam projection sampling pattern; the second data having a sampling pattern in the shape of a cone beam projection at the derivative in Radon space; The medical image processing method according to claim 7 , comprising:
9. applying a beam hardening correction process to the set of projection data based on the second data to obtain the corrected projection data includes transforming the second data to a projection space. The medical image processing method according to claim 8.
10. The trained machine learning model is trained based on projection space data obtained by processing including a Fourier transform process based on the reconstructed image data and a forward projection process based on the reconstructed data; The medical image processing method according to claim 7 , comprising:
11. generating reconstructed image data based on the corrected projection data; The medical image processing method according to claim 7 , further comprising:
12. one or more computer readable storage media storing instructions; one or more processors; The one or more processors and the one or more computer readable storage media include: Scanning the subject to obtain a set of projection data; generating a set of reconstructed image data, the generating the set of reconstructed image data including performing a reconstruction process on the set of projection data; applying a first process to a group of reconstructed image data obtained from the set of reconstructed image data to obtain first data, the first process including a Fourier transform process; Applying a trained machine learning model to the first data to obtain second data, the trained machine learning model being trained to compensate for accuracy degradation caused by the Fourier transform process; applying a beam hardening correction process to the set of projection data based on the second data to obtain corrected projection data; An image processing device comprising:
13. the first data has a radial sampling pattern in a derivative of Radon space; The learned machine learning model is trained to resample data from the radial sampling pattern to a cone beam projection sampling pattern; the second data has a sampling pattern in the shape of a cone beam projection in the derivative of Radon space; The image processing device according to claim 12.
14. applying a beam hardening correction process to the set of projection data based on the second data to obtain the corrected projection data includes transforming the second data to a projection space. The image processing device according to claim 13.
15. acquiring a set of projection data, the set of projection data being generated by scanning an object; generating a set of reconstructed image data, the generating the set of reconstructed image data including performing a reconstruction process on the set of projection data; applying a first path length estimation process to a group of reconstructed image data obtained from the set of reconstructed image data to obtain first data corresponding to a particular material, the first path length estimation process including a Fourier transform process; applying a first trained machine learning model to the first path length data to obtain second path length data corresponding to the particular material, the first trained machine learning model being trained on third path length data, the third path length data being obtained by applying a second path length estimation process to the one or more reconstructed image data, the second path length estimation process comprising ray tracing; generating corrected projection data, wherein generating the corrected projection data includes applying a beam hardening correction process to the set of projection data based on the second path length data; A medical image processing method comprising:
16. the set of projection data is generated by scanning the subject using a cone beam computed tomography scan.
16. The medical image processing method according to claim 15.
17. The first path length estimation process includes: generating Radon space data defined in terms of Radon space derivatives based on a Fourier transform based mapping that maps the reconstructed data groups to Radon space derivatives; applying an inverse Granitt reconstruction method to the Radon spatial data; The medical image processing method according to claim 15, comprising:
18. The first group of reconstructed image data is segmenting the set of reconstructed image data into two or more reconstructed image data groups, the two or more reconstructed image data groups including the first group of reconstructed image data, each of the two or more reconstructed image data groups corresponding to a particular material; 16. The medical image processing method according to claim 15.
19. The first path length estimation process includes: generating first Radon space data, the first Radon space data being defined in terms of derivatives of Radon space; generating first Radon space data defined by a derivative of Radon space based on a Fourier transform based mapping of the first group of reconstructed data to a derivative of Radon space, the first Radon space data having a radial sampling pattern; generating second Radon spatial data based on the first Radon spatial data, wherein generating the second Radon spatial data includes applying a second trained machine learning model to the first Radon spatial data, the second Radon spatial data having a sampling pattern of a cone beam projection geometry; 20. The medical image processing method according to claim 18, comprising:
20. the segmentation is based on voxel values in the reconstructed image data.
20. The medical image processing method according to claim 19.