Source code for astrophot.models.func.ferrer

import torch
from ...backend_obj import backend, ArrayLike


[docs] def ferrer( R: ArrayLike, rout: ArrayLike, alpha: ArrayLike, beta: ArrayLike, I0: ArrayLike ) -> ArrayLike: """ Modified Ferrer profile. **Args:** - `R`: Radius tensor at which to evaluate the modified Ferrer function - `rout`: Outer radius of the profile - `alpha`: Power-law index - `beta`: Exponent for the modified Ferrer function - `I0`: Central intensity """ return backend.where( R < rout, I0 * ((1 - (backend.clamp(R, 0, rout) / rout) ** (2 - beta)) ** alpha), backend.zeros_like(R), )