def _compute_lst_mono_window(self, **kwargs) -> np.ndarray:
        """
        Computes the LST

        kwargs:

        **emissivity_10 (np.ndarray): Emissivity image obtained for band 10
        **brightness_temperature_10 (np.ndarray): Brightness temperature image obtained for band 10
        **mask (np.ndarray[bool]): Mask image. Output will have NaN value where mask is True.

        Returns:
            np.ndarray: Land surface temperature image
        """
        required_keywords = [
            "brightness_temperature_10", "emissivity_10", "mask"
        ]
        assert_required_keywords_provided(required_keywords, **kwargs)

        temperature_band = kwargs["brightness_temperature_10"]
        emissivity = kwargs["emissivity_10"]
        mask = kwargs["mask"]

        if not (mask.shape == temperature_band.shape == emissivity.shape):
            raise ValueError("Input images must be of the same size/shape")

        land_surface_temp = temperature_band / (1 + ((
            (0.0000115 * temperature_band) / 14380) * np.log(emissivity)))
        land_surface_temp[mask] = np.nan
        return land_surface_temp
    def _compute_lst(self, **kwargs) -> np.ndarray:
        """Computes the LST

        kwargs:

        **brightness_temperature_10 (np.ndarray): Brightness temperature image obtained for band 10
        **brightness_temperature_11 (np.ndarray): Brightness temperature image obtained for band 11
        **ndvi (np.ndarray): NDVI image
        **mask (np.ndarray[bool]): Mask image. Output will have NaN value where mask is True.

        Returns:
            np.ndarray: Land surface temperature image
        """

        required_keywords = [
            "brightness_temperature_10",
            "brightness_temperature_11",
            "ndvi",
            "mask",
        ]
        assert_required_keywords_provided(required_keywords, **kwargs)

        tb_10 = kwargs["brightness_temperature_10"]
        tb_11 = kwargs["brightness_temperature_11"]
        ndvi = kwargs["ndvi"]
        mask = kwargs["mask"]

        pv = fractional_vegetation_cover(ndvi)

        lst = ((tb_10 * ((0.5 * pv) + 3.1)) + (tb_11 * ((-0.5 * pv) - 2.1)) -
               ((5.5 * pv) + 3.1))
        lst[mask] = np.nan
        return lst
    def _compute_lst(self, **kwargs) -> np.ndarray:
        """
        kwargs:

        **emissivity_10 (np.ndarray): Emissivity image obtained for band 10
        **emissivity_11 (np.ndarray): Emissivity image obtained for band 11
        **brightness_temperature_10 (np.ndarray): Brightness temperature image obtained for band 10
        **brightness_temperature_11 (np.ndarray): Brightness temperature image obtained for band 11
        **mask (np.ndarray[bool]): Mask image. Output will have NaN value where mask is True.

        Returns:
            np.ndarray: Land surface temperature image
        """
        required_keywords = [
            "emissivity_10",
            "emissivity_11",
            "brightness_temperature_10",
            "brightness_temperature_11",
            "mask",
        ]
        assert_required_keywords_provided(required_keywords, **kwargs)

        tb_10 = kwargs["brightness_temperature_10"]
        tb_11 = kwargs["brightness_temperature_11"]
        emm_10 = kwargs["emissivity_10"]
        emm_11 = kwargs["emissivity_11"]
        mask = kwargs["mask"]

        diff_tb = tb_10 - tb_11
        diff_e = emm_10 - emm_11

        lst = (tb_10 + (1.06 * (diff_tb)) + (0.46 * diff_tb**2) +
               (53 * (1 - emm_10)) - (53 * (diff_e)))
        lst[mask] = np.nan
        return lst
    def _compute_lst(self, **kwargs) -> np.ndarray:
        """Computes the LST

        kwargs:
        **emissivity_10 (np.ndarray): Emissivity image obtained for band 10
        **emissivity_11 (np.ndarray): Emissivity image obtained for band 11
        **brightness_temperature_10 (np.ndarray): Brightness temperature image obtained for band 10
        **brightness_temperature_11 (np.ndarray): Brightness temperature image obtained for band 11
        **mask (np.ndarray[bool]): Mask image. Output will have NaN value where mask is True.

        Returns:
            np.ndarray: Land surface temperature image
        """
        required_keywords = [
            "emissivity_10",
            "emissivity_11",
            "brightness_temperature_10",
            "brightness_temperature_11",
            "mask",
        ]
        assert_required_keywords_provided(required_keywords, **kwargs)

        tb_10 = kwargs["brightness_temperature_10"]
        tb_11 = kwargs["brightness_temperature_11"]
        emm_10 = kwargs["emissivity_10"]
        emm_11 = kwargs["emissivity_11"]
        mask = kwargs["mask"]

        lst = (tb_10 + 3.33 *
               (tb_10 - tb_11)) * ((5.5 - emm_10) / 4.5) + (0.75 * tb_11 *
                                                            (emm_10 - emm_11))
        lst[mask] = np.nan
        return lst
    def _compute_lst(self, **kwargs) -> np.ndarray:
        """Computes the keyword arguments

        kwargs:
        **brightness_temperature_10 (np.ndarray): Brightness temperature image obtained for band 10
        **brightness_temperature_11 (np.ndarray): Brightness temperature image obtained for band 11
        **mask (np.ndarray[bool]): Mask image. Output will have NaN value where mask is True.

        Returns:
            np.ndarray: Land surface temperature image
        """
        required_keywords = [
            "brightness_temperature_10",
            "brightness_temperature_11",
            "mask",
        ]
        assert_required_keywords_provided(required_keywords, **kwargs)

        tb_10 = kwargs["brightness_temperature_10"]
        tb_11 = kwargs["brightness_temperature_11"]
        mask = kwargs["mask"]

        lst = (1.035 * tb_10) + (3.046 * (tb_10 - tb_11)) - 10.93
        lst[mask] = np.nan
        return lst
    def _compute_lst(self, **kwargs) -> np.ndarray:
        """Computes the LST

        kwargs:

        **emissivity_10 (np.ndarray): Emissivity image obtained for band 10
        **emissivity_11 (np.ndarray): Emissivity image obtained for band 11
        **brightness_temperature_10 (np.ndarray): Brightness temperature image obtained for band 10
        **brightness_temperature_11 (np.ndarray): Brightness temperature image obtained for band 11
        **mask (np.ndarray[bool]): Mask image. Output will have NaN value where mask is True.

        Returns:
            np.ndarray: Land surface temperature image
        """

        required_keywords = [
            "emissivity_10",
            "emissivity_11",
            "brightness_temperature_10",
            "brightness_temperature_11",
            "mask",
        ]
        assert_required_keywords_provided(required_keywords, **kwargs)

        tb_10 = kwargs["brightness_temperature_10"]
        tb_11 = kwargs["brightness_temperature_11"]
        emissivity_10 = kwargs["emissivity_10"]
        emissivity_11 = kwargs["emissivity_11"]
        mask = kwargs["mask"]

        mean_e = (emissivity_10 + emissivity_11) / 2
        diff_e = emissivity_10 - emissivity_11
        diff_tb = tb_10 - tb_11

        lst = (tb_10 + (1.387 * diff_tb) + (0.183 * (diff_tb**2)) - 0.268 +
               ((54.3 - (2.238 * self.cwv)) *
                (1 - mean_e)) + ((-129.2 + (16.4 * self.cwv)) * diff_e))
        lst[mask] = np.nan
        return lst