LimbScannerOptions¶
- class giant.image_processing.limb_scanning.LimbScannerOptions(psf: giant.point_spread_functions.psf_meta.PointSpreadFunction = <factory>, number_of_scan_lines: int = 51, scan_range: float = 2.356194490192345, number_of_sample_points: int = 501, brdf: giant.ray_tracer.illumination.IlluminationModel = <factory>, peak_finder: Callable[[numpy.ndarray[tuple[Any, ...], numpy.dtype[numpy.float64]]], numpy.ndarray[tuple[Any, ...], numpy.dtype[numpy.float64]]] = <function parabolic_peak_finder_1d at 0x324f593a0>, interpolator_method: Literal['linear', 'nearest', 'slinear', 'cubic', 'quintic', 'pchip'] = 'linear')[source]¶
- Parameters:
psf (PointSpreadFunction)
number_of_scan_lines (int)
scan_range (float)
number_of_sample_points (int)
brdf (IlluminationModel)
peak_finder (Callable[[ndarray[tuple[Any, ...], dtype[float64]]], ndarray[tuple[Any, ...], dtype[float64]]])
interpolator_method (Literal['linear', 'nearest', 'slinear', 'cubic', 'quintic', 'pchip'])
- psf: PointSpreadFunction¶
The point spread function to apply to the predicted intensity lines.
This should provide a
apply_1d()
that accepts in a numpy array where each row is an intensity line and returns the blurred intensity lines as a numpy array.
- number_of_scan_lines: int = 51¶
The number of scan lines to generate/limb points to extract
- scan_range: float = 2.356194490192345¶
The extent about the illumination direction in radians in which to distribute the scan lines.
The scan lines are distributed +/- scan_range/2 about the illumination direction. This therefore should generally be less than \(\frac{\pi}{2}\) unless you are 100% certain that the phase angle is perfectly 0
- number_of_sample_points: int = 501¶
The number of points to sample each scan line along for the extracted/predicted intensity lines
- brdf: IlluminationModel¶
The illumination function to use to render the predicted scan lines.
- peak_finder(fit_size=1)¶
the callable to use to return the peak of the correlation lines.
- Parameters:
correlation_lines (ndarray)
fit_size (int)
- Return type:
ndarray[tuple[Any, …], dtype[float64]]
- interpolator_method: Literal['linear', 'nearest', 'slinear', 'cubic', 'quintic', 'pchip'] = 'linear'¶
The method to use from scipy’s RegularGridInterpolator.
Generally linear is more than sufficient