punchbowl.levelq.pca#

Attributes#

Functions#

pca_filter(→ None)

Run PCA-based filtering.

check_file(→ bool)

Check if a file should be used.

load_files(→ tuple[numpy.ndarray, numpy.ndarray, ...)

Load files.

_call_pca_filter_one_stride(→ tuple[numpy.ndarray, ...)

pca_filter_one_stride(→ tuple[numpy.ndarray, ...)

Run PCA-based filtering for one stride position.

run_pca_filtering(→ numpy.ndarray)

Run PCA filtering.

find_bodies_in_image_quarters(→ list)

Find celestial bodies in image.

_log_forwarder(→ None)

Module Contents#

punchbowl.levelq.pca._all_files_to_fit = None#
punchbowl.levelq.pca._log_queue = None#
punchbowl.levelq.pca.pca_filter(input_cubes: list[ndcube.NDCube], files_to_fit: list[ndcube.NDCube | punchbowl.util.DataLoader | str], n_components: int = 50, med_filt: int = 5, outlier_limits: str | punchbowl.levelq.limits.LimitSet = None, n_strides: int = 8, blend_size: int = 70) None[source]#

Run PCA-based filtering.

punchbowl.levelq.pca.check_file(meta: punchbowl.data.NormalizedMetadata, outlier_limits: punchbowl.levelq.limits.LimitSet | None) bool[source]#

Check if a file should be used.

punchbowl.levelq.pca.load_files(input_cubes: list[ndcube.NDCube], files_to_fit: list[ndcube.NDCube | str | punchbowl.util.DataLoader], outlier_limits: punchbowl.levelq.limits.LimitSet | None = None, blend_size: int = 70) tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray][source]#

Load files.

punchbowl.levelq.pca._call_pca_filter_one_stride(*args: list, **kwargs: dict) tuple[numpy.ndarray, numpy.ndarray][source]#
punchbowl.levelq.pca.pca_filter_one_stride(stride: int, n_strides: int, bodies_in_quarter: numpy.ndarray, input_list_indices: numpy.ndarray, n_components: int, med_filt: int, blend_size: int, good_data_mask: numpy.ndarray, is_outlier: numpy.ndarray, logger: logging.Logger) tuple[numpy.ndarray, numpy.ndarray][source]#

Run PCA-based filtering for one stride position.

punchbowl.levelq.pca.run_pca_filtering(images_to_subtract: numpy.ndarray, images_to_fit: numpy.ndarray, n_components: int, med_filt: int, tag: str, good_data_mask: numpy.ndarray, logger: logging.Logger) numpy.ndarray[source]#

Run PCA filtering.

punchbowl.levelq.pca.find_bodies_in_image_quarters(frame: str | ndcube.NDCube | tuple[punchbowl.data.NormalizedMetadata, astropy.wcs.WCS], extra_padding: int = 0) list[source]#

Find celestial bodies in image.

punchbowl.levelq.pca._log_forwarder() None[source]#