class_docstr: The abstract base class `BaseEstimator` defines the basic requirements of an estimator in ART. The BaseEstimator is
  is the highest abstraction of a machine learning model in ART.
class_docstr_tok: ["The","abstract","base","class","`","BaseEstimator","`","defines","the","basic","requirements","of","an","estimator","in","ART",".","The","BaseEstimator","is","is","the","highest","abstraction","of","a","machine","learning","model","in","ART","."]
code: def _set_preprocessing(
      preprocessing: Optional[
          Union["PREPROCESSING_TYPE", "Preprocessor"]
      ]
  ) -> Optional["Preprocessor"]:
      from art.defences.preprocessor.preprocessor import Preprocessor
  
      if preprocessing is None:
          return None
      if isinstance(preprocessing, tuple):
          from art.preprocessing.standardisation_mean_std.numpy import (
              StandardisationMeanStd,
          )
  
          return StandardisationMeanStd(mean=preprocessing[0], std=preprocessing[1])  # type: ignore
      if isinstance(preprocessing, Preprocessor):
          return preprocessing
  
      raise ValueError("Preprocessing argument not recognised.")
  
imports: from abc import ABC, abstractmethod
  from typing import Any, Dict, List, Optional, Tuple, Union, TYPE_CHECKING
  import numpy
  from tqdm.auto import trange
  from art.config import ART_NUMPY_DTYPE
label_desc: Use image node_id 3 for calling the BaseEstimator obj's underlying member method code with example usage: obj._set_preprocessing(preprocessing) and returns: None, StandardisationMeanStd, preprocessing