An observation when quickly putting together a code which called get_ray_start(), get_ray_direction() and get_ray_length() individually for every pixel in a detector: this is mind-blowingly slow (estimated 24hr on Heimdall for 880k pixels). It would be good to at least document that this is not a good way to use / call these functions.