|
| __init__ (self, Observation observation, Sequence[tuple[int, int]] centers, slice bulge_slice=slice(None, 2), slice disk_slice=slice(2, -1), int bulge_padding=5, int disk_padding=5, bool use_psf=True, int scales=5, np.ndarray|None wavelets=None, Monotonicity|None monotonicity=None, float min_snr=50) |
|
Source|None | init_source (self, tuple[int, int] center) |
|
float | get_snr (self, tuple[int, int] center) |
|
FactorizedComponent | get_psf_component (self, tuple[int, int] center) |
|
FactorizedComponent|None | get_single_component (self, tuple[int, int] center, np.ndarray detect, float thresh, int padding) |
|
Parameters used to initialize all sources with wavelet detections
There are a large number of parameters that are universal for all of the
sources being initialized from the same set of wavelet coefficients.
To simplify the API those parameters are all initialized by this class
and passed to `init_wavelet_source` for each source.
Parameters
----------
observation:
The multiband observation of the blend.
centers:
The center of each source to initialize.
bulge_slice, disk_slice:
The slice used to select the wavelet scales used for the
bulge/disk.
bulge_padding, disk_padding:
The number of pixels to grow the bounding box of the bulge/disk
to leave extra room for growth in the first few iterations.
use_psf:
Whether or not to use the PSF for single component sources.
If `use_psf` is `False` then only sources with low signal
at all scales are initialized with the PSF morphology.
scales:
Number of wavelet scales to use.
wavelets:
The array of wavelet coefficients `(scale, y, x)`
used for detection.
monotonicity:
When `monotonicity` is `None`,
the component is initialized with only the
monotonic pixels, otherwise the monotonicity operator is used to
project the morphology to a monotonic solution.
min_snr:
The minimum SNR required per component.
So a 2-component source requires at least `2*min_snr` while sources
with SNR < `min_snr` will be initialized with the PSF.