Skip to content
New issue

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

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

Already on GitHub? # to your account

Finite Pencil Beam Kernel #11

Merged
merged 15 commits into from
Feb 11, 2023

Conversation

lmejn
Copy link
Member

@lmejn lmejn commented Feb 11, 2023

Implements the Finite Pencil Beam Kernel (fPBK) dose calculation algorithm as described in Jelen et al. 2005.

  • New dose calculation found in src/DoseCalculationAlgorithms/FinitePencilBeamKernel.jl
  • Added new Beamlet type for beamlets. These can be constructed using bixel and gantry positions
  • New example, examples/fpbk-beam-commissioning.jl, for commissioning the fPBK on water phantom dose
  • Changes to dose_fluence_matrix!
    • Requires fill_colptr!, fill_rowval! and dose_kernel! to be implemented
    • Only currently works with Beamlet
    • Breaks implementation with the ScaledIsoplaneKernel

lmejn and others added 15 commits October 31, 2022 10:22
- Added FinitePencilBeamKernel.jl to src/ and test/
- Implemented profile functions with relevant tests
- Added Project.toml for tests
- AbstractFluenceElement is the new supertype for Bixels and Beamlets
- Added Beamlet struct and constructor from a bixel
- Moved all concrete methods on AbstractBixel to Bixel
- Not yet fully implemented
- Added methods for dose-fluence matrix computations
- Added two methods for constructing FinitePencilBeamKernels
  - From parameter and scaling factor arrays
  - From an HDF5 file
- Added the calibrate! method, which scales the kernel
- Added beamlet position to Beamlet
- Can construct Beamlet from a Bixel and GantryPosition
- Fixed calibrate!(calc::FinitePencilBeamKernel...)
  - Added Optim to find max. dose
- Added Beamlet version of dose_fluence_matrix! and dose_fluence_matrix
  - Two versions of dose_fluence_matrix currently, for Bixel and for
    Beamlet
- Added multi-threaded implementation of dose_fluence_matrix
- Fixed "batman" dose
- Due to scaling issue in commisioning
- Added linear extrapolation to fPBK interpolation
- Added hard-coded axes directions sx and sy to point_dose for FPBK
- New methods fill_colptr!, fill_rowval! and dose_kernel!
- Updated for fPBK
@lmejn lmejn merged commit b25a79a into Image-X-Institute:main Feb 11, 2023
@lmejn lmejn deleted the feature/finite-pencil-beam-kernel branch June 7, 2023 06:26
# for free to join this conversation on GitHub. Already have an account? # to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant