# US 11,908,045 B2 · Iterative algorithm for proton CT image reconstruction

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 11,908,045 B2
- Document ID: US11908045B2
- Status: Granted
- Kind: B2
- Application number: 17/486,734
- Filed: 2021-09-27
- Published: 2022-03-31
- Granted: 2024-02-20
- Earliest claimed: 2020-09-28
- Assignees: ProtonVDA LLC
- Applicants: ProtonVDA LLC
- Inventors: Don Frederic Dejongh; Ethan Alan Dejongh
- Web page: https://patentgrep.com/patent/US11908045B2

## CPC

- G06T 12/10: Image preprocessing, e.g. calibration, positioning of sources or scatter correction
- G06T 12/20: Inverse problem, i.e. transformations from projection space into object space
- G06T 2210/41: Medical
- G06T 2211/424: Iterative
- G06T: IMAGE DATA PROCESSING OR GENERATION, IN GENERAL

## Abstract

Described herein is a system for 3D proton imaging encompassing both proton radiography (pRad) and proton CT (pCT). The disclosed system can reduce range uncertainties, while providing a fast and efficient check of patient set up and integrated range along a beam's eye view just before treatment. The disclosed system provides a complete solution to the range inaccuracy problem in proton therapy, substantially reducing the uncertainties of treatment planning by directly measuring relative stopping power without being affected by image artifacts and with much lower dose to the patient than comparable x-ray images. Also described herein is a proton imaging algorithm for prompt iterative 3D pCT image reconstruction, where each iteration is fast and efficient, and the number of iterations is minimized. The method offers a unique solution that optimally fits different protons and does not depend on the starting point for the first iteration.

## Claims

### Claim 1

A method to iteratively reconstruct a proton (pCT) image comprising:
determining an A matrix comprising a plurality of chord lengths, the plurality of chord lengths corresponding to one or more proton trajectories through one or more voxels;
determining a b vector including one or more water equivalent path length (WEPL) values, the one or more WEPL values corresponding to one or more protons;
determining a x vector including one or more relative stopping power (RSP) values, the RSP values corresponding to the one or more voxels;
determining a proton deviation vector based on the A matrix, the b vector, and the x vector, wherein the proton deviation vector comprises one or more deviations, the one or more deviations corresponding to the one or more protons;
determining a voxel deviation vector comprising one or more entries, the one or more entries corresponding to weighted averages of the one or more deviations of the one or more protons going through the one or more voxels;
determining a relaxation parameter;
updating the x vector based on the voxel deviation vector and the relaxation parameter; and
repeating the steps of determining the proton deviation vector to updating the x vector until a stopping criterion is reached.

### Claim 2 (depends on 1)

The method in claim 1, wherein the weighted averages of the one or more deviations of the one or more protons use the plurality of chord lengths as weights.

### Claim 3 (depends on 1)

The method in claim 1, wherein the relaxation parameter is determined by minimizing a square of the proton deviation vector.

### Claim 4 (depends on 1)

The method in claim 1, wherein the relaxation parameter is determined by setting the sum of the voxel deviation vector equal to zero.

### Claim 5 (depends on 1)

The method in claim 1, wherein the relaxation parameter is determined by minimizing a square of the voxel deviation vector.

### Claim 6 (depends on 1)

The method in claim 1, wherein the relaxation parameter is determined by setting a mode of the voxel deviation vector equal to zero.

### Claim 7 (depends on 1)

The method in claim 1, wherein the stopping criterion is reached when a root mean square of the voxel deviation vector is less than an estimated average voxel precision.

### Claim 8 (depends on 1)

The method in claim 1, wherein the determining the proton deviation vector or the determining the voxel deviation vector comprises performing a vector-matrix multiplication.

### Claim 9 (depends on 8)

The method in claim 8, wherein the vector-matrix multiplication comprises:
dividing data into a plurality of proton blocks, wherein at least one of the plurality of proton blocks includes a single proton;
processing the plurality of proton blocks in parallel;
concatenating a first plurality of outputs from the plurality of proton blocks to assemble a first output vector;
dividing data into a plurality of voxel blocks, wherein at least one of the plurality of voxel blocks includes a single voxel;
processing the plurality of voxel blocks in parallel; and
concatenating a second plurality of outputs from the plurality of voxel blocks to assemble a second output vector.

### Claim 10

A non-transitory computer readable medium, the computer readable medium including instructions that, when executed, perform a method of iteratively reconstructing a proton (pCT) image, the method comprising:
determining an A matrix comprising a plurality of chord lengths, the plurality of chord lengths corresponding to one or more proton trajectories through one or more voxels;
determining a b vector including one or more water equivalent path length (WEPL) values, the one or more WEPL values corresponding to one or more protons;
determining a x vector including one or more relative stopping power (RSP) values, the RSP values corresponding to the one or more voxels;
determining a proton deviation vector based on the A matrix, the b vector, and the x vector, wherein the proton deviation vector comprises one or more deviations, the one or more deviations corresponding to the one or more protons;
determining a voxel deviation vector comprising one or more entries, the one or more entries corresponding to weighted averages of the one or more deviations of the one or more protons going through the one or more voxels;
determining a relaxation parameter;
updating the x vector based on the voxel deviation vector and the relaxation parameter; and
repeating the steps of determining the proton deviation vector to updating the x vector until a stopping criterion is reached.

### Claim 11 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the weighted averages of the one or more deviations of the one or more protons use the plurality of chord lengths as weights.

### Claim 12 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the relaxation parameter is determined by minimizing a square of the proton deviation vector.

### Claim 13 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the relaxation parameter is determined by setting the sum of the voxel deviation vector equal to zero.

### Claim 14 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the relaxation parameter is determined by minimizing a square of the voxel deviation vector.

### Claim 15 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the relaxation parameter is determined by setting a mode of the voxel deviation vector equal to zero.

### Claim 16 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the stopping criterion is reached when a root mean square of the voxel deviation vector is less than an estimated average voxel precision.

### Claim 17 (depends on 10)

The non-transitory computer readable medium of claim 10, wherein the determining the proton deviation vector or the determining the voxel deviation vector comprises performing a vector-matrix multiplication.

### Claim 18 (depends on 17)

The non-transitory computer readable medium of claim 17, wherein the vector-matrix multiplication comprises:
dividing data into a plurality of proton blocks, wherein at least one of the plurality of proton blocks includes a single proton;
processing the plurality of proton blocks in parallel;
concatenating a first plurality of outputs from the plurality of proton blocks to assemble a first output vector;
dividing data into a plurality of voxel blocks, wherein at least one of the plurality of voxel blocks includes a single voxel;
processing the plurality of voxel blocks in parallel; and
concatenating a second plurality of outputs from the plurality of voxel blocks to assemble a second output vector.

### Claim 19

A system for 3D proton imaging of an object, the system comprising:
a source for generating a pencil beam of protons;
a scanning element for steering the pencil beam of protons;
a plurality of tracking detectors for generating photons, the photons corresponding to the pencil beam of protons interacting with the object;
a residual range detector; and
a computing system for receiving signals from the plurality of tracking detectors and the residual range detector, the computing system configured to:
determine an A matrix comprising a plurality of chord lengths, the plurality of chord lengths corresponding to one or more proton trajectories through one or more voxels;
determine a b vector including one or more water equivalent path length (WEPL) values, the one or more WEPL values corresponding to the pencil beam of protons;
determine a x vector including one or more relative stopping power (RSP) values, the RSP values corresponding to the one or more voxels;
determine a proton deviation vector based on the A matrix, the b vector, and the x vector, wherein the proton deviation vector comprises one or more deviations, the one or more deviations corresponding to the pencil beam of protons;
determine a voxel deviation vector comprising one or more entries, the one or more entries corresponding to weighted averages of the one or more deviations of the pencil beam of protons going through the one or more voxels;
determine a relaxation parameter;
update the x vector based on the voxel deviation vector and the relaxation parameter; and
repeat the steps of determining the proton deviation vector to updating the x vector until a stopping criterion is reached.

### Claim 20 (depends on 19)

The system of claim 19, wherein the computing system is further configured to:
divide data into a plurality of proton blocks, wherein at least one of the plurality of proton blocks includes a single proton;
process the plurality of proton blocks in parallel;
concatenate a first plurality of outputs from the plurality of proton blocks to assemble a first output vector;
divide data into a plurality of voxel blocks, wherein at least one of the plurality of voxel blocks includes a single voxel;
process the plurality of voxel blocks in parallel; and
concatenate a second plurality of outputs from the plurality of voxel blocks to assemble a second output vector.
