class_docstr: Prebuild class to featurize 3D data into 2D data for simple classification or regression, for instance.
  
  You can enable, or disable features using hyperparams :
  
  .. code-block:: python
  
      step = Cheap3DTo2DTransformer().set_hyperparams(hyperparams={
          'FFT__enabled': True,
          'NumpyMean__enabled': True,
          'NumpyMedian__enabled': True,
          'NumpyMin__enabled': True,
          'NumpyMax__enabled': True
      })
  
  .. seealso::
      :class:`~neuraxle.steps.flow.ChooseOneOrManyStepsOf`,
      :class:`~neuraxle.steps.numpy.NumpyFFT`,
      :class:`~neuraxle.steps.numpy.NumpyAbs`,
      :class:`~neuraxle.steps.numpy.NumpyFlattenDatum`,
      :class:`FFTPeakBinWithValue`,
      :class:`~neuraxle.steps.numpy.NumpyConcatenateInnerFeatures`,
      :class:`~neuraxle.steps.numpy.NumpyMean`,
      :class:`~neuraxle.steps.numpy.NumpyMedian`,
      :class:`~neuraxle.steps.numpy.NumpyMin`,
      :class:`~neuraxle.steps.numpy.NumpyMax`
code: def __init__(self):
      super().__init__(
          [
              Pipeline(
                  [
                      NumpyFFT(),
                      NumpyAbs(),
                      FeatureUnion(
                          [
                              NumpyFlattenDatum(),  # Reshape from 3D to flat 2D: flattening data except on batch size
                              FFTPeakBinWithValue(),  # Extract 2D features from the 3D FFT bins
                          ],
                          joiner=NumpyConcatenateInnerFeatures(),
                      ),
                  ]
              ).set_name("FFT"),
              NumpyMean(),
              NumpyMedian(),
              NumpyMin(),
              NumpyMax(),
          ]
      )
  
file_path: Neuraxle/neuraxle/steps/features.py
imports: from neuraxle.pipeline import Pipeline
  from neuraxle.steps.flow import ChooseOneOrManyStepsOf
  from neuraxle.steps.numpy import NumpyFFT, NumpyAbs, NumpyFlattenDatum, NumpyConcatenateInnerFeatures, NumpyMean, NumpyMedian, NumpyMin, NumpyMax, NumpyArgMax
  from neuraxle.union import FeatureUnion
label_desc: Use image node_id 1 to create a new Cheap3DTo2DTransformer object from inherited base classes: ChooseOneOrManyStepsOf with example: obj = Cheap3DTo2DTransformer()