CT motion compensation

The method uses overlapping CT scan volumes to generate a rigid transformation function, effectively compensating for motion in CT scans of rigid body parts by aligning slices, thereby reducing artifacts and enhancing image quality.

WO2026119951A1PCT designated stage Publication Date: 2026-06-11KONINKLIJKE PHILIPS NV

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
KONINKLIJKE PHILIPS NV
Filing Date
2025-12-03
Publication Date
2026-06-11

AI Technical Summary

Technical Problem

Standard CT reconstruction algorithms fail to effectively compensate for non-periodic motion during data acquisition, leading to residual motion artifacts, particularly in scans of rigid body parts like the head.

Method used

A method involving two CT scan volumes of overlapping time segments is used to generate a reference motion state, enabling a time-dependent rigid transformation function to align and compensate for motion by translating and rotating slices without scaling or deformation.

🎯Benefits of technology

This approach efficiently compensates for motion in CT scans of rigid body parts, such as the head, by aligning slices to a reference motion state, reducing artifacts and improving image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025085218_11062026_PF_FP_ABST
    Figure EP2025085218_11062026_PF_FP_ABST
Patent Text Reader

Abstract

Proposed concepts thus aim to provide schemes, solutions, concept, designs, methods and systems pertaining to compensating for motion during a CT scan. In particular, embodiments aim to provide a method for compensating for motion during a CT scan by obtaining two CT scan volumes of the same portion of a subject (and which at least partially overlap in time) and then taking one slice of one of the CT scan volumes and generating a reference motion state (i.e., a ground truth reference) based on the subject's motion state at the point of time of the selected slice. Based on this reference motion state and the first and second CT scan volumes, a time-dependent rigid transformation function can be generated (i.e., a transformation function which only uses rigid transformations) and then either applied directly to the first and second CT scan volumes to compensate for their motion or applied to the original projection data to generate a motion-compensated CT scan volume from scratch.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] CT MOTION COMPENSATION

[0002] FIELD OF THE INVENTION

[0003] This invention relates to the field of motion compensation, and more specifically, to the field of motion compensation for computed tomography.

[0004] BACKGROUND OF THE INVENTION

[0005] Standard CT reconstruction algorithms typically assume the object / subject to be static. These algorithms achieve, to some extent, robustness with respect to motion via the smooth weighting of redundant data. However, this approach mainly reduces the extent of motion artifacts, and smoothing still happens if the subject moves during data acquisition.

[0006] The simplest method to handle motion during a scan is the retrospective gating approach, which can be used if the motion is periodic. This is mainly used in cardiac CT and pulmonary-gated CT. Still, even with gating, residual motion can occur within the gating window.

[0007] Recently, however, more advanced methods for handling subject motion have been formulated, such as motion compensated reconstruction (MCR). This has been established for cardiac CT and pulmonary-gated CT.

[0008] For non-periodic pulmonary motion, it is also known to reconstruct several images from the raw data with slight temporal displacement by using data from different detector areas (e.g., only the lower / upper half of it) in different reconstructions. An elastic registration can then subsequently be applied to estimate the relative motion between the reconstructions, followed by a conventional MCR back-projection. Due to the technique used to generate the input images for registration (i.e., only using data from part of the detector), this method is referred to as detector segment based MCR.

[0009] US patent 2006 / 165267 discloses automatically determining convergence when registering image sets are provided. An Enhanced Image Registration System (EIRS) receives two image sets to align, and compares two image sets to determine or measure how closely the image sets are aligned, and determines an appropriate transformation to apply to one of the image sets. The article “Automated 3-D registration! of MR and CT images of the band”, by Studholme C et al, in Medical Image Analysis, Oxford University Press, vol 1, no. 2, 1 June 1996, p. 163-175, DOI:10.1016 / S1361-8414(96)80011-9 describes the application of voxel similarity measures in the automated registration of clinically acquired MR and CT data of the head.

[0010] US patent 10249064B2 discloses obtain first and second data sets representative of at least some measurements of a measurement volume obtained by rotation of a medical scanner relative to the measurement volume during a first and second overlapping scanning time periods estimating motion between the first scanning time period and second scanning time period based on the first data set and second data set.

[0011] US patent 2017 / 340304 discloses material decomposition based on spectral computed tomography (CT) projection data generated using registered reconstructed images, where registration is performed in the image domain. Motion images are generated and the projection data is then corrected using the motion images, and material decomposition is performed using the motion-corrected projection data.

[0012] SUMMARY OF THE INVENTION

[0013] The invention is defined by the claims.

[0014] According to examples in accordance with an aspect of the invention, there is provided a method for compensating for motion during a CT scan.

[0015] The method comprises: receiving a first CT scan volume of a portion of a subject comprising a first stack of slices separated in time; receiving a second CT scan volume of the same portion of a subject comprising a second stack of slices separated in time, wherein the second CT scan volume partially overlaps in time with the first CT scan volume; generating a reference motion state based on one of the slices from the first stack of slices; determining a time-dependent rigid transformation function based on the reference motion state and the first and second CT scan volumes; and generating a motion-compensated CT scan volume based on the rigid transformation function and either the first and second CT scan volumes or projection data from which the first and second CT scan volumes were reconstructed.

[0016] Proposed concepts thus aim to provide schemes, solutions, concepts, designs, methods, and systems pertaining to compensating for motion during a CT scan. In particular, embodiments aim to provide a method for compensating for motion during a CT scan by obtaining two CT scan volumes of the same portion of a subject (and which at least partially overlap in time) and then taking one slice of one of the CT scan volumes and generating a reference motion state (i.e., a ground truth reference) based on the subject’s motion state at the point of time of the selected slice. Based on this reference motion state and the first and second CT scan volumes, a time-dependent rigid transformation function can be generated (i.e., a transformation function which only uses rigid transformations) and then either applied directly to the first and second CT scan volumes to compensate for their motion or applied to the original projection data to generate an entirely new motion-compensated CT scan volume.

[0017] In other words, it is proposed that by generating a particular reference motion state from the two received CT scan volumes (e.g., by merely selecting a single slice from one of the CT scan volumes), a rigid transformation function can be determined which can essentially be used to rigidly transform every other slice in the stacks of slices of the two CT scan volumes to match the reference motion state. After generating this rigid transformation function, the two scan volumes can then be ‘corrected’ with said function, such that all the slices will then match the reference motion state. Alternatively, the rigid transformation function can be used to compensate for motion during a fresh reconstruction from the original projection data (from which the CT scan volumes were reconstructed).

[0018] By specifically using a rigid transformation function, that is a transformation function which only uses rigid transformations, i.e., translations and / or rotations without any scaling or deformation, motion of rigid body parts (like the head) can be more efficiently compensated. In other words, this method of motion compensation assumes that motion of the portion of the subject being imaged is rigid, and this assumption allows for an easier, effective compensation of motion. This may be particularly useful, for example, for CT scans of rigid parts of the body such as the head. For example, head motion can be effectively assumed to be rigid motion, moving as a single, solid entity without any deformation or change in shape.

[0019] Ultimately, an improved method for compensating for motion during a CT scan is provided which allows for motion to be compensated for by assuming the motion to be rigid.

[0020] In some embodiments, determining the rigid transformation function may comprise generating a first estimate of the rigid transformation function based on the reference motion state and a first neighbouring slice in the second stack of slices neighbouring the slice upon which the reference motion state was based. A neighbouring slice can be understood as a slice which corresponds in position rather than in time, and as the two stacks of slices are time offset from one another (i.e., only partially overlapping in time), this thus leads to a time difference between the neighbouring slices, such that an estimate of the (time-dependent) rigid transformation function may be generated based on the differences between the two neighbouring slices. Starting with the slice upon which the reference motion state was based may facilitate the estimation of a rigid transformation function which can compensate for motion which deviates from the reference motion state.

[0021] In some embodiments, determining the rigid transformation function may further comprise generating a second estimate based on the first estimate, a first corresponding slice in the first stack of slices corresponding in time to the first neighbouring slice, and a second neighbouring slice in the second stack of slices neighbouring the first corresponding slice. The first estimate of the rigid transformation function may thus be built on, using a slice from the first stack corresponding in time to the first neighbouring slice (i.e., in the same motion state), and then a neighbouring slice again. As would be apparent to the skilled person, this process of iterative estimation at different points in time can be chained together, wherein the next estimate is based on the previous estimate, a slice corresponding in time to the previous neighbouring slice, and then a new neighbouring slice.

[0022] In some embodiments, determining the rigid transformation function may further comprise interpolating between the first estimate and the second estimate. This may facilitate the inference of the rigid transformation function for time-states in between those for which the rigid transformation function has been directly estimated.

[0023] In some embodiments, generating a motion-compensated CT scan volume may comprise: compensating for motion in each slice of the first and second stacks of slices respectively based on the rigid transformation function to generate motion-compensated first and second CT scan volumes; and generating a motion-compensated CT scan volume based on the motion-compensated first and second CT scan volumes. This may facilitate the motion in the first and second CT scan volumes being directly compensated for in order to generate the motion-compensated CT scan volume.

[0024] In some embodiments, generating a motion-compensated CT scan volume may comprise: receiving projection data from which the first and second CT scan volumes were reconstructed; and reconstructing a motion-compensated CT scan volume based on the projection data and the rigid transformation function. This may allow a motion-compensated CT scan volume to be freshly reconstructed from the original projection data, taking advantage of the determined rigid transformation function during the reconstruction process.

[0025] In some embodiments, the first stack of slices may comprise at least one slice which is earlier than any slice in the second stack of slices, and the reference motion state may be generated based on one of these earlier slices. This may allow the reference motion state to be based on one of the earliest slices (if not the earliest slice), where the subject is likely to be in a more preferable position, e.g., before any unwanted movement. In some embodiments, determining the rigid transformation function may comprise estimating the second CT scan volume to be separated in time from the first CT scan volume by a constant corresponding to an integer number of slices. This may facilitate more efficient and / or effective determining of neighbouring slices, for example, as well as interpolation.

[0026] In some embodiments, generating the reference motion state may comprise selecting one of the slices from the first stack of slices as the reference motion state. Simply selecting one of the slices is an efficient and sufficient way of generating the reference motion state.

[0027] In some embodiments, generating the reference motion state may further comprise transforming the selected slice. This may allow for the selected slice to be translated or rotated, for example, allowing for more flexibility in generating the reference motion state.

[0028] In some embodiments, a rigid transformation may comprise a translation and / or a rotation without any scaling or deformation.

[0029] In some embodiments, the portion of the subject may comprise a rigid portion of the subject. The present method may be of particular benefit in compensating for motion of a rigid portion of a subject.

[0030] In some embodiments, the rigid portion of the subject may be the head of the subject. The present method may be of particular benefit in compensating for motion of a subject’s head.

[0031] According to another aspect of the invention, there is provided a computer program product comprising computer program code means which, when executed on a computing device having a processing system, cause the processing system to perform all of the steps of the computer-implemented method according to any herein disclosed method.

[0032] According to another aspect of the invention, there is provided a system for compensating for motion during a CT scan. The system comprising an input interface configured to: receive a first CT scan volume of a portion of a subject comprising a first stack of slices separated in time; and receive a second CT scan volume of the same portion of a subject comprising a second stack of slices separated in time, wherein the second CT scan volume partially overlaps in time with the first CT scan volume; and a processing unit configured to: generate a reference motion state based on one of the slices from the first stack of slices; determine a time-dependent rigid transformation function based on the reference motion state and the first and second CT scan volumes; and generate a motion-compensated CT scan volume based on the rigid transformation function and either the first and second CT scan volumes or projection data from which the first and second CT scan volumes were reconstructed.

[0033] In some embodiments, determining the rigid transformation function may comprise generating a first estimate of the rigid transformation function based on the reference motion state and a first neighbouring slice in the second stack of slices neighbouring the slice upon which the reference motion state was based.

[0034] Thus, there may be proposed concepts for compensating for motion during a CT scan, and this may be done based on two CT scan volumes partially overlapping in time and the determining of a time-dependent rigid transformation function.

[0035] These and other aspects of the invention will be apparent from and elucidated with reference to the embodiment s) described hereinafter.

[0036] BRIEF DESCRIPTION OF THE DRAWINGS

[0037] For a better understanding of the invention, and to show more clearly how it may be carried into effect, reference will now be made, by way of example only, to the accompanying drawings, in which:

[0038] Fig. l is a simplified flow diagram of a method for compensating for motion during a CT scan according to a proposed embodiment;

[0039] Fig. 2A is an illustration showing an example of how a rigid transformation function can be used to compensate for motion in each slice of three CT scan volumes, according to a proposed embodiment;

[0040] Fig. 2B is an illustration showing an example of how a first and second estimate of a rigid transformation function can be generated, according to a proposed embodiment;

[0041] Fig. 3 is a flow diagram of a method for compensating for motion during a CT scan according to a proposed embodiment;

[0042] Fig. 4 is a flow diagram of a method for compensating for motion during a CT scan according to a proposed embodiment;

[0043] Fig. 5 is a simplified block diagram of a system for compensating for motion during a CT scan according to a proposed embodiment; and

[0044] Fig. 6 illustrates an example of a computer within which one or more parts of an embodiment may be employed.

[0045] DETAILED DESCRIPTION OF THE EMBODIMENTS

[0046] The invention will be described with reference to the Figures. Embodiments of the invention aim to provide a method for compensating for motion during a CT scan. This can be achieved by obtaining, during the CT scan, two or more CT scan volumes of the same portion of a subject (and which at least partially overlap in time) and then taking one slice of one of the two or more CT scan volumes and generating a reference motion state (i.e., a ground truth reference) based on the subject’s motion state at the point of time of the selected slice. Based on this reference motion state and the first and second CT scan volumes, a time-dependent rigid transformation function can be generated (i.e., a transformation function which only uses rigid transformations) and then either applied directly to the first and second CT scan volumes to compensate for their motion or applied to the original projection data to generate an entirely new motion-compensated CT scan volume.

[0047] In other words, it is proposed that by generating a particular reference motion state from the two received CT scan volumes (e.g., by merely selecting a single slice from one of the CT scan volumes), a rigid transformation function can be determined which can essentially be used to rigidly transform every other slice in the stacks of slices of the two CT scan volumes to match the reference motion state. After generating this rigid transformation function, the two scan volumes can then be ‘corrected’ with said function, such that all the slices will then match the reference motion state. Alternatively, the rigid transformation function can be used to compensate for motion during a fresh reconstruction from the original projection data (from which the two or more CT scan volumes were reconstructed).

[0048] Referring now to Fig. 1, there is depicted a simplified flow diagram of a method 100 for compensating for motion during a CT scan according to a proposed embodiment.

[0049] Step 110 comprises receiving a first CT scan volume of a portion of a subject comprising a first stack of slices separated in time and step 120 comprises receiving a second CT scan volume of the same portion of a subject comprising a second stack of slices separated in time, wherein the second CT scan volume partially overlaps in time with the first CT scan volume. For example, each CT scan volume is an overlapping sub-portion of the same projection data. The stacks of slices being separated in time can be understood as, within each stack, each slice having a different time stamp, e.g., separated by time constant.

[0050] In this embodiment, the portion of the subject comprises a rigid portion of the subject. The present method may be of particular benefit in compensating for motion of a rigid portion of a subject. The skilled person would appreciate, however, that the present invention would also be of use when the portion of the subject comprises a not-strictly rigid portion of the subject, for instance, a semi- or partially rigid portion of the subject. In fact, in this embodiment, the rigid portion of the subject is specifically the head of the subject. The present invention is of particular benefit in compensating for motion of a subject’s head, as the head is one of the most rigid portions of the body.

[0051] Step 130 comprises generating a reference motion state based on one of the slices from the first stack of slices. This reference motion state can be understood as the motion state that will form the ground truth of the motion compensation. In other words, motion will be compensated for in slices in order to have their motion state match the reference motion state. As the reference motion state is based on one of the slices, the time stamp of this selected slice can then be thought of as a reference time stamp.

[0052] It is noted, in this embodiment, that the first stack of slices comprises at least one slice which is earlier than any slice in the second stack of slices, and the reference motion state is generated based on one of these earlier slices. This can thus allow the reference motion state to be based on one of the earliest slices (if not the earliest slice), where the subject is likely to be in a more preferable position, e.g., before any unwanted movement. As would be understood by the skilled person, however, this feature is not essential and in other embodiments, the reference motion state can be based on any suitable slice, regardless of its relative timing.

[0053] Step 140 comprises determining a time-dependent rigid transformation function based on the reference motion state and the first and second CT scan volumes. The rigid transformation function can be understood as a function dependent on time that can be used to transform the motion states of slices to the reference motion state. In other words, if a slice has a time stamp that is not the reference time stamp, the rigid transformation function can be used to essentially calculate how to transform said slice such that its motion state matches the reference motion state. As the rigid transformation function is time-dependent, depending on the time stamp of the slice being transformed, different transformations can be applied to have the motion state of the slice then match the reference motion state.

[0054] To be clear, a rigid transformation can comprise a translation and / or a rotation without any scaling or deformation. If any scaling or deformation is performed, then it is no longer a rigid transformation.

[0055] Step 150 comprises generating a motion-compensated CT scan volume based on the rigid transformation function and either the first and second CT scan volumes or projection data from which the first and second CT scan volumes were reconstructed. In other words, the rigid transformation function can be used to generate a motion-compensated CT scan volume either by applying it directly to the first and second CT scan volumes to compensate for their motion or by applying it to the original projection data to generate a motion-compensated CT scan volume from scratch.

[0056] Referring now to Fig. 2A, there is depicted an illustration showing an example of how a rigid transformation function can be used to compensate for motion in each slice of three CT scan volumes, according to a proposed embodiment.

[0057] At the top, there can be seen three non-moti on-corrected CT scan volumes, 210a, 210b, and 210c. For example, these can be CT scan volumes reconstructed from a helical acquisition using three different parts of the detector (each part spanning a separate, possibly partially overlapping, range of consecutive detector rows, thus generating a time offset between the scan volumes determined by the movement of the subject in z-direction and the offset between the detector parts in z direction). These three CT scan volumes each comprise stacks of slices separated in time, respectively. Furthermore, these three CT scan volumes all partially overlap in time with one another (as indicated by the shading of the slices, wherein the same shade corresponds to the same timestamp). For instance, since the detector segments cause a certain temporal shift of the image slices, the timestamps are shifted between the three volumes. After the time-dependent rigid transformation function has been determined, it is applied to each volume independently, as indicated by the downward arrows, resulting in three motion-corrected CT scan volumes, 220a, 220b, and 220c. As can be seen, each slice in in the motion- compensated volumes has been rotated and / or translated compared to the non-motion- compensated volumes, 210a, 210b, and 210c. In other words, Fig. 2A shows the transformation of CT scan volumes 210a, 210b, and 210c to a ground truth by a slice-wise application of a rigid transformation function. While the transformations in the example shown in Fig. 2A are 2D motions for illustrative purposes, it is also envisioned that 3D motion is estimated for each slice.

[0058] As would be appreciated by the skilled person, the slices which correspond in time to one another (i.e., which share the same timestamp (and thus shade)) are transformed in the same way, as the differences between their motion states and the reference motion state will be the same.

[0059] Referring now to Fig. 2B, there is depicted an illustration showing an example of how a first and second estimate of a rigid transformation function can be generated, according to a proposed embodiment.

[0060] There is provided a first CT scan volume 250 comprising a first stack of slices separated in time and a second CT scan volume 260 comprising a second stack of slices separated in time. For instance, determining the rigid transformation function can comprise generating a first estimate of the rigid transformation function based on the reference motion state (in this case, simply selected as the first slice 255 of the first CT scan volume 250) and a first neighbouring slice 265 (i.e., the first slice 265 of the second CT scan volume 260) neighbouring the slice 255 upon which the reference motion state was based (again, in this case, simply selected as). A neighbouring slice can be understood as a slice corresponding in position (i.e., first, second, third, etc.) rather than time. This thus results in the two slices being time offset from one another as the volumes themselves, 250 and 260, are time offset from one another.

[0061] Determining the rigid transformation function can then further comprise generating a second estimate of the rigid transformation function based on the first estimate, a first corresponding slice 275 in the first stack of slices 250, corresponding in time (i.e., having the same timestamp) as the first neighbouring slice 265, and a second neighbouring slice 285 in the second stack of slices 260 neighbouring the first corresponding slice 275.

[0062] To be clear, the first and second estimations are thus estimations of the same timedependent rigid transformation function at a first and second time, respectively - the first time corresponding to the timestamp of first neighbouring slice 265 and the second time corresponding to the timestamp of the second neighbouring slice 285.

[0063] Determining the rigid transformation function can then further comprise interpolating a rigid transformation for the slices between the first estimate and the second estimate. This can allow the rigid transformation function for timestamps in between those for which the rigid transformation function has been directly estimated to be inferred. As the skilled person would understand, interpolation would only be required / possible if the two CT scan volumes are separated in time by more than one slice, as otherwise, there would then be no timestates for which estimates are not directly generated.

[0064] Referring now to Fig. 3, there is depicted a flow diagram of a method 300 for compensating for motion during a CT scan according to a proposed embodiment.

[0065] Steps 110 and 120 are substantially the same as have been described in relation to the method 100 in Fig. 1.

[0066] Step 330 comprises selecting one of the slices from the first stack of slices as the reference motion state. In other words, in this embodiment, generating the reference motion state comprises selecting one of the slices from the first stack of slices as the reference motion state. Simply selecting one of the slices is an efficient and sufficient way of generating the reference motion state. In other embodiments, however, the reference motion state can be generated in any suitable way, as would be understood by the skilled person, for example, after selecting a slice, the selected slice could be transformed. For example, this can allow the selected slice to be translated or rotated, for example, allowing for more flexibility in generating the reference motion state.

[0067] Step 340 comprises generating a first estimate of the rigid transformation function based on the reference motion state and a first neighbouring slice in the second stack of slices neighbouring the slice upon which the reference motion state was based (as described above in relation to Fig. 2B). As stated, a neighbouring slice can be understood as a slice which corresponds in position rather than time, and as the two stacks of slices are time offset from one another (i.e., only partially overlapping in time), this thus leads to a time difference between the neighbouring slices, such that an estimate of the (time-dependent) rigid transformation function can be generated based on the differences between the two neighbouring slices. Starting with the slice upon which the reference motion state was based facilitates the estimation of a rigid transformation function which can compensate for motion which deviates from the reference motion state.

[0068] Step 342 comprises generating a second estimate based on the first estimate, a first corresponding slice in the first stack of slices corresponding in time to the first neighbouring slice, and a second neighbouring slice in the second stack of slices neighbouring the first corresponding slice (as described above in relation to Fig. 2B). The first estimate of the rigid transformation function can thus be built on, using a slice from the first stack corresponding in time to the first neighbouring slice (i.e., in the same motion state), and then a neighbouring slice again. As would be apparent to the skilled person, this process of iterative estimation at different points in time can be chained together, wherein the next estimate is based on the previous estimate, a slice corresponding in time to (i.e., having the same timestamp as) the previous neighbouring slice, and then a new neighbouring slice (i.e., having the same position in their respective stacks).

[0069] Step 344 then comprises interpolating between the first estimate and the second estimate. This allows for the rigid transformation function to be inferred for time-states in between those for which the rigid transformation function has been directly estimated.

[0070] It is noted that in this embodiment, before steps 340, 342, and 344, it is estimated that the second CT scan volume is separated in time from the first CT scan volume by a constant corresponding to an integer number of slices. This facilitates more efficient and / or effective determining of neighbouring slices, for example, as well as interpolation, though is not essential to the working of the invention. Step 315 comprises receiving projection data from which the first and second CT scan volumes were reconstructed. Receiving can also be understood as obtaining, retrieving, etc., and is not intended to limit to any particular way of getting hold of the projection data.

[0071] Step 350 thus comprises reconstructing a motion-compensated CT scan volume based on the projection data and the rigid transformation function. This essentially allows a motion-compensated CT scan volume to be freshly reconstructed from the original projection data, taking advantage of the determined rigid transformation function during the reconstruction process.

[0072] Referring now to Fig. 4, there is depicted a flow diagram of a method 400 for compensating for motion during a CT scan according to a proposed embodiment. Steps 110, 120, 130 and 140 are substantially the same has have been described in relation to method 100 of Fig. 1.

[0073] Step 445 comprises compensating for motion in each slice of the first and second stacks of slices respectively based on the rigid transformation function to generate motion- compensated first and second CT scan volumes. Step 450 then comprises generating a motion- compensated CT scan volume based on the motion-compensated first and second CT scan volumes, for example, combining them in any suitable way, as would be understood by the skilled person. This thus facilitates the motion in the first and second CT scan volumes being directly compensated for in order to generate the motion-compensated CT scan volume.

[0074] Now, considering a specific example, during the CT scan, the object-being- scanned undergoes a rigid motion, i.e., the object is transformed by a time-dependent translation and rotation. This transformation can be referred to as T(f). A reference motion state can then be generated (e.g., based on a slice with timestamp t = to) and so we can therefore take T(to) = Id (wherein Id= the reference motion state). The slice / image at t = 0 can be referred to as the ground truth. Each slice of the stack of slices (acquired during the CT scan) then corresponds to a certain time,

[0075] I = to + id (1)

[0076] It can then be assumed that each slice, i, is free of deformation, i.e., it corresponds to an (oblique) slice of the ground truth transformed rigidly by T(ti). In this example, three different CT scan volumes are obtained, A, B, and C, respectively. The slices of volume A are denoted by at, the slices of volume B by Z>;, etc. Each volume is a representation of the ground truth transformed by T(t), but the mapping of slices i to times Z / .,i , ti,c differs. Each volume has a different to - these can be denoted as to^, to,B, to.c. Each of the volumes, A, B, and C can thus be transformed into the ground truth image by a slice-wise application of a (yet unknown) inverse of the rigid transformation T taken at the time that corresponds to the respective time of the slice. To be clear, the rigid transformation function described in relation to method 100 of Fig. 1, can be considered an inverse of a rigid transformation function which transforms a volume of a ground truth representation into a motion-affected volume.

[0077] Thus, the desired reconstruction algorithm can be considered as an optimization (registration) problem, namely, to find a time-dependent rigid transformation T^t) such that the volumes spanned by match. It should be noted that, as is usually done in registration problems, a smoothness constraint can be added to the rigid transformation 7;(t), i.e., such that the six parameters which describe the transformation vary smoothly in time.

[0078] This is thus a general description of an algorithm which works on entire scan volumes (e.g., simultaneously). Practically, however, an incremental version of the algorithm can be used, as will now be outlined.

[0079] As stated, individual times / / ..i, B, and tj,c only differ by a constant, e.g.: ti,A + 2 A = tirB + A = ti,c (2)

[0080] For the sake of clarity, the time difference A is assumed to relate exactly to a slice index difference of n. The volume C can be assumed to be earliest in time, i.e., reconstructed from the detector segment that is on the leading edge of the detector. The time for the first reconstructed slice in volume C is set to to. Thus, subsequent slices of volume C correspond to times 4, 4, etc. Slices bo and ao thus correspond to times tnand 4„, respectively.

[0081] An example method for compensating for motion during a CT scan can thus be outlined as follows:

[0082] Set 7(4) = Id

[0083] EstimateJ(4) by picking slice bo, including (for registration purposes) their nearest neighbours, and estimatingJ(4) by rigid registration of the two slices from volume B to co (i.e., Z>o’s neighbour slice, bi)

[0084] Estimate B1(t2n) by picking slices bnand ao, including (for registration purposes) their nearest neighbours, and estimating, by rigid registration of the slices from volume B to cnand the slices from volume A to bo, an intermediate transformation S (settingJ(4») = S ° 7 (4)), where ° denotes the concatenation of transformations. For n>l, the process leaves temporal gaps in the estimated transformations (e.g., in steps 2 and 3) - these intermediate transformations may be obtained via interpolation between etc.

[0085] Estimate by picking slices Z>2„ and an, including (for registration purposes) their nearest neighbours an-i, an+i, and estimating, by rigid registration of the slices from volume A to bn, another intermediate transformation S (setting;(6n) = S ° 7L / ( / 2O))

[0086] Iteratively repeat steps 3 to 5, mutatis mutandis, working through the volumes

[0087] Generate ground truth images (i.e., motion-compensated images) by applying the inverse transformation T1to all slices and resampling to a cartesian grid. This step can be performed in a sliding fashion.

[0088] In the above example, images are generated in the ground truth motion state, i.e., the final reconstruction aims at representing the true geometry of the volume, e.g., a head. Alternatively, slice-wise motion state referencing can be used. For example, this can be simple to realise (in the simplified version of the algorithm described above, e.g., working on entire scan volumes) since it is equivalent to applying only local transformations S rather than accumulating the different rigid transformations (by concatenating S with previously estimated transformations Additionally, the process can start with the identity transformation for the first slice of volume B.

[0089] In more detail, mathematically, the general concept can be considered an optimization problem for the unknown transformation T f), sampled at some discrete time points ti. For the sake of brevity, we assume tirA=ti. Thus, we have t i = +A and ti,c =ti+2A.

[0090] For each time point, a rigid transformation can be estimated, which can be specified by a six-dimensional parameter vector pi. For example, the elements of pt can be three translations and three Euler angles.

[0091] For the sake of a compact notation, can be defined as the rigid transformation defined by pt. Using this nomenclature, the volumes to match during registration are spanned by Of course, each of these volumes are now spanned by a couple of oblique slices (since different rigid transformations are applied to each slice of the stack. For the registration, it is thus convenient to also define versions of these volumes resampled to a common grid. These volumes can be defined with a resampling operator R such that the following volumes are three-dimensional images defined on the same voxel grid:

[0092] The optimization performed during the registration can thus be written using a so- called data term:

[0093] In equation (4), each of the terms is a sum of squared difference between two transformed and resampled volumes.

[0094] The smoothness constraint can be implemented, for instance, by using a so-called regularization term that ensures that the transformation parameters do not change quickly in time, for example, a regularization term of the form: may be used where the VF-norm on the parameter space is defined by a diagonal matrix W with positive diagonal elements w1, w2, w3, w4, w5, w6as

[0095] 11 11 w = S iwk k (6)

[0096] Thus, the overall registration process can be defined as a minimization problem according to:

[0097] P = argmin

[0098] Referring now to Fig. 5, there is depicted a system 500 for compensating for motion during a CT scan according to a proposed embodiment. The system 500 comprises an input interface 510 and a processing unit 520.

[0099] The system 500 is configured to compensate for motion during a CT scan by processing inputs 515. The inputs 515 comprise a first CT scan volume of a portion of a subject comprising a first stack of slices separated in time, and a second CT scan volume of the same portion of a subject comprising a second stack of slices separated in time, wherein the second CT scan volume partially overlaps in time with the first CT scan volume. The input interface 510 receives the inputs 515 and the processing unit 520 is then configured to process them to generate an output 530. The output 530 comprises a motion-compensated CT scan volume. The processing unit 520 is specifically configured to do this by: generating a reference motion state based on one of the slices from the first stack of slices; determining a time-dependent rigid transformation function based on the reference motion state and the first and second CT scan volumes; and generating a motion-compensated CT scan volume based on the rigid transformation function and either the first and second CT scan volumes or projection data from which the first and second CT scan volumes were reconstructed.

[0100] Fig. 6 illustrates an example of a computer 600 within which one or more parts of an embodiment may be employed. Various operations discussed above may utilize the capabilities of the computer 600. In this regard, it is to be understood that system functional blocks can run on a single computer or may be distributed over several computers and locations (e.g. connected via internet).

[0101] The computer 600 includes, but is not limited to, PCs, workstations, laptops, PDAs, palm devices, servers, storages, and the like. Generally, in terms of hardware architecture, the computer 600 may include one or more processors 610, memory 620 and one or more I / O devices 630 that are communicatively coupled via a local interface (not shown). The local interface can be, for example but not limited to, one or more buses or other wired or wireless connections, as is known in the art. The local interface may have additional elements, such as controllers, buffers (caches), drivers, repeaters, and receivers, to enable communications. Further, the local interface may include address, control, and / or data connections to enable appropriate communications among the aforementioned components.

[0102] The processor 610 is a hardware device for executing software that can be stored in the memory 620. The processor 610 can be virtually any custom made or commercially available processor, a central processing unit (CPU), a digital signal processor (DSP), or an auxiliary processor among several processors associated with the computer 600, and the processor 610 may be a semiconductor based microprocessor (in the form of a microchip) or a microprocessor.

[0103] The memory 620 can include any one or combination of volatile memory elements (e.g., random access memory (RAM), such as dynamic random access memory (DRAM), static random access memory (SRAM), etc.) and non-volatile memory elements (e.g., ROM, erasable programmable read only memory (EPROM), electronically erasable programmable read only memory (EEPROM), programmable read only memory (PROM), tape, compact disc read only memory (CD-ROM), disk, diskette, cartridge, cassette or the like, etc.). Moreover, the memory 620 may incorporate electronic, magnetic, optical, and / or other types of storage media. Note that the memory 620 can have a distributed architecture, where various components are situated remote from one another, but can be accessed by the processor 610.

[0104] The software in the memory 620 may include one or more separate programs, each of which comprises an ordered listing of executable instructions for implementing logical functions. The software in the memory 620 includes a suitable operating system (O / S) 650, compiler 660, source code 670, and one or more applications 680 in accordance with exemplary embodiments. As illustrated, the application 680 comprises numerous functional components for implementing the features and operations of the exemplary embodiments. The application 680 of the computer 600 may represent various applications, computational units, logic, functional units, processes, operations, virtual entities, and / or modules in accordance with exemplary embodiments, but the application 680 is not meant to be a limitation.

[0105] The operating system 650 controls the execution of other computer programs, and provides scheduling, input-output control, file and data management, memory management, and communication control and related services. It is contemplated by the inventors that the application 680 for implementing exemplary embodiments may be applicable on all commercially available operating systems.

[0106] Application 680 may be a source program, executable program (object code), script, or any other entity comprising a set of instructions to be performed.

[0107] The I / O devices 630 may include input devices such as, for example but not limited to, a mouse, keyboard, scanner, microphone, camera, etc. Furthermore, the I / O devices 630 may also include output devices, for example but not limited to a printer, display, etc. Finally, the VO devices 630 may further include devices that communicate both inputs and outputs, for instance but not limited to, a NIC or modulator / demodulator (for accessing remote devices, other files, devices, systems, or a network), a radio frequency (RF) or other transceiver, a telephonic interface, a bridge, a router, etc. The I / O devices 630 also include components for communicating over various networks, such as the Internet or intranet.

[0108] When the computer 600 is in operation, the processor 610 is configured to execute software stored within the memory 620, to communicate data to and from the memory 620, and to generally control operations of the computer 600 pursuant to the software. The application 680 and the O / S 650 are read, in whole or in part, by the processor 610, perhaps buffered within the processor 610, and then executed.

[0109] When the application 680 is implemented in software it should be noted that the application 680 can be stored on virtually any computer readable medium for use by or in connection with any computer related system or method. In the context of this document, a computer readable medium may be an electronic, magnetic, optical, or other physical device or means that can contain or store a computer program for use by or in connection with a computer related system or method.

[0110] The methods of Figs. 1, 3 and 4, and the system of Fig. 5, may be implemented in hardware or software, or a mixture of both (for example, as firmware running on a hardware device). To the extent that an embodiment is implemented partly or wholly in software, the functional steps illustrated in the process flowcharts may be performed by suitably programmed physical computing devices, such as one or more central processing units (CPUs) or graphics processing units (GPUs). Each process - and its individual component steps as illustrated in the flowcharts - may be performed by the same or different computing devices. According to embodiments, a computer-readable storage medium stores a computer program comprising computer program code configured to cause one or more physical computing devices to carry out an encoding or decoding method as described above when the program is run on the one or more physical computing devices.

[0111] Storage media may include volatile and non-volatile computer memory such as RAM, PROM, EPROM, and EEPROM, optical discs (like CD, DVD, BD), magnetic storage media (like hard discs and tapes). Various storage media may be fixed within a computing device or may be transportable, such that the one or more programs stored thereon can be loaded into a processor.

[0112] To the extent that an embodiment is implemented partly or wholly in hardware, the blocks shown in the block diagrams of Fig. 6 may be separate physical components, or logical subdivisions of single physical components, or may be all implemented in an integrated manner in one physical component. The functions of one block shown in the drawings may be divided between multiple components in an implementation, or the functions of multiple blocks shown in the drawings may be combined in single components in an implementation. Hardware components suitable for use in embodiments of the present invention include, but are not limited to, conventional microprocessors, application specific integrated circuits (ASICs), and field- programmable gate arrays (FPGAs). One or more blocks may be implemented as a combination of dedicated hardware to perform some functions and one or more programmed microprocessors and associated circuitry to perform other functions.

[0113] A single processor or other unit may fulfil the functions of several items recited in the claims. The mere fact that certain measures are recited in mutually different dependent claims does not indicate that a combination of these measures cannot be used to advantage. If a computer program is discussed above, it may be stored / distributed on a suitable medium, such as an optical storage medium or a solid-state medium supplied together with or as part of other hardware, but may also be distributed in other forms, such as via the Internet or other wired or wireless telecommunication systems. If the term "adapted to" is used in the claims or description, it is noted the term "adapted to" is intended to be equivalent to the term "configured to". Any reference signs in the claims should not be construed as limiting the scope.

[0114] The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and / or flowchart illustration, and combinations of blocks in the block diagrams and / or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions, the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention.

[0115] It should be understood that the detailed description and specific examples, while indicating exemplary embodiments of the apparatus, systems and methods, are intended for purposes of illustration only and are not intended to limit the scope of the invention. These and other features, aspects, and advantages of the apparatus, systems and methods of the present invention will become better understood from the following description, appended claims, and accompanying drawings. It should be understood that the Figures are merely schematic and are not drawn to scale. It should also be understood that the same reference numerals are used throughout the Figures to indicate the same or similar parts.

[0116] Variations to the disclosed embodiments can be understood and effected by those skilled in the art in practicing the claimed invention, from a study of the drawings, the disclosure and the appended claims. In the claims, the word “comprising” does not exclude other elements or steps, and the indefinite article “a” or “an” does not exclude a plurality.

[0117] Implementations in accordance with the present disclosure relate to various techniques, methods, schemes and / or solutions pertaining to compensating for motion during a CT scan. According to proposed concepts, a number of possible solutions may be implemented separately or jointly. That is, although these possible solutions may be described below separately, two or more of these possible solutions may be implemented in one combination or another.

Claims

CLAIMS:

1. A computer-implemented method (100) for compensating for motion during a CT scan, the method comprising: receiving a first CT scan volume (110) of a portion of a subject comprising a first stack of slices separated in time; receiving a second CT scan volume (120) of the same portion of a subject comprising a second stack of slices separated in time, wherein the second CT scan volume partially overlaps in time with the first CT scan volume; generating a reference motion state (130) based on one of the slices from the first stack of slices; determining a time-dependent rigid transformation function (140) by generating a first estimate of the rigid transformation function (340) based on the reference motion state and a first neighbouring slice in the second stack of slices neighbouring the slice upon which the reference motion state was based, a second estimate (342) based on the first estimate, a first corresponding slice in the first stack of slices corresponding in time to the first neighbouring slice, and a second neighbouring slice in the second stack of slices neighbouring the first corresponding slice, and interpolating between the first estimate and the second estimate; and generating a motion-compensated CT scan volume (150) based on the rigid transformation function and either the first and second CT scan volumes or projection data from which the first and second CT scan volumes were reconstructed.

2. The computer-implemented method of claim 1, wherein generating a motion- compensated CT scan volume comprises: compensating for motion in each slice of the first and second stacks of slices respectively (445) based on the rigid transformation function to generate motion-compensated first and second CT scan volumes; and generating a motion-compensated CT scan volume (450) based on the motion- compensated first and second CT scan volumes.

3. The computer-implemented method of claim 1, wherein generating a motion- compensated CT scan volume comprises: receiving projection data (315) from which the first and second CT scan volumes were reconstructed; and reconstructing a motion-compensated CT scan volume (350) based on the projection data and the rigid transformation function.

4. The computer-implemented method of any of claims 1 to 3, wherein the first stack of slices comprises at least one slice which is earlier than any slice in the second stack of slices, and the reference motion state is generated based on one of these earlier slices.

5. The computer-implemented method of any of claims 1 to 4, wherein determining the rigid transformation function comprises estimating the second CT scan volume to be separated in time from the first CT scan volume by a constant corresponding to an integer number of slices.

6. The computer-implemented method of any of claims 1 to 5, wherein generating the reference motion state comprises selecting one of the slices from the first stack of slices as the reference motion state (330), and optionally, transforming the selected slice.

7. The computer-implemented method of any of claims 1 to 6, wherein a rigid transformation comprises a translation and / or a rotation without any scaling or deformation.

8. The computer-implemented method of any of claims 1 to 7, wherein the portion of the subject comprises a rigid portion of the subject.

9. The method of claim 8, wherein the rigid portion of subject is the head of the subject.

10. A computer program product comprising computer program code means which, when executed on a computing device having a processing system, cause the processing system to perform all of the steps of the computer-implemented method according to any of claims 1 to 9.

11. A system (500) for compensating for motion during a CT scan, the system comprising: an input interface (510) configured to: receive a first CT scan volume of a portion of a subject comprising a first stack of slices separated in time; and receive a second CT scan volume of the same portion of a subject comprising a second stack of slices separated in time, wherein the second CT scan volume partially overlaps in time with the first CT scan volume; and a processing unit (520) configured to: generate a reference motion state based on one of the slices from the first stack of slices; determine a time-dependent rigid transformation function by generating a first estimate of the rigid transformation function (340) based on the reference motion state and a first neighbouring slice in the second stack of slices neighbouring the slice upon which the reference motion state was based, a second estimate (342) based on the first estimate, a first corresponding slice in the first stack of slices corresponding in time to the first neighbouring slice, and a second neighbouring slice in the second stack of slices neighbouring the first corresponding slice, and interpolating between the first estimate and the second estimate; and generate a motion-compensated CT scan volume based on the rigid transformation function and either the first and second CT scan volumes or projection data from which the first and second CT scan volumes were reconstructed.

12. The system of claim 11, wherein determining the rigid transformation function comprises generating a first estimate of the rigid transformation function based on the reference motion state and a first neighbouring slice in the second stack of slices neighbouring the slice upon which the reference motion state was based.