Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

The pitch in helical reconstruction #117

Open
stefenmax opened this issue Oct 16, 2024 · 3 comments
Open

The pitch in helical reconstruction #117

stefenmax opened this issue Oct 16, 2024 · 3 comments

Comments

@stefenmax
Copy link

Hi, Recently, I've been working on reconstructing multi-energy photon-counting CT data using LEAP. The reconstruction geometry is for a helical scan with a pitch of 10 mm.

I noticed that in d03, there’s a parameter called leapct.set_normalizedHelicalPitch(0.5). What unit is used here, and why is it referred to as "normalized" helical pitch?

Alternatively, should I be specifying the pitch directly in the following line instead?

leapct.set_conebeam(numAngles, numRows, numCols, pixelSize, pixelSize, 0.5*(numRows-1), 0.5*(numCols-1), leapct.setAngleArray(numAngles, 360.0*numTurns), 1100, 1400, pitch = 10)

Thanks!

@kylechampley
Copy link
Collaborator

The units of the helical pitch are mm/rad and the normalized helical pitch is unitless. These two quantities are related by:
(helical pitch) = numRows * pixelHeight (sod/sdd)) / 2pi) (normalized helical pitch)

It is called normalized because the normalized helical pitch is given relative to the detector height at iso-center. So a normalized helical pitch of one means that for every full rotation of the source (360 degrees) and bed (or stage position) shifts by the detector height at iso. The "at iso" is the reason for the sod/sdd term.

It does not matter whether or not you specify the helical pitch in the set_conebeam function or whether you set it in set_helicalPitch or set_normalizedHelicalPitch

@stefenmax
Copy link
Author

In my DICOM tag, the pitch can also calaulate by comparing SampleAxisPos and GantryRotationAngle private tags. The unit should be consistent with yours. But after specify that, the reconstruction result is not good. I already send you the one projection dicom file, once you have time can you help me check the parameter? Thanks!

@kylechampley
Copy link
Collaborator

I don't think I can help without getting more information. If it helps, I would be willing to sign an NDA.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants