Define user interface
Let's design the upper-level user interface.
Suggestion:
#import the package
import rte
#define the medium and other possible parameters
medium = rte.Medium(speed=c,mu_a=mu_a,mu_s=mu_s)
scattering = rte.PhaseFunction(...)
#define the RTE calculator on given medium
calc = rte.RTE(medium=medium, scattering=scattering,...)
#define the source
source1 = rte.RegularSource(function=S)
#or
source2 = rte.PointSource(position=[0,0,0],direction=s0,time=t0)
#or a uniform source to 4pi
source3 = rte.PointSource(position=[0,0,0],direction='uniform',time=t0)
#define the target
target1 = rte.PointTarget(position=r,direction=s, time=t)
#or
target2 = rte.SphericalTarget(position=r, radius=123, direction=, time=t)
#calculate the flux
flux = calc.flux(source1, target1)