Skip to content

Phantom roll override - #592

Open
ashgillman wants to merge 1 commit into
jrkerns:masterfrom
ashgillman:pr/phantom-roll-override
Open

ashgillman wants to merge 1 commit into
jrkerns:masterfrom
ashgillman:pr/phantom-roll-override

Conversation

@ashgillman

Copy link
Copy Markdown

For Catphan acquisitons with poor image quality, find_phantom_roll() can fail to identify the air bubbles. There is already a solution for when the algorithm fails to find the origin_slice - it can be overridden.

This PR replicates this solution for phantom_roll.

This has been tested and runs successfully on CatPhan CBCT acquisitions that both did and did correctly identify the phantom roll.

jmartens pushed a commit to jmartens/pylinac that referenced this pull request Jun 3, 2026
…-instead-of-mlc-boundaries (pull request jrkerns#589)

Task jrkerns#4: use BeamLimitingDeviceSequence instead of mlc boundaries

* Refactor: loop over control points

* Refactor: use beam_limiting_device_sequence instead of MLC boundaries.

* Remove num_leaves since this is now part of beam_limiting_devices_sequence and no longer needed.

* Refactor: unify TrueBeam and Halcyon beam.

* Refactor: jaw symmetry

* Fix classes in documentation.

* Merge branch 'task/refactor-plan-generator-unify-truebeam-and-halcyon-beams' into task/refactor-plan-generator-fix-truebeam-jaws

* Formatting.

* Fix gantry rotation direction. Previously we set the last control point to None, however this should only be applicable is the gantry is dynamic. Now the gantry has a rotation direction for each control point which is taken only if dynamic, removing the need to override the last point.

* Fix test.

* Minor changes: remove pycharm warnings, e.g. by casting variables.

* Use plus-equal operation per PR review.

* Merged in task/refactor-plan-generator-fix-pycharm-warnings (pull request jrkerns#592)

Fix Pycharm warning

Approved-by: James Kerns
Approved-by: Randy Taylor

* Merged in task/refactor-plan-generator-fix-gantry-rotation-direction (pull request jrkerns#591)

Refactor plan generator: fix gantry rotation direction

Approved-by: James Kerns
Approved-by: Randy Taylor

* Wording.

* Merged in task/refactor-plan-generator-fix-truebeam-jaws (pull request jrkerns#587)

Refactor: jaw symmetry

Approved-by: James Kerns
Approved-by: Randy Taylor

* Wording.

* Merged in task/refactor-plan-generator-unify-truebeam-and-halcyon-beams (pull request jrkerns#590)

Task/refactor plan generator unify truebeam and halcyon beams

Approved-by: James Kerns
Approved-by: Randy Taylor

* Merged task/refactor-plan-generator-add-tags-to-beam-creation-instead-of-first-control-point into task/refactor-plan-generator-loop-over-control-points

* Merged task/refactor-plan-generator-loop-over-control-points into task/refactor-plan-generator-use-BeamLimitingDeviceSequence-instead-of-mlc-boundaries

* Merge branch 'master' into task/refactor-plan-generator-use-BeamLimitingDeviceSequence-instead-of-mlc-boundaries

# Conflicts:
#	pylinac/plan_generator/dicom.py

* Merged in task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence (pull request jrkerns#594)

Task jrkerns#5: use mlctype to create BeamLimitingDeviceSequence

* Refactor: use mlc type to create BLDs

* Merged master into task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence

* Merged task/refactor-plan-generator-use-BeamLimitingDeviceSequence-instead-of-mlc-boundaries into task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence

* Fix boundaries.

* Add test for MLC boundaries.

* Fix test

* Merged task/refactor-plan-generator-use-BeamLimitingDeviceSequence-instead-of-mlc-boundaries into task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence


Approved-by: James Kerns
Approved-by: Randy Taylor

* Merged in task/refactor-plan-generator-create-beams-that-are-independent-of-the-plan (pull request jrkerns#595)

Task jrkerns#6: create beams that are independent of the plan

* Refactor: use mlc type to create BLDs

* Refactor: a beam now does not depend on the plan.

* Merged master into task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence

* Merged task/refactor-plan-generator-use-BeamLimitingDeviceSequence-instead-of-mlc-boundaries into task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence

* Merged master into task/refactor-plan-generator-create-beams-that-are-independent-of-the-plan

* Merged task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence into task/refactor-plan-generator-create-beams-that-are-independent-of-the-plan

* Fix boundaries.

* Add test for MLC boundaries.

* Fix test

* Merged task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence into task/refactor-plan-generator-create-beams-that-are-independent-of-the…
* Merged in task/refactor-plan-generator-round-values-for-comparison (pull request jrkerns#596)

Task jrkerns#7: round values to avoid floating point comparison

* Refactor: use mlc type to create BLDs

* Refactor: a beam now does not depend on the plan.

* Refactor: round values to avoid floating point comparison

* Merged master into task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence

* Merged task/refactor-plan-generator-use-BeamLimitingDeviceSequence-instead-of-mlc-boundaries into task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence

* Merged master into task/refactor-plan-generator-create-beams-that-are-independent-of-the-plan

* Merged task/refactor-plan-generator-use-mlctype-to-create-BeamLimitingDeviceSequence into task/refactor-plan-generator-create-beams-that-are-independent-of-the-plan

* Merged task/refactor-plan-generator-create-beams-that-are-independent-of-the-plan into task/refactor-plan-generator-round-values-for-comparison

* Fix boundaries.

* Add test fo…

Approved-by: James Kerns
Approved-by: Randy Taylor
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

Successfully merging this pull request may close these issues.

1 participant