llnl / llnl/LEAP

Correspondence between the z-axis coordinates of CT projection data and CT volume

Open
#212 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Cuda
Stars
249
Forks
37
PR merge metrics
No merged PRs in 30d

Description

I am reconstructing projection data from the 2016 AAPM Low Dose CT Grand Challenge dataset, and I would like the reconstructed volume to be aligned with the official reconstruction. I encountered the following issue.

The projection data in this dataset correspond to a helical CT acquisition with a cylindrical detector. In LEAP, I am reconstructing the data using cone-beam geometry together with a helical pitch parameter.

For patient L067, the official projection data are provided in DICOM-CT-PD format. The corresponding `z_0` values in the projection data are:

`[48.50999832, 48.52999878, 48.54000092, ..., 532.97998047, 532.98999023, 533.0]`

where the meaning of `z_0` is shown in the figure (from [_DICOM-CT-PD User Manual Version 3_](https://www.cancerimagingarchive.net/wp-content/uploads/DICOM-CT-PD-User-Manual_Version-3.pdf)).

Image

The official reconstructed 3D image volume also provides the `Reconstruction Target Center` for each slice, whose z-coordinates are:

`[-67, -67.8, -68.6, ..., -514.2]`

which appears to correspond approximately to `-z_0`, up to an offset.

However, based on my observations of the LEAP reconstruction results, the reconstructed voxel volume appears to be centered around zero, i.e. its z-range is something like `[-m, m]`. In LEAP, the reconstructed region is specified by setting `offsetZ` as the center of the volume and `numZ` as the number of slices, together with the voxel height.

What I would like to know is: when reconstructing with LEAP, what physical z-coordinate in the projection data does the LEAP coordinate `z = 0` correspond to? For example, if I set `offsetZ = 0` and `numZ = 1`, what z-coordinate in the original projection-data coordinate system does this reconstructed slice correspond to? This question can also be interpreted as asking how the center of the reconstructed volume is defined along the z-axis when the z-coordinate of the input projection data is implicitly determined by the helical pitch.

Is there an analytic formula for this correspondence?

For the time being, my current working assumption is that LEAP’s `z = 0` corresponds to the midpoint of the projection-data z-range, namely:

`z_0 = (min_z_0 + max_z_0) / 2`. For example, in the case above, this would be: `(48.50999832 + 533.0) / 2 = 290.754999`.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by tracing how LEAP defines offsetZ, numZ, voxel height, and the helical pitch coordinate system. Compare the reconstructed z=0 position with the dataset's z_0 values and Reconstruction Target Center values. Done means establishing whether the midpoint assumption is correct and documenting an analytic correspondence.

Written by the indexing model from the issue text.

Assessment

Domain
computer-vision
Issue type
Documentation
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.