This is a relatively simple implementation of raytracing null geodesics in the Kerr metric using the formalism of Gralla and Lupsasca 2019
In addition to some standard python libraries, this code requires the latest version of scipy to perform elliptic integrals of the third kind.
Alternatively, elliptic integrals may be performed with bindings to GSL (which are much slower). To use GSL, you need to have the python ctypes
module installed. Then verify that the following works:
ctypes.CDLL('libgsl.so')
Then modify the following global variables at the top of kgeo/kerr_raytracing_ana.py
SCIPY = False
GSL = True
To run a simple example, try
from kgeo.kerr_raytracing_ana import *
out = raytrace_ana(plotdata=True)