pysersic.multiband ================== .. py:module:: pysersic.multiband Classes ------- .. autoapisummary:: pysersic.multiband.BaseMultiBandFitter pysersic.multiband.FitMultiBandPoly pysersic.multiband.FitMultiBandBSpline Module Contents --------------- .. py:class:: BaseMultiBandFitter(fitter_list: Union[List[pysersic.pysersic.FitSingle], List[pysersic.pysersic.FitMulti]], wavelengths: jax.Array, linked_params: List[str], const_params: Optional[List[str]] = [], band_names: Optional[List[str]] = None, linked_params_range: Optional[dict] = {}, wv_to_save: Optional[jax.Array] = None, rescale_unlinked_priors: Optional[bool] = False) Bases: :py:obj:`pysersic.pysersic.BaseFitter` Base class for multi-band fitter, for new classes only need to add a `sample_param_at_bands` function specifying the linking of parameters between bands. .. py:attribute:: fitter_list .. py:attribute:: n_bands .. py:attribute:: wavelengths .. py:attribute:: param_names .. py:attribute:: wv_av .. py:attribute:: wv_range .. py:attribute:: wv_normed .. py:attribute:: wv_to_save :value: None .. py:attribute:: linked_params .. py:attribute:: const_params :value: [] .. py:attribute:: unlinked_params .. py:attribute:: reparam_dict .. py:attribute:: linked_params_mean .. py:attribute:: linked_params_scale .. py:attribute:: linked_params_range .. py:attribute:: const_prior_dict .. py:attribute:: data .. py:attribute:: rms .. py:attribute:: psf .. py:attribute:: mask .. py:attribute:: loss_func .. py:attribute:: renderer .. py:attribute:: prior .. py:method:: sample_param_at_bands(name: str) -> jax.Array :abstractmethod: Function used to sample linked parameters at each band :param name: parameter name :type name: str :returns: **params_at_bands** -- parameter values sampled at bands :rtype: jax.Array .. py:method:: build_model(return_model: bool = False) -> callable build numpyro model for multi-band inference :param return_model: wether or not to save and return observed images, by default False :type return_model: bool, optional :returns: numpyro model :rtype: callable .. py:class:: FitMultiBandPoly(fitter_list: List[pysersic.pysersic.FitSingle], wavelengths: jax.Array, linked_params: List[str], const_params: Optional[List[str]] = [], band_names: Optional[List[str]] = None, linked_params_range: Optional[dict] = {}, wv_to_save: Optional[jax.Array] = None, rescale_unlinked_priors: Optional[bool] = False, poly_order: Optional[int] = 2) Bases: :py:obj:`BaseMultiBandFitter` Base class for multi-band fitter, for new classes only need to add a `sample_param_at_bands` function specifying the linking of parameters between bands. .. py:attribute:: poly_order :value: 3 .. py:method:: restrict_func(x, hi, low) .. py:method:: sample_param_at_bands(name) Function used to sample linked parameters at each band :param name: parameter name :type name: str :returns: **params_at_bands** -- parameter values sampled at bands :rtype: jax.Array .. py:class:: FitMultiBandBSpline(fitter_list: List[pysersic.pysersic.FitSingle], wavelengths: jax.Array, linked_params: List[str], const_params: Optional[List[str]] = [], band_names: Optional[List[str]] = None, linked_params_range: Optional[dict] = {}, wv_to_save: Optional[jax.Array] = None, rescale_unlinked_priors: Optional[bool] = False, N_knots: Optional[int] = 4, spline_k: Optional[int] = 2, pad_knots: Optional[bool] = True) Bases: :py:obj:`BaseMultiBandFitter` Base class for multi-band fitter, for new classes only need to add a `sample_param_at_bands` function specifying the linking of parameters between bands. .. py:attribute:: N_knots :value: 4 .. py:attribute:: spline_k :value: 2 .. py:attribute:: dmat_bands .. py:attribute:: dmat_save .. py:method:: sample_param_at_bands(name) Function used to sample linked parameters at each band :param name: parameter name :type name: str :returns: **params_at_bands** -- parameter values sampled at bands :rtype: jax.Array