punchbowl.level3.motion_filter#

Attributes#

Functions#

layer_mask() → numpy.ndarray)

Generate a circular mask centered in the output array.

generate_hourglass_filter(→ numpy.ndarray)

Create an hourglass filter mask.

apply_motion_filter(→ numpy.ndarray)

Perform a Fourier motion filter on input datacube.

Module Contents#

punchbowl.level3.motion_filter.HAS_CUPY = True#
punchbowl.level3.motion_filter.layer_mask(radius: float, img_shape: int, int) numpy.ndarray[source]#

Generate a circular mask centered in the output array.

Parameters:
  • radius (float) – The radius of the masked circular region

  • img_shape (tuple) – The shape of the output mask

Returns:

Circular mask

Return type:

np.ndarray

punchbowl.level3.motion_filter.generate_hourglass_filter(fft_cube: numpy.ndarray, cutoff_velocity: float) numpy.ndarray[source]#

Create an hourglass filter mask.

Parameters:
  • fft_cube (np.ndarray) – The 3D Fourier space cube.

  • cutoff_velocity (float) – The cutoff velocity.

Returns:

Hourglass filter mask.

Return type:

np.ndarray

punchbowl.level3.motion_filter.apply_motion_filter(stacked_data: numpy.ndarray, apod_margin: int, use_gpu: bool = True) numpy.ndarray[source]#

Perform a Fourier motion filter on input datacube.

Parameters:
  • stacked_data (np.ndarray) – Starfield removed stacked datacube.

  • apod_margin (int) – Apodization margin.

  • use_gpu (bool, optional) – Whether to use GPU for processing (default is True).

Returns:

Fourier motion filtered datacube.

Return type:

np.ndarray