astrophot.models.func package#
Submodules#
astrophot.models.func.base module#
astrophot.models.func.convolution module#
- astrophot.models.func.convolution.convolve(image: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], psf: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
astrophot.models.func.exponential module#
- astrophot.models.func.exponential.exponential(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Re: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Ie: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Exponential 1d profile function, specifically designed for pytorch operations.
Args: - R: Radius tensor at which to evaluate the exponential function - Re: Effective radius in the same units as R - Ie: Effective surface density
astrophot.models.func.ferrer module#
- astrophot.models.func.ferrer.ferrer(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], rout: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], beta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], I0: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
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
astrophot.models.func.gaussian module#
- astrophot.models.func.gaussian.gaussian(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], sigma: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], flux: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Gaussian 2d profile function.
Args: - R: Radii array at which to evaluate the gaussian function - sigma: Standard deviation of the gaussian in the same units as R - flux: Total flux of the Gaussian
astrophot.models.func.gaussian_ellipsoid module#
- astrophot.models.func.gaussian_ellipsoid.euler_rotation_matrix(alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], beta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], gamma: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Compute the rotation matrix from Euler angles.
See the Z_alpha X_beta Z_gamma convention for the order of rotations here: https://en.wikipedia.org/wiki/Euler_angles
astrophot.models.func.integration module#
- astrophot.models.func.integration.bright_integrate(z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], brightness_ij: callable, bright_frac: float, scale: float = 1.0, quad_order: int = 3, gridding: int = 5, max_depth: int = 2)[source]#
- astrophot.models.func.integration.pixel_center_integrator(Z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
- astrophot.models.func.integration.pixel_quad_integrator(Z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], w: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'] = None, order: int = 3) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Integrate the pixel values using quadrature weights.
Args: - Z: The tensor containing pixel values. - w: The quadrature weights. - order: The order of the quadrature.
- astrophot.models.func.integration.pixel_simpsons_integrator(Z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
- astrophot.models.func.integration.recursive_quad_integrate(i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], brightness_ij: callable, curve_frac: float, scale: float = 1.0, quad_order: int = 3, gridding: int = 5, _current_depth: int = 0, max_depth: int = 1) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
- astrophot.models.func.integration.single_quad_integrate(i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], brightness_ij, scale: float, quad_order: int = 3) Tuple[Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']][source]#
- astrophot.models.func.integration.upsample(i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], order: int, scale: float) Tuple[Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']][source]#
astrophot.models.func.king module#
- astrophot.models.func.king.king(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rc: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rt: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], I0: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Empirical King profile.
Args: - R: Radial distance from the center of the profile. - Rc: Core radius of the profile. - Rt: Truncation radius of the profile. - alpha: Power-law index of the profile. - I0: Central intensity of the profile.
astrophot.models.func.moffat module#
- astrophot.models.func.moffat.moffat(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], n: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rd: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], I0: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Moffat 1d profile function
Args: - R: Radii tensor at which to evaluate the moffat function - n: concentration index - Rd: scale length in the same units as R - I0: central surface density
astrophot.models.func.nuker module#
- astrophot.models.func.nuker.nuker(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rb: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Ib: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], beta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], gamma: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Nuker 1d profile function
Args: - R: Radii tensor at which to evaluate the nuker function - Ib: brightness at the scale length, represented as the log of the brightness divided by pixel scale squared. - Rb: scale length radius - alpha: sharpness of transition between power law slopes - beta: outer power law slope - gamma: inner power law slope
astrophot.models.func.sersic module#
- astrophot.models.func.sersic.sersic(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], n: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Re: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Ie: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Seric 1d profile function, specifically designed for pytorch operations
Args: - R: Radii tensor at which to evaluate the sersic function - n: sersic index restricted to n > 0.36 - Re: Effective radius in the same units as R - Ie: Effective surface density
astrophot.models.func.spline module#
- astrophot.models.func.spline.cubic_spline_torch(x: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], y: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], xs: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Compute the 1D cubic spline interpolation for the given data points using PyTorch.
Args: - x (Tensor): A 1D tensor representing the x-coordinates of the known data points. - y (Tensor): A 1D tensor representing the y-coordinates of the known data points. - xs (Tensor): A 1D tensor representing the x-coordinates of the positions where
the cubic spline function should be evaluated.
- astrophot.models.func.spline.spline(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], profR: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], profI: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], extend: str = 'zeros') Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Spline 1d profile function, cubic spline between points up to second last point beyond which is linear
Args: - R: Radii tensor at which to evaluate the spline function - profR: radius values for the surface density profile in the same units as R - profI: surface density values for the surface density profile - extend: How to extend the spline beyond the last point. Options are ‘zeros’ or ‘const’.
astrophot.models.func.transform module#
- astrophot.models.func.transform.rotate(theta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], x: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], y: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Tuple[Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']][source]#
Applies a rotation matrix to the X,Y coordinates
astrophot.models.func.zernike module#
Module contents#
- astrophot.models.func.bright_integrate(z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], brightness_ij: callable, bright_frac: float, scale: float = 1.0, quad_order: int = 3, gridding: int = 5, max_depth: int = 2)[source]#
- astrophot.models.func.convolve(image: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], psf: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
- astrophot.models.func.downsample(img: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], scale: int = 1)[source]#
- astrophot.models.func.downsample_mean(img: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], scale: int = 1)[source]#
- astrophot.models.func.euler_rotation_matrix(alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], beta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], gamma: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Compute the rotation matrix from Euler angles.
See the Z_alpha X_beta Z_gamma convention for the order of rotations here: https://en.wikipedia.org/wiki/Euler_angles
- astrophot.models.func.exponential(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Re: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Ie: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Exponential 1d profile function, specifically designed for pytorch operations.
Args: - R: Radius tensor at which to evaluate the exponential function - Re: Effective radius in the same units as R - Ie: Effective surface density
- astrophot.models.func.ferrer(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], rout: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], beta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], I0: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
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
- astrophot.models.func.gaussian(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], sigma: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], flux: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Gaussian 2d profile function.
Args: - R: Radii array at which to evaluate the gaussian function - sigma: Standard deviation of the gaussian in the same units as R - flux: Total flux of the Gaussian
- astrophot.models.func.king(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rc: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rt: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], I0: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Empirical King profile.
Args: - R: Radial distance from the center of the profile. - Rc: Core radius of the profile. - Rt: Truncation radius of the profile. - alpha: Power-law index of the profile. - I0: Central intensity of the profile.
- astrophot.models.func.moffat(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], n: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rd: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], I0: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Moffat 1d profile function
Args: - R: Radii tensor at which to evaluate the moffat function - n: concentration index - Rd: scale length in the same units as R - I0: central surface density
- astrophot.models.func.nuker(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Rb: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Ib: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], alpha: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], beta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], gamma: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Nuker 1d profile function
Args: - R: Radii tensor at which to evaluate the nuker function - Ib: brightness at the scale length, represented as the log of the brightness divided by pixel scale squared. - Rb: scale length radius - alpha: sharpness of transition between power law slopes - beta: outer power law slope - gamma: inner power law slope
- astrophot.models.func.pixel_center_integrator(Z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
- astrophot.models.func.pixel_quad_integrator(Z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], w: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'] = None, order: int = 3) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Integrate the pixel values using quadrature weights.
Args: - Z: The tensor containing pixel values. - w: The quadrature weights. - order: The order of the quadrature.
- astrophot.models.func.pixel_simpsons_integrator(Z: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
- astrophot.models.func.quad_table(order, dtype, device)[source]#
Generate a meshgrid for quadrature points using Legendre-Gauss quadrature.
Parameters#
- nint
The number of quadrature points in each dimension.
- dtypetorch.dtype
The desired data type of the tensor.
- devicetorch.device
The device on which to create the tensor.
Returns#
- Tuple[torch.Tensor, torch.Tensor, torch.Tensor]
The generated meshgrid as a tuple of Tensors.
- astrophot.models.func.recursive_quad_integrate(i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], brightness_ij: callable, curve_frac: float, scale: float = 1.0, quad_order: int = 3, gridding: int = 5, _current_depth: int = 0, max_depth: int = 1) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
- astrophot.models.func.rotate(theta: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], x: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], y: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Tuple[Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']][source]#
Applies a rotation matrix to the X,Y coordinates
- astrophot.models.func.sersic(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], n: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Re: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Ie: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']) Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Seric 1d profile function, specifically designed for pytorch operations
Args: - R: Radii tensor at which to evaluate the sersic function - n: sersic index restricted to n > 0.36 - Re: Effective radius in the same units as R - Ie: Effective surface density
- astrophot.models.func.sersic_n_to_b(n: float) float[source]#
Compute the b(n) for a sersic model. This factor ensures that the $R_e$ and $I_e$ parameters do in fact correspond to the half light values and not some other scale radius/intensity.
- astrophot.models.func.single_quad_integrate(i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], brightness_ij, scale: float, quad_order: int = 3) Tuple[Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']][source]#
- astrophot.models.func.spline(R: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], profR: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], profI: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], extend: str = 'zeros') Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'][source]#
Spline 1d profile function, cubic spline between points up to second last point beyond which is linear
Args: - R: Radii tensor at which to evaluate the spline function - profR: radius values for the surface density profile in the same units as R - profI: surface density values for the surface density profile - extend: How to extend the spline beyond the last point. Options are ‘zeros’ or ‘const’.
- astrophot.models.func.upsample(i: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], j: Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], order: int, scale: float) Tuple[Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.'], Annotated[Tensor, 'One of: torch.Tensor or jax.numpy.ndarray depending on the chosen backend.']][source]#