Source code for astrophot.models.func.base

from ...backend_obj import ArrayLike


[docs] def all_subclasses(cls): return set(cls.__subclasses__()).union( [s for c in cls.__subclasses__() for s in all_subclasses(c)] )
[docs] def downsample(img: ArrayLike, scale: int = 1): if scale == 1: return img MS = img.shape[0] // scale NS = img.shape[1] // scale return img[: MS * scale, : NS * scale].reshape(MS, scale, NS, scale).sum(axis=(1, 3))
[docs] def downsample_mean(img: ArrayLike, scale: int = 1): if scale == 1: return img MS = img.shape[0] // scale NS = img.shape[1] // scale return img[: MS * scale, : NS * scale].reshape(MS, scale, NS, scale).mean(axis=(1, 3))