import math


def generalized_logistic_curve(t, a, k, b, eta, q, c=1):
    """See https://en.wikipedia.org/wiki/Generalised_logistic_function."""
    return a + (k - a) / math.pow((c + q * math.exp(-b * t)), 1.0 / eta)