
.. DO NOT EDIT.
.. THIS FILE WAS AUTOMATICALLY GENERATED BY SPHINX-GALLERY.
.. TO MAKE CHANGES, EDIT THE SOURCE PYTHON FILE:
.. "auto_examples/transforms/plot_transforms_illustrations.py"
.. LINE NUMBERS ARE GIVEN BELOW.

.. rst-class:: sphx-glr-example-title

.. _sphx_glr_auto_examples_transforms_plot_transforms_illustrations.py:


==========================
Illustration of transforms
==========================

.. note::
    Try on `collab <https://colab.research.google.com/github/pytorch/vision/blob/gh-pages/main/_generated_ipynb_notebooks/plot_transforms_illustrations.ipynb>`_
    or :ref:`go to the end <sphx_glr_download_auto_examples_transforms_plot_transforms_illustrations.py>` to download the full example code.

This example illustrates some of the various transforms available in :ref:`the
torchvision.transforms.v2 module <transforms>`.

.. GENERATED FROM PYTHON SOURCE LINES 14-34

.. code-block:: default



    from PIL import Image
    from pathlib import Path
    import matplotlib.pyplot as plt

    import torch
    from torchvision.transforms import v2

    plt.rcParams["savefig.bbox"] = 'tight'

    # if you change the seed, make sure that the randomly-applied transforms
    # properly show that the image can be both transformed and *not* transformed!
    torch.manual_seed(0)

    # If you're trying to run that on collab, you can download the assets and the
    # helpers from https://github.com/pytorch/vision/tree/main/gallery/
    from helpers import plot
    orig_img = Image.open(Path('../assets') / 'astronaut.jpg')








.. GENERATED FROM PYTHON SOURCE LINES 36-47

Geometric Transforms
--------------------
Geometric image transformation refers to the process of altering the geometric properties of an image,
such as its shape, size, orientation, or position.
It involves applying mathematical operations to the image pixels or coordinates to achieve the desired transformation.

Pad
~~~
The :class:`~torchvision.transforms.Pad` transform
(see also :func:`~torchvision.transforms.functional.pad`)
pads all image borders with some pixel values.

.. GENERATED FROM PYTHON SOURCE LINES 47-50

.. code-block:: default

    padded_imgs = [v2.Pad(padding=padding)(orig_img) for padding in (3, 10, 30, 50)]
    plot([orig_img] + padded_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_001.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_001.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 51-56

Resize
~~~~~~
The :class:`~torchvision.transforms.Resize` transform
(see also :func:`~torchvision.transforms.functional.resize`)
resizes an image.

.. GENERATED FROM PYTHON SOURCE LINES 56-59

.. code-block:: default

    resized_imgs = [v2.Resize(size=size)(orig_img) for size in (30, 50, 100, orig_img.size)]
    plot([orig_img] + resized_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_002.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_002.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 60-65

CenterCrop
~~~~~~~~~~
The :class:`~torchvision.transforms.CenterCrop` transform
(see also :func:`~torchvision.transforms.functional.center_crop`)
crops the given image at the center.

.. GENERATED FROM PYTHON SOURCE LINES 65-68

.. code-block:: default

    center_crops = [v2.CenterCrop(size=size)(orig_img) for size in (30, 50, 100, orig_img.size)]
    plot([orig_img] + center_crops)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_003.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_003.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 69-74

FiveCrop
~~~~~~~~
The :class:`~torchvision.transforms.FiveCrop` transform
(see also :func:`~torchvision.transforms.functional.five_crop`)
crops the given image into four corners and the central crop.

.. GENERATED FROM PYTHON SOURCE LINES 74-77

.. code-block:: default

    (top_left, top_right, bottom_left, bottom_right, center) = v2.FiveCrop(size=(100, 100))(orig_img)
    plot([orig_img] + [top_left, top_right, bottom_left, bottom_right, center])




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_004.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_004.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 78-83

RandomPerspective
~~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomPerspective` transform
(see also :func:`~torchvision.transforms.functional.perspective`)
performs random perspective transform on an image.

.. GENERATED FROM PYTHON SOURCE LINES 83-87

.. code-block:: default

    perspective_transformer = v2.RandomPerspective(distortion_scale=0.6, p=1.0)
    perspective_imgs = [perspective_transformer(orig_img) for _ in range(4)]
    plot([orig_img] + perspective_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_005.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_005.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 88-93

RandomRotation
~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomRotation` transform
(see also :func:`~torchvision.transforms.functional.rotate`)
rotates an image with random angle.

.. GENERATED FROM PYTHON SOURCE LINES 93-97

.. code-block:: default

    rotater = v2.RandomRotation(degrees=(0, 180))
    rotated_imgs = [rotater(orig_img) for _ in range(4)]
    plot([orig_img] + rotated_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_006.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_006.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 98-103

RandomAffine
~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomAffine` transform
(see also :func:`~torchvision.transforms.functional.affine`)
performs random affine transform on an image.

.. GENERATED FROM PYTHON SOURCE LINES 103-107

.. code-block:: default

    affine_transfomer = v2.RandomAffine(degrees=(30, 70), translate=(0.1, 0.3), scale=(0.5, 0.75))
    affine_imgs = [affine_transfomer(orig_img) for _ in range(4)]
    plot([orig_img] + affine_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_007.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_007.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 108-114

ElasticTransform
~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.ElasticTransform` transform
(see also :func:`~torchvision.transforms.functional.elastic_transform`)
Randomly transforms the morphology of objects in images and produces a
see-through-water-like effect.

.. GENERATED FROM PYTHON SOURCE LINES 114-118

.. code-block:: default

    elastic_transformer = v2.ElasticTransform(alpha=250.0)
    transformed_imgs = [elastic_transformer(orig_img) for _ in range(2)]
    plot([orig_img] + transformed_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_008.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_008.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 119-124

RandomCrop
~~~~~~~~~~
The :class:`~torchvision.transforms.RandomCrop` transform
(see also :func:`~torchvision.transforms.functional.crop`)
crops an image at a random location.

.. GENERATED FROM PYTHON SOURCE LINES 124-128

.. code-block:: default

    cropper = v2.RandomCrop(size=(128, 128))
    crops = [cropper(orig_img) for _ in range(4)]
    plot([orig_img] + crops)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_009.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_009.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 129-135

RandomResizedCrop
~~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomResizedCrop` transform
(see also :func:`~torchvision.transforms.functional.resized_crop`)
crops an image at a random location, and then resizes the crop to a given
size.

.. GENERATED FROM PYTHON SOURCE LINES 135-139

.. code-block:: default

    resize_cropper = v2.RandomResizedCrop(size=(32, 32))
    resized_crops = [resize_cropper(orig_img) for _ in range(4)]
    plot([orig_img] + resized_crops)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_010.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_010.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 140-156

Photometric Transforms
----------------------
Photometric image transformation refers to the process of modifying the photometric properties of an image,
such as its brightness, contrast, color, or tone.
These transformations are applied to change the visual appearance of an image
while preserving its geometric structure.

Except :class:`~torchvision.transforms.Grayscale`, the following transforms are random,
which means that the same transform
instance will produce different result each time it transforms a given image.

Grayscale
~~~~~~~~~
The :class:`~torchvision.transforms.Grayscale` transform
(see also :func:`~torchvision.transforms.functional.to_grayscale`)
converts an image to grayscale

.. GENERATED FROM PYTHON SOURCE LINES 156-159

.. code-block:: default

    gray_img = v2.Grayscale()(orig_img)
    plot([orig_img, gray_img], cmap='gray')




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_011.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_011.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 160-164

ColorJitter
~~~~~~~~~~~
The :class:`~torchvision.transforms.ColorJitter` transform
randomly changes the brightness, contrast, saturation, hue, and other properties of an image.

.. GENERATED FROM PYTHON SOURCE LINES 164-168

.. code-block:: default

    jitter = v2.ColorJitter(brightness=.5, hue=.3)
    jittered_imgs = [jitter(orig_img) for _ in range(4)]
    plot([orig_img] + jittered_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_012.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_012.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 169-174

GaussianBlur
~~~~~~~~~~~~
The :class:`~torchvision.transforms.GaussianBlur` transform
(see also :func:`~torchvision.transforms.functional.gaussian_blur`)
performs gaussian blur transform on an image.

.. GENERATED FROM PYTHON SOURCE LINES 174-178

.. code-block:: default

    blurrer = v2.GaussianBlur(kernel_size=(5, 9), sigma=(0.1, 5.))
    blurred_imgs = [blurrer(orig_img) for _ in range(4)]
    plot([orig_img] + blurred_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_013.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_013.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 179-184

RandomInvert
~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomInvert` transform
(see also :func:`~torchvision.transforms.functional.invert`)
randomly inverts the colors of the given image.

.. GENERATED FROM PYTHON SOURCE LINES 184-188

.. code-block:: default

    inverter = v2.RandomInvert()
    invertered_imgs = [inverter(orig_img) for _ in range(4)]
    plot([orig_img] + invertered_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_014.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_014.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 189-195

RandomPosterize
~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomPosterize` transform
(see also :func:`~torchvision.transforms.functional.posterize`)
randomly posterizes the image by reducing the number of bits
of each color channel.

.. GENERATED FROM PYTHON SOURCE LINES 195-199

.. code-block:: default

    posterizer = v2.RandomPosterize(bits=2)
    posterized_imgs = [posterizer(orig_img) for _ in range(4)]
    plot([orig_img] + posterized_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_015.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_015.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 200-206

RandomSolarize
~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomSolarize` transform
(see also :func:`~torchvision.transforms.functional.solarize`)
randomly solarizes the image by inverting all pixel values above
the threshold.

.. GENERATED FROM PYTHON SOURCE LINES 206-210

.. code-block:: default

    solarizer = v2.RandomSolarize(threshold=192.0)
    solarized_imgs = [solarizer(orig_img) for _ in range(4)]
    plot([orig_img] + solarized_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_016.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_016.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 211-216

RandomAdjustSharpness
~~~~~~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomAdjustSharpness` transform
(see also :func:`~torchvision.transforms.functional.adjust_sharpness`)
randomly adjusts the sharpness of the given image.

.. GENERATED FROM PYTHON SOURCE LINES 216-220

.. code-block:: default

    sharpness_adjuster = v2.RandomAdjustSharpness(sharpness_factor=2)
    sharpened_imgs = [sharpness_adjuster(orig_img) for _ in range(4)]
    plot([orig_img] + sharpened_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_017.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_017.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 221-226

RandomAutocontrast
~~~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomAutocontrast` transform
(see also :func:`~torchvision.transforms.functional.autocontrast`)
randomly applies autocontrast to the given image.

.. GENERATED FROM PYTHON SOURCE LINES 226-230

.. code-block:: default

    autocontraster = v2.RandomAutocontrast()
    autocontrasted_imgs = [autocontraster(orig_img) for _ in range(4)]
    plot([orig_img] + autocontrasted_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_018.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_018.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 231-236

RandomEqualize
~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomEqualize` transform
(see also :func:`~torchvision.transforms.functional.equalize`)
randomly equalizes the histogram of the given image.

.. GENERATED FROM PYTHON SOURCE LINES 236-240

.. code-block:: default

    equalizer = v2.RandomEqualize()
    equalized_imgs = [equalizer(orig_img) for _ in range(4)]
    plot([orig_img] + equalized_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_019.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_019.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 241-251

Augmentation Transforms
-----------------------
The following transforms are combinations of multiple transforms,
either geometric or photometric, or both.

AutoAugment
~~~~~~~~~~~
The :class:`~torchvision.transforms.AutoAugment` transform
automatically augments data based on a given auto-augmentation policy.
See :class:`~torchvision.transforms.AutoAugmentPolicy` for the available policies.

.. GENERATED FROM PYTHON SOURCE LINES 251-260

.. code-block:: default

    policies = [v2.AutoAugmentPolicy.CIFAR10, v2.AutoAugmentPolicy.IMAGENET, v2.AutoAugmentPolicy.SVHN]
    augmenters = [v2.AutoAugment(policy) for policy in policies]
    imgs = [
        [augmenter(orig_img) for _ in range(4)]
        for augmenter in augmenters
    ]
    row_title = [str(policy).split('.')[-1] for policy in policies]
    plot([[orig_img] + row for row in imgs], row_title=row_title)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_020.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_020.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 261-264

RandAugment
~~~~~~~~~~~
The :class:`~torchvision.transforms.RandAugment` is an alternate version of AutoAugment.

.. GENERATED FROM PYTHON SOURCE LINES 264-268

.. code-block:: default

    augmenter = v2.RandAugment()
    imgs = [augmenter(orig_img) for _ in range(4)]
    plot([orig_img] + imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_021.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_021.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 269-274

TrivialAugmentWide
~~~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.TrivialAugmentWide` is an alternate implementation of AutoAugment.
However, instead of transforming an image multiple times, it transforms an image only once
using a random transform from a given list with a random strength number.

.. GENERATED FROM PYTHON SOURCE LINES 274-278

.. code-block:: default

    augmenter = v2.TrivialAugmentWide()
    imgs = [augmenter(orig_img) for _ in range(4)]
    plot([orig_img] + imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_022.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_022.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 279-282

AugMix
~~~~~~
The :class:`~torchvision.transforms.AugMix` transform interpolates between augmented versions of an image.

.. GENERATED FROM PYTHON SOURCE LINES 282-286

.. code-block:: default

    augmenter = v2.AugMix()
    imgs = [augmenter(orig_img) for _ in range(4)]
    plot([orig_img] + imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_023.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_023.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 287-299

Randomly-applied Transforms
---------------------------

The following transforms are randomly-applied given a probability ``p``.  That is, given ``p = 0.5``,
there is a 50% chance to return the original image, and a 50% chance to return the transformed image,
even when called with the same transform instance!

RandomHorizontalFlip
~~~~~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomHorizontalFlip` transform
(see also :func:`~torchvision.transforms.functional.hflip`)
performs horizontal flip of an image, with a given probability.

.. GENERATED FROM PYTHON SOURCE LINES 299-303

.. code-block:: default

    hflipper = v2.RandomHorizontalFlip(p=0.5)
    transformed_imgs = [hflipper(orig_img) for _ in range(4)]
    plot([orig_img] + transformed_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_024.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_024.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 304-309

RandomVerticalFlip
~~~~~~~~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomVerticalFlip` transform
(see also :func:`~torchvision.transforms.functional.vflip`)
performs vertical flip of an image, with a given probability.

.. GENERATED FROM PYTHON SOURCE LINES 309-313

.. code-block:: default

    vflipper = v2.RandomVerticalFlip(p=0.5)
    transformed_imgs = [vflipper(orig_img) for _ in range(4)]
    plot([orig_img] + transformed_imgs)




.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_025.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_025.png
   :class: sphx-glr-single-img





.. GENERATED FROM PYTHON SOURCE LINES 314-318

RandomApply
~~~~~~~~~~~
The :class:`~torchvision.transforms.RandomApply` transform
randomly applies a list of transforms, with a given probability.

.. GENERATED FROM PYTHON SOURCE LINES 318-321

.. code-block:: default

    applier = v2.RandomApply(transforms=[v2.RandomCrop(size=(64, 64))], p=0.5)
    transformed_imgs = [applier(orig_img) for _ in range(4)]
    plot([orig_img] + transformed_imgs)



.. image-sg:: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_026.png
   :alt: plot transforms illustrations
   :srcset: /auto_examples/transforms/images/sphx_glr_plot_transforms_illustrations_026.png
   :class: sphx-glr-single-img






.. rst-class:: sphx-glr-timing

   **Total running time of the script:** (0 minutes 5.963 seconds)


.. _sphx_glr_download_auto_examples_transforms_plot_transforms_illustrations.py:

.. only:: html

  .. container:: sphx-glr-footer sphx-glr-footer-example




    .. container:: sphx-glr-download sphx-glr-download-python

      :download:`Download Python source code: plot_transforms_illustrations.py <plot_transforms_illustrations.py>`

    .. container:: sphx-glr-download sphx-glr-download-jupyter

      :download:`Download Jupyter notebook: plot_transforms_illustrations.ipynb <plot_transforms_illustrations.ipynb>`


.. only:: html

 .. rst-class:: sphx-glr-signature

    `Gallery generated by Sphinx-Gallery <https://sphinx-gallery.github.io>`_
