class_docstr: Aggregation method which performs binned min-max aggregation over fully
  overlapping windows.
  
  This is arguably the most computational efficient downsampling method, as it only
  performs (non-expensive) comparisons on the data in a single pass.
  
  Details on visual representativeness & stability: [https://arxiv.org/abs/2304.00900](https://arxiv.org/abs/2304.00900)
  
  !!! note
  
      This method is rather efficient when scaling to large data sizes and can be used
      as a data-reduction step before feeding it to the [`LTTB`][aggregation.aggregators.LTTB]
      algorithm, as [`MinMaxLTTB`][aggregation.aggregators.MinMaxLTTB] does with the
      [`MinMaxOverlapAggregator`][aggregation.aggregators.MinMaxOverlapAggregator].
class_docstr_tok: ["Aggregation","method","which","performs","binned","min-max","aggregation","over","fully","overlapping","windows",".","This","is","arguably","the","most","computational","efficient","downsampling","method",",","as","it","only","performs","(","non-expensive",")","comparisons","on","the","data","in","a","single","pass",".","Details","on","visual","representativeness","&","stability",":","[","https",":","\/\/arxiv.org\/abs\/2304.00900","]","(","https",":","\/\/arxiv.org\/abs\/2304.00900",")","!","!","!","note","This","method","is","rather","efficient","when","scaling","to","large","data","sizes","and","can","be","used","as","a","data-reduction","step","before","feeding","it","to","the","[","`","LTTB","`","]","[","aggregation.aggregators.LTTB","]","algorithm",",","as","[","`","MinMaxLTTB","`","]","[","aggregation.aggregators.MinMaxLTTB","]","does","with","the","[","`","MinMaxOverlapAggregator","`","]","[","aggregation.aggregators.MinMaxOverlapAggregator","]","."]
docstr: Parameters
  ----------
  **downsample_kwargs
      Keyword arguments passed to the :class:`MinMaxDownsampler`.
      - The `parallel` argument is set to False by default.
docstr_tok: ["Parameters","--","--","--","--","--","*","*","downsample_kwargs","Keyword","arguments","passed","to","the",":","class",":","`","MinMaxDownsampler","`",".","-","The","`","parallel","`","argument","is","set","to","False","by","default","."]
code: def __init__(self, **downsample_kwargs):
      """
      Parameters
      ----------
      **downsample_kwargs
          Keyword arguments passed to the :class:`MinMaxDownsampler`.
          - The `parallel` argument is set to False by default.
  
      """
      # this downsampler supports all dtypes
      super().__init__(**downsample_kwargs)
      self.downsampler = MinMaxDownsampler()
  
imports: from __future__ import annotations
  import math
  from typing import Tuple
  import numpy
  from tsdownsample import EveryNthDownsampler, LTTBDownsampler, MinMaxDownsampler, MinMaxLTTBDownsampler
  from ..aggregation.aggregation_interface import DataAggregator, DataPointSelector
label_desc: Use image node_id 1 to create a new MinMaxAggregator object from inherited base classes: DataPointSelector with example: obj = MinMaxAggregator()