class_docstr: Implement the resampling defense approach.
  
  Resampling implicitly consists of a step that applies a low-pass filter. The underlying filter in this
  implementation is a Windowed Sinc Interpolation function.
code: def _check_params(self) -> None:
      if not (
          isinstance(self.sr_original, int) and self.sr_original > 0
      ):
          raise ValueError(
              "Original sampling rate be must a positive integer."
          )
  
      if not (isinstance(self.sr_new, int) and self.sr_new > 0):
          raise ValueError(
              "New sampling rate be must a positive integer."
          )
  
file_path: adversarial-robustness-toolbox/art/defences/preprocessor/resample.py
imports: import logging
  from typing import Optional, Tuple
  import numpy
  from art.defences.preprocessor.preprocessor import Preprocessor
label_desc: Use image node_id 3 for calling the Resample obj's underlying member method code with example usage: obj._check_params() without return types