Source code for plenoptic.data.images
"""Example images to use with plenoptic."""
from importlib import resources
import torch
from ..tensors import load_images
FILES = resources.files("plenoptic.data")
__all__ = [
"einstein",
"curie",
"parrot",
"reptile_skin",
"color_wheel",
]
def __dir__() -> list[str]:
return __all__
[docs]
def einstein(as_gray: bool = True) -> torch.Tensor:
"""
Return an example grayscale image of Albert Einstein.
Parameters
----------
as_gray :
Whether to load a single grayscale channel or 3 RGB channels.
Returns
-------
image :
4d tensor of the image.
Examples
--------
.. plot::
>>> import plenoptic as po
>>> einstein = po.data.einstein()
>>> einstein.shape
torch.Size([1, 1, 256, 256])
>>> po.plot.imshow(einstein)
<PyrFigure size ...>
>>> import plenoptic as po
>>> einstein_rgb = po.data.einstein(as_gray=False)
>>> einstein_rgb.shape
torch.Size([1, 3, 256, 256])
""" # numpydoc ignore=ES01
return load_images(FILES / "einstein.pgm", as_gray=as_gray)
[docs]
def curie(as_gray: bool = True) -> torch.Tensor:
"""
Return an example grayscale image of Marie Curie.
Parameters
----------
as_gray :
Whether to load a single grayscale channel or 3 RGB channels.
Returns
-------
image :
4d tensor of the image.
Examples
--------
.. plot::
>>> import plenoptic as po
>>> curie = po.data.curie()
>>> curie.shape
torch.Size([1, 1, 256, 256])
>>> po.plot.imshow(curie)
<PyrFigure size ...>
>>> import plenoptic as po
>>> curie_rgb = po.data.curie(as_gray=False)
>>> curie_rgb.shape
torch.Size([1, 3, 256, 256])
""" # numpydoc ignore=ES01
return load_images(FILES / "curie.pgm", as_gray=as_gray)
[docs]
def parrot(as_gray: bool = True) -> torch.Tensor:
"""
Return an example grayscale image of a parrot.
Parameters
----------
as_gray :
Whether to load a single grayscale channel or 3 RGB channels.
Returns
-------
image :
4d tensor of the image.
Examples
--------
.. plot::
>>> import plenoptic as po
>>> parrot = po.data.parrot()
>>> parrot.shape
torch.Size([1, 1, 254, 266])
>>> po.plot.imshow(parrot)
<PyrFigure size ...>
>>> import plenoptic as po
>>> parrot_rgb = po.data.parrot(as_gray=False)
>>> parrot_rgb.shape
torch.Size([1, 3, 254, 266])
""" # numpydoc ignore=ES01
return load_images(FILES / "parrot.png", as_gray=as_gray)
[docs]
def reptile_skin(as_gray: bool = True) -> torch.Tensor:
"""
Return an example grayscale image of reptile skin.
Parameters
----------
as_gray :
Whether to load a single grayscale channel or 3 RGB channels.
Returns
-------
image :
4d tensor of the image.
Examples
--------
.. plot::
>>> import plenoptic as po
>>> reptile_skin = po.data.reptile_skin()
>>> reptile_skin.shape
torch.Size([1, 1, 256, 256])
>>> po.plot.imshow(reptile_skin)
<PyrFigure size ...>
>>> import plenoptic as po
>>> reptile_skin_rgb = po.data.reptile_skin(as_gray=False)
>>> reptile_skin_rgb.shape
torch.Size([1, 3, 256, 256])
""" # numpydoc ignore=ES01
return load_images(FILES / "reptile_skin.pgm", as_gray=as_gray)
[docs]
def color_wheel(as_gray: bool = False) -> torch.Tensor:
"""
Return an example image of a color wheel.
Parameters
----------
as_gray :
Whether to load a single grayscale channel or 3 RGB channels.
Returns
-------
image :
4d tensor of the image.
Examples
--------
.. plot::
>>> import plenoptic as po
>>> color_wheel = po.data.color_wheel()
>>> color_wheel.shape
torch.Size([1, 3, 600, 600])
>>> po.plot.imshow(color_wheel, as_rgb=True, zoom=0.5)
<PyrFigure size ...>
.. plot::
>>> import plenoptic as po
>>> color_wheel_gray = po.data.color_wheel(as_gray=True)
>>> color_wheel_gray.shape
torch.Size([1, 1, 600, 600])
>>> po.plot.imshow(color_wheel_gray, zoom=0.5)
<PyrFigure size ...>
""" # numpydoc ignore=ES01
return load_images(FILES / "color_wheel.jpg", as_gray=as_gray)