Source code for hipscat.pixel_math.healpix_pixel_convertor

from __future__ import annotations

from typing import Tuple, Union

from hipscat.pixel_math.healpix_pixel import HealpixPixel

[docs] HealpixInputTypes = Union[HealpixPixel, Tuple[int, int]]
[docs] def get_healpix_pixel(pixel: HealpixInputTypes) -> HealpixPixel: """Function to convert argument of either HealpixPixel or a tuple of (order, pixel) to a HealpixPixel Args: pixel: an object to be converted to a HealpixPixel object """ if isinstance(pixel, tuple): if len(pixel) != 2: raise ValueError("Tuple must contain two values: HEALPix order and HEALPix pixel number") return HealpixPixel(order=pixel[0], pixel=pixel[1]) if isinstance(pixel, HealpixPixel): return pixel raise TypeError("pixel must either be of type `HealpixPixel` or tuple (order, pixel)")
[docs] def get_healpix_tuple(pixel: HealpixInputTypes) -> Tuple[int, int]: """Function to convert argument of either HealpixPixel or a tuple of (order, pixel) to a tuple of (order, pixel) Args: pixel: an object to be converted to a HealpixPixel object """ if isinstance(pixel, tuple): if len(pixel) != 2: raise ValueError("Tuple must contain two values: HEALPix order and HEALPix pixel number") return pixel if isinstance(pixel, HealpixPixel): return (pixel.order, pixel.pixel) raise TypeError("pixel must either be of type `HealpixPixel` or tuple (order, pixel)")