class_docstr: Estimator to filter RtEpochs.
  
  Applies a zero-phase low-pass, high-pass, band-pass, or band-stop
  filter to the channels selected by "picks".
  
  l_freq and h_freq are the frequencies below which and above which,
  respectively, to filter out of the data. Thus the uses are:
  
      - l_freq < h_freq: band-pass filter
      - l_freq > h_freq: band-stop filter
      - l_freq is not None, h_freq is None: low-pass filter
      - l_freq is None, h_freq is not None: high-pass filter
  
  If n_jobs > 1, more memory is required as "len(picks) * n_times"
  additional time points need to be temporarily stored in memory.
  
  Parameters
  ----------
  %(info_not_none)s
  %(l_freq)s
  %(h_freq)s
  %(picks_good_data)s
  %(filter_length)s
  %(l_trans_bandwidth)s
  %(h_trans_bandwidth)s
  n_jobs : int | str
      Number of jobs to run in parallel.
      Can be 'cuda' if ``cupy`` is installed properly and method='fir'.
  method : str
      'fir' will use overlap-add FIR filtering, 'iir' will use IIR filtering.
  iir_params : dict | None
      Dictionary of parameters to use for IIR filtering.
      See mne.filter.construct_iir_filter for details. If iir_params
      is None and method="iir", 4th order Butterworth will be used.
  %(fir_design)s
  %(verbose)s
  
  See Also
  --------
  TemporalFilter
  
  Notes
  -----
  This is primarily meant for use in realtime applications.
  In general it is not recommended in a normal processing pipeline as it may result
  in edge artifacts. Use with caution.
code: def __init__(
      self,
      info,
      l_freq,
      h_freq,
      picks=None,
      filter_length="auto",
      l_trans_bandwidth="auto",
      h_trans_bandwidth="auto",
      n_jobs=None,
      method="fir",
      iir_params=None,
      fir_design="firwin",
      *,
      verbose=None,
  ):
      self.info = info
      self.l_freq = l_freq
      self.h_freq = h_freq
      self.picks = _picks_to_idx(info, picks)
      self.filter_length = filter_length
      self.l_trans_bandwidth = l_trans_bandwidth
      self.h_trans_bandwidth = h_trans_bandwidth
      self.n_jobs = n_jobs
      self.method = method
      self.iir_params = iir_params
      self.fir_design = fir_design
  
imports: import numpy
  from .._fiff.pick import _pick_data_channels, _picks_by_type, _picks_to_idx, pick_info, pick_types
  from ..cov import _check_scalings_user
  from ..filter import filter_data
  from ..time_frequency import psd_array_multitaper
  from ..utils import _check_option, _validate_type, fill_doc, verbose
  from .base import BaseEstimator
  from .mixin import TransformerMixin
label_desc: Use image node_id 1 to create a new FilterEstimator object from inherited base classes: TransformerMixin with example: obj = FilterEstimator(info, l_freq, h_freq, picks, filter_length, l_trans_bandwidth, h_trans_bandwidth, n_jobs, method, iir_params, fir_design)