Description
Is your feature request related to a problem? Please describe.
Currently, functions throughout this library use numpy which, while fast, is a CPU only library, and can be limited in speed in some circumstances.
Describe the solution you'd like
There has been a recent push throughout the past few years for an array api that any array library can use, and any array library consumer can use to support. The specification is given here, but the upshot is that this would allow a user of pylinac to use whatever array library for functions like gamma analysis. This includes libraries like pytorch and jax, which support GPU computation.
This will benefit significantly from switching to using as many vectorized operations as possible, as opposed to the for loop patterns that seem to be currently used(though that benefit will even be felt without moving fully to the array API as vectorized operations are significantly faster).