def METHOD_NAME(self) -> Tuple[float, float]:
    """ Calculate the scales and zero points based on the min_value and max_value.
    """
    assert self.min_value() is not None and self.max_value() is not None
    _qmin, _qmax = self.qmin_qmax
    # For one-sided distributions, the range (_min , _max ) is relaxed to include zero.
    # It is important to ensure that common operations like zero padding do not cause quantization errors.
    _min = min(self.min_value(), 0.)
    _max = max(self.max_value(), 0.)
    if self._symmetric:
        self._scale = max(-_min, _max)
        if self._sign:
            self._zero_point = 0
        else:
            self._zero_point = (_qmax + _qmin) / 2
    else:
        self._scale = (_max - _min) / float(_qmax - _qmin)
        self._zero_point = _qmin - round(_min / self._scale)
        self._zero_point = np.clip(self._zero_point, _qmin, _qmax)
    return self._scale, self._zero_point