class_docstr: Implementation of the AbstractAggregator interface for data point selection.
  
  DataPointSelector differs from DataAggregator in that they don't aggregate the data
  (e.g., mean) but instead select data points (e.g., first, last, min, max, etc ...).
  As such, the `_arg_downsample` method returns the index positions of the selected
  data points.
  
  This class utilizes the `arg_downsample` method to compute the index positions.
code: def _arg_downsample(
      self,
      x: np.ndarray | None,
      y: np.ndarray,
      n_out: int,
  ) -> np.ndarray:
      # Note: this method can utilize the self.downsample_kwargs property
      raise NotImplementedError
  
imports: from __future__ import annotations
  import re
  from abc import ABC, abstractmethod
  from typing import List, Optional, Tuple
  import numpy
label_desc: Use image node_id 1 for calling the DataPointSelector obj's underlying member method code with example usage: obj._arg_downsample(x, y, n_out) without return types