class_docstr: An internal class to manage filters/algorithms for uniform grid datasets.
class_docstr_tok: ["An","internal","class","to","manage","filters\/algorithms","for","uniform","grid","datasets","."]
docstr: Perform a Butterworth low pass filter in the frequency domain.
  
  This filter requires that the :class:`ImageData` have a complex point
  scalars, usually generated after the :class:`ImageData` has been
  converted to the frequency domain by a :func:`ImageDataFilters.fft`
  filter.
  
  A :func:`ImageDataFilters.rfft` filter can be used to convert the
  output back into the spatial domain. This filter attenuates high
  frequency components.  Input and output are complex arrays with
  datatype :attr:`numpy.complex128`.
  
  The frequencies of the input assume standard order: along each axis
  first positive frequencies are assumed from 0 to the maximum, then
  negative frequencies are listed from the largest absolute value to
  smallest. This implies that the corners of the grid correspond to low
  frequencies, while the center of the grid corresponds to high
  frequencies.
  
  Parameters
  ----------
  x_cutoff : float
      The cutoff frequency for the x axis.
  
  y_cutoff : float
      The cutoff frequency for the y axis.
  
  z_cutoff : float
      The cutoff frequency for the z axis.
  
  order : int, default: 1
      The order of the cutoff curve. Given from the equation
      ``1 + (cutoff/freq(i, j))**(2*order)``.
  
  output_scalars_name : str, optional
      The name of the output scalars. By default, this is the same as the
      active scalars of the dataset.
  
  progress_bar : bool, default: False
      Display a progress bar to indicate progress.
  
  Returns
  -------
  pyvista.ImageData
      :class:`pyvista.ImageData` with the applied low pass filter.
  
  See Also
  --------
  fft : Direct fast Fourier transform.
  rfft : Reverse fast Fourier transform.
  high_pass : High-pass filtering of FFT output.
  
  Examples
  --------
  See :ref:`image_fft_perlin_example` for a full example using this filter.
docstr_tok: ["Perform","a","Butterworth","low","pass","filter","in","the","frequency","domain",".","This","filter","requires","that","the",":","class",":","`","ImageData","`","have","a","complex","point","scalars",",","usually","generated","after","the",":","class",":","`","ImageData","`","has","been","converted","to","the","frequency","domain","by","a",":","func",":","`","ImageDataFilters.fft","`","filter",".","A",":","func",":","`","ImageDataFilters.rfft","`","filter","can","be","used","to","convert","the","output","back","into","the","spatial","domain",".","This","filter","attenuates","high","frequency","components",".","Input","and","output","are","complex","arrays","with","datatype",":","attr",":","`","numpy.complex128","`",".","The","frequencies","of","the","input","assume","standard","order",":","along","each","axis","first","positive","frequencies","are","assumed","from","0","to","the","maximum",",","then","negative","frequencies","are","listed","from","the","largest","absolute","value","to","smallest",".","This","implies","that","the","corners","of","the","grid","correspond","to","low","frequencies",",","while","the","center","of","the","grid","corresponds","to","high","frequencies",".","Parameters","--","--","--","--","--","x_cutoff",":","float","The","cutoff","frequency","for","the","x","axis",".","y_cutoff",":","float","The","cutoff","frequency","for","the","y","axis",".","z_cutoff",":","float","The","cutoff","frequency","for","the","z","axis",".","order",":","int",",","default",":","1","The","order","of","the","cutoff","curve",".","Given","from","the","equation","``","1","+","(","cutoff\/freq","(","i",",","j",")",")","*","*","(","2","*","order",")","``",".","output_scalars_name",":","str",",","optional","The","name","of","the","output","scalars",".","By","default",",","this","is","the","same","as","the","active","scalars","of","the","dataset",".","progress_bar",":","bool",",","default",":","False","Display","a","progress","bar","to","indicate","progress",".","Returns","--","--","--","-","pyvista.ImageData",":","class",":","`","pyvista.ImageData","`","with","the","applied","low","pass","filter",".","See","Also","--","--","--","--","fft",":","Direct","fast","Fourier","transform",".","rfft",":","Reverse","fast","Fourier","transform",".","high_pass",":","High-pass","filtering","of","FFT","output",".","Examples","--","--","--","--","See",":","ref",":","`","image_fft_perlin_example","`","for","a","full","example","using","this","filter","."]
code: def low_pass(
      self,
      x_cutoff,
      y_cutoff,
      z_cutoff,
      order=1,
      output_scalars_name=None,
      progress_bar=False,
  ):
      """Perform a Butterworth low pass filter in the frequency domain.
  
      This filter requires that the :class:`ImageData` have a complex point
      scalars, usually generated after the :class:`ImageData` has been
      converted to the frequency domain by a :func:`ImageDataFilters.fft`
      filter.
  
      A :func:`ImageDataFilters.rfft` filter can be used to convert the
      output back into the spatial domain. This filter attenuates high
      frequency components.  Input and output are complex arrays with
      datatype :attr:`numpy.complex128`.
  
      The frequencies of the input assume standard order: along each axis
      first positive frequencies are assumed from 0 to the maximum, then
      negative frequencies are listed from the largest absolute value to
      smallest. This implies that the corners of the grid correspond to low
      frequencies, while the center of the grid corresponds to high
      frequencies.
  
      Parameters
      ----------
      x_cutoff : float
          The cutoff frequency for the x axis.
  
      y_cutoff : float
          The cutoff frequency for the y axis.
  
      z_cutoff : float
          The cutoff frequency for the z axis.
  
      order : int, default: 1
          The order of the cutoff curve. Given from the equation
          ``1 + (cutoff/freq(i, j))**(2*order)``.
  
      output_scalars_name : str, optional
          The name of the output scalars. By default, this is the same as the
          active scalars of the dataset.
  
      progress_bar : bool, default: False
          Display a progress bar to indicate progress.
  
      Returns
      -------
      pyvista.ImageData
          :class:`pyvista.ImageData` with the applied low pass filter.
  
      See Also
      --------
      fft : Direct fast Fourier transform.
      rfft : Reverse fast Fourier transform.
      high_pass : High-pass filtering of FFT output.
  
      Examples
      --------
      See :ref:`image_fft_perlin_example` for a full example using this filter.
  
      """
      self._check_fft_scalars()
      alg = _vtk.vtkImageButterworthLowPass()
      alg.SetInputDataObject(self)
      alg.SetCutOff(x_cutoff, y_cutoff, z_cutoff)
      alg.SetOrder(order)
      _update_alg(alg, progress_bar, "Performing Low Pass Filter")
      output = _get_output(alg)
      self._change_fft_output_scalars(
          output,
          self.point_data.active_scalars_name,
          output_scalars_name,
      )
      return output
  
imports: import collections.abc
  from typing import Literal, Optional, cast
  import numpy
  import pyvista
  from pyvista.core import _vtk_core
  from pyvista.core.errors import AmbiguousDataError, MissingDataError
  from pyvista.core.filters import _get_output, _update_alg
  from pyvista.core.filters.data_set import DataSetFilters
  from pyvista.core.utilities.arrays import FieldAssociation, set_default_active_scalars
  from pyvista.core.utilities.helpers import wrap
  from pyvista.core.utilities.misc import abstract_class
label_desc: Use image node_id 8 for calling the ImageDataFilters obj's underlying member method code with example usage: obj.low_pass(x_cutoff, y_cutoff, z_cutoff, order, output_scalars_name, progress_bar) and returns: output