class_docstr: A class that wraps :class:`pyfftw.FFTW`, providing a slicer on the input
  stage during calls to :meth:`~pyfftw.builders._utils._FFTWWrapper.__call__`.
class_docstr_tok: ["A","class","that","wraps",":","class",":","`","pyfftw.FFTW","`",",","providing","a","slicer","on","the","input","stage","during","calls","to",":","meth",":","`","~pyfftw.builders._utils._FFTWWrapper.__call__","`","."]
docstr: The arguments are as per :class:`pyfftw.FFTW`, but with the addition
  of 2 keyword arguments: ``input_array_slicer`` and
  ``FFTW_array_slicer``.
  
  These arguments represent 2 slicers: ``input_array_slicer`` slices
  the input array that is passed in during a call to instances of this
  class, and ``FFTW_array_slicer`` slices the internal array.
  
  The arrays that are returned from both of these slicing operations
  should be the same size. The data is then copied from the sliced
  input array into the sliced internal array.
docstr_tok: ["The","arguments","are","as","per",":","class",":","`","pyfftw.FFTW","`",",","but","with","the","addition","of","2","keyword","arguments",":","``","input_array_slicer","``","and","``","FFTW_array_slicer","``",".","These","arguments","represent","2","slicers",":","``","input_array_slicer","``","slices","the","input","array","that","is","passed","in","during","a","call","to","instances","of","this","class",",","and","``","FFTW_array_slicer","``","slices","the","internal","array",".","The","arrays","that","are","returned","from","both","of","these","slicing","operations","should","be","the","same","size",".","The","data","is","then","copied","from","the","sliced","input","array","into","the","sliced","internal","array","."]
code: def __init__(
      self,
      input_array,
      output_array,
      axes=[-1],
      direction="FFTW_FORWARD",
      flags=["FFTW_MEASURE"],
      threads=1,
      input_array_slicer=None,
      FFTW_array_slicer=None,
      normalise_idft=True,
      ortho=False,
  ):
      """The arguments are as per :class:`pyfftw.FFTW`, but with the addition
      of 2 keyword arguments: ``input_array_slicer`` and
      ``FFTW_array_slicer``.
  
      These arguments represent 2 slicers: ``input_array_slicer`` slices
      the input array that is passed in during a call to instances of this
      class, and ``FFTW_array_slicer`` slices the internal array.
  
      The arrays that are returned from both of these slicing operations
      should be the same size. The data is then copied from the sliced
      input array into the sliced internal array.
      """
  
      self._input_array_slicer = input_array_slicer
      self._FFTW_array_slicer = FFTW_array_slicer
      self._normalise_idft = normalise_idft
      self._ortho = ortho
  
      if "FFTW_DESTROY_INPUT" in flags:
          self._input_destroyed = True
      else:
          self._input_destroyed = False
  
      pyfftw.FFTW.__init__(
          self,
          input_array,
          output_array,
          axes,
          direction,
          flags,
          threads,
      )
  
file_path: py-fftw/pyfftw/builders/_utils.py
imports: import multiprocessing
  import pyfftw
  import numpy
  import warnings
  from ..None import _threading_type
  from ..None import config
label_desc: Use image node_id 1 to create a new _FFTWWrapper object from inherited base classes: pyfftw with example: obj = _FFTWWrapper(input_array, output_array, axes, direction, flags, threads, input_array_slicer, FFTW_array_slicer, normalise_idft, ortho)