Skip to content

Commit

Permalink
docs: precise yuv flavor in docstrings
Browse files Browse the repository at this point in the history
  • Loading branch information
egidioln authored Sep 9, 2024
1 parent b70725f commit 57ca8f1
Showing 1 changed file with 46 additions and 18 deletions.
64 changes: 46 additions & 18 deletions kornia/color/yuv.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,8 @@ def rgb_to_yuv(image: Tensor) -> Tensor:
.. image:: _static/img/rgb_to_yuv.png
The image data is assumed to be in the range of (0, 1).
The image data is assumed to be in the range of :math:`(0, 1)`. The range of the output is of :math:`(0, 1)` to luma and the ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
The YUV model adopted here follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Args:
image: RGB Image to be converted to YUV with shape :math:`(*, 3, H, W)`.
Expand Down Expand Up @@ -45,8 +46,11 @@ def rgb_to_yuv(image: Tensor) -> Tensor:
def rgb_to_yuv420(image: Tensor) -> Tuple[Tensor, Tensor]:
r"""Convert an RGB image to YUV 420 (subsampled).
The image data is assumed to be in the range of (0, 1). Input need to be padded to be evenly divisible by 2
horizontal and vertical. This function will output chroma siting (0.5,0.5)
Input need to be padded to be evenly divisible by 2 horizontal and vertical.
The image data is assumed to be in the range of :math:`(0, 1)`. The range of the output is of :math:`(0, 1)` to luma and the ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
The YUV model adopted here follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Args:
image: RGB Image to be converted to YUV with shape :math:`(*, 3, H, W)`.
Expand Down Expand Up @@ -76,8 +80,10 @@ def rgb_to_yuv420(image: Tensor) -> Tuple[Tensor, Tensor]:
def rgb_to_yuv422(image: Tensor) -> Tuple[Tensor, Tensor]:
r"""Convert an RGB image to YUV 422 (subsampled).
The image data is assumed to be in the range of (0, 1). Input need to be padded to be evenly divisible by 2
vertical. This function will output chroma siting (0.5)
Input need to be padded to be evenly divisible by 2 vertical.
The image data is assumed to be in the range of :math:`(0, 1)`. The range of the output is of :math:`(0, 1)` to luma and the ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
The YUV model adopted here follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Args:
image: RGB Image to be converted to YUV with shape :math:`(*, 3, H, W)`.
Expand Down Expand Up @@ -107,7 +113,8 @@ def rgb_to_yuv422(image: Tensor) -> Tuple[Tensor, Tensor]:
def yuv_to_rgb(image: Tensor) -> Tensor:
r"""Convert an YUV image to RGB.
The image data is assumed to be in the range of (0, 1) for luma and (-0.5, 0.5) for chroma.
The image data is assumed to be in the range of :math:`(0, 1)` for luma (Y). The ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Args:
image: YUV Image to be converted to RGB with shape :math:`(*, 3, H, W)`.
Expand Down Expand Up @@ -141,9 +148,10 @@ def yuv_to_rgb(image: Tensor) -> Tensor:
def yuv420_to_rgb(imagey: Tensor, imageuv: Tensor) -> Tensor:
r"""Convert an YUV420 image to RGB.
The image data is assumed to be in the range of (0, 1) for luma and (-0.5, 0.5) for chroma.
Input need to be padded to be evenly divisible by 2 horizontal and vertical.
This function assumed chroma siting is (0.5, 0.5)
The image data is assumed to be in the range of :math:`(0, 1)` for luma (Y). The ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Args:
imagey: Y (luma) Image plane to be converted to RGB with shape :math:`(*, 1, H, W)`.
Expand Down Expand Up @@ -192,8 +200,10 @@ def yuv420_to_rgb(imagey: Tensor, imageuv: Tensor) -> Tensor:
def yuv422_to_rgb(imagey: Tensor, imageuv: Tensor) -> Tensor:
r"""Convert an YUV422 image to RGB.
The image data is assumed to be in the range of (0, 1) for luma and (-0.5, 0.5) for chroma.
Input need to be padded to be evenly divisible by 2 vertical. This function assumed chroma siting is (0.5)
Input need to be padded to be evenly divisible by 2 vertical.
The image data is assumed to be in the range of :math:`(0, 1)` for luma (Y). The ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Args:
imagey: Y (luma) Image plane to be converted to RGB with shape :math:`(*, 1, H, W)`.
Expand Down Expand Up @@ -236,7 +246,9 @@ def yuv422_to_rgb(imagey: Tensor, imageuv: Tensor) -> Tensor:
class RgbToYuv(Module):
r"""Convert an image from RGB to YUV.
The image data is assumed to be in the range of (0, 1).
The image data is assumed to be in the range of :math:`(0, 1)`.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Returns:
YUV version of the image.
Expand All @@ -261,7 +273,11 @@ def forward(self, input: Tensor) -> Tensor:
class RgbToYuv420(Module):
r"""Convert an image from RGB to YUV420.
The image data is assumed to be in the range of (0, 1). Width and Height evenly divisible by 2.
Width and Height evenly divisible by 2.
The image data is assumed to be in the range of :math:`(0, 1)`.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Returns:
YUV420 version of the image.
Expand All @@ -286,7 +302,11 @@ def forward(self, yuvinput: Tensor) -> Tuple[Tensor, Tensor]: # skipcq: PYL-R02
class RgbToYuv422(Module):
r"""Convert an image from RGB to YUV422.
The image data is assumed to be in the range of (0, 1). Width evenly disvisible by 2.
Width must be evenly disvisible by 2.
The image data is assumed to be in the range of :math:`(0, 1)`.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Returns:
YUV422 version of the image.
Expand All @@ -311,7 +331,9 @@ def forward(self, yuvinput: Tensor) -> Tuple[Tensor, Tensor]: # skipcq: PYL-R02
class YuvToRgb(Module):
r"""Convert an image from YUV to RGB.
The image data is assumed to be in the range of (0, 1) for luma and (-0.5, 0.5) for chroma.
The image data is assumed to be in the range of :math:`(0, 1)` for luma (Y). The ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Returns:
RGB version of the image.
Expand All @@ -333,8 +355,11 @@ def forward(self, input: Tensor) -> Tensor:
class Yuv420ToRgb(Module):
r"""Convert an image from YUV to RGB.
The image data is assumed to be in the range of (0, 1) for luma and (-0.5, 0.5) for chroma.
Width and Height evenly divisible by 2.
Width and Height must be evenly divisible by 2.
The image data is assumed to be in the range of :math:`(0, 1)` for luma (Y). The ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Returns:
RGB version of the image.
Expand All @@ -358,8 +383,11 @@ def forward(self, inputy: Tensor, inputuv: Tensor) -> Tensor: # skipcq: PYL-R02
class Yuv422ToRgb(Module):
r"""Convert an image from YUV to RGB.
The image data is assumed to be in the range of (0, 1) for luma and (-0.5, 0.5) for chroma.
Width evenly divisible by 2.
Width must be evenly divisible by 2.
The image data is assumed to be in the range of :math:`(0, 1)` for luma (Y). The ranges of U and V are :math:`(-0.436, 0.436)` and :math:`(−0.615, 0.615)`, respectively.
YUV formula follows M/PAL values (see [BT.470-5](https://www.itu.int/dms_pubrec/itu-r/rec/bt/R-REC-BT.470-5-199802-S!!PDF-E.pdf), Table 2, items 2.5 and 2.6).
Returns:
RGB version of the image.
Expand Down

0 comments on commit 57ca8f1

Please sign in to comment.