

.. _sphx_glr_auto_examples_transform:

Geometrical transformations and registration
--------------------------------------------



.. raw:: html

    <div class="sphx-glr-thumbnails">

.. thumbnail-parent-div-open

.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Image swirling is a non-linear image deformation that creates a whirlpool effect.  This example describes the implementation of this transform in skimage, as well as the underlying warp mechanism.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_swirl_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_swirl.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Swirl</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example illustrates the different edge modes available during interpolation in routines such as :pyskimage.transform.rescale and :pyskimage.transform.resize.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_edge_modes_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_edge_modes.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Interpolation: Edge Modes</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Rescale operation resizes an image by a given scaling factor. The scaling factor can either be a single floating point value, or multiple values - one along each axis.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_rescale_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_rescale.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Rescale, resize, and downscale</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="The pyramid_gaussian function takes an image and yields successive images shrunk by a constant scale factor. Image pyramids are often used, e.g., to implement algorithms for denoising, texture discrimination, and scale-invariant detection.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_pyramid_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_pyramid.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Build image pyramids</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example shows how to use the Piecewise Affine Transformation.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_piecewise_affine_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_piecewise_affine.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Piecewise Affine Transformation</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="When comparing images, the mean squared error (MSE)--while simple to implement--is not highly indicative of perceived similarity.  Structural similarity aims to address this shortcoming by taking texture into account [1]_, [2]_.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_ssim_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_ssim.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Structural similarity index</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="In this example, we will see how to use geometric transformations in the context of image processing.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_geometric_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_geometric.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Using geometric transformations</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="Homographies are transformations of a Euclidean space that preserve the alignment of points. Specific cases of homographies correspond to the conservation of more properties, such as parallelism (affine transformation), shape (similar transformation) or distances (Euclidean transformation).">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_transform_types_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_transform_types.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Types of homographies</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="To warp an image, we start with a set of source and target coordinates. The goal is to deform the image such that the source points move to the target locations. Typically, we only know the target positions for a few, select source points. To calculate the target positions for all other pixel positions, we need a model. Various such models exist, such as affine or projective transformations.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_tps_deformation_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_tps_deformation.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Use thin-plate splines for image warping</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="This example demonstrates how to robustly estimate epipolar geometry &lt;https://en.wikipedia.org/wiki/Epipolar_geometry&gt; (the geometry of stereo vision) between two views using sparse ORB feature correspondences.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_fundamental_matrix_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_fundamental_matrix.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Fundamental matrix estimation</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="In this example we see how to robustly fit a line model to faulty data using the RANSAC (random sample consensus) algorithm.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_ransac_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_ransac.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Robust line model estimation using RANSAC</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="In computed tomography, the tomography reconstruction problem is to obtain a tomographic slice image from a set of projections [1]_. A projection is formed by drawing a set of parallel rays through the 2D object of interest, assigning the integral of the object&#x27;s contrast along each ray to a single pixel in the projection. A single projection of a 2D object is one dimensional. To enable computed tomography reconstruction of the object, several projections must be acquired, each of them corresponding to a different angle between the rays with respect to the object. A collection of projections at several angles is called a sinogram, which is a linear transform of the original image.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_radon_transform_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_radon_transform.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Radon transform</div>
    </div>


.. raw:: html

    <div class="sphx-glr-thumbcontainer" tooltip="In this simplified example we first generate two synthetic images as if they were taken from different view points.">

.. only:: html

  .. image:: /auto_examples/transform/images/thumb/sphx_glr_plot_matching_thumb.png
    :alt:

  :ref:`sphx_glr_auto_examples_transform_plot_matching.py`

.. raw:: html

      <div class="sphx-glr-thumbnail-title">Robust matching using RANSAC</div>
    </div>


.. thumbnail-parent-div-close

.. raw:: html

    </div>


.. toctree::
   :hidden:

   /auto_examples/transform/plot_swirl
   /auto_examples/transform/plot_edge_modes
   /auto_examples/transform/plot_rescale
   /auto_examples/transform/plot_pyramid
   /auto_examples/transform/plot_piecewise_affine
   /auto_examples/transform/plot_ssim
   /auto_examples/transform/plot_geometric
   /auto_examples/transform/plot_transform_types
   /auto_examples/transform/plot_tps_deformation
   /auto_examples/transform/plot_fundamental_matrix
   /auto_examples/transform/plot_ransac
   /auto_examples/transform/plot_radon_transform
   /auto_examples/transform/plot_matching

