def METHOD_NAME(
    self,
    kwargs_lens=None,
    kwargs_source=None,
    kwargs_lens_light=None,
    kwargs_ps=None,
    kwargs_extinction=None,
    kwargs_special=None,
    source_marg=False,
    linear_prior=None,
    check_positive_flux=False,
):
    """Computes the likelihood of the data given a model This is specified with the
    non-linear parameters and a linear inversion and prior marginalisation.
    :param kwargs_lens:
    :param kwargs_source:
    :param kwargs_lens_light:
    :param kwargs_ps:
    :param check_positive_flux: bool, if True, checks whether the linear inversion
        resulted in non-negative flux components and applies a punishment in the
        likelihood if so.
    :return: log likelihood (natural logarithm) (sum of the log likelihoods of the
        individual images)
    """
    # generate image
    logL = 0
    if linear_prior is None:
        linear_prior = [None for i in range(self._num_bands)]
    for i in range(self._num_bands):
        if self._compute_bool[i] is True:
            logL += self._imageModel_list[i].METHOD_NAME(
                kwargs_lens,
                kwargs_source,
                kwargs_lens_light,
                kwargs_ps,
                kwargs_extinction,
                kwargs_special,
                source_marg=source_marg,
                linear_prior=linear_prior[i],
                check_positive_flux=check_positive_flux,
            )
    return logL