{ "cells": [ { "cell_type": "markdown", "id": "d602b136-6661-4663-b2b4-015ac1ba997d", "metadata": {}, "source": [ "# Define and apply a projective transform in 2D from control points\n", "This example also shows the difference with the affine transform approach \n", "O. Kaufmann, 2023." ] }, { "cell_type": "code", "execution_count": 1, "id": "ece7e6a8-f5aa-4b17-bc4d-80cf86aa6aeb", "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "from shapely.geometry import Point, LinearRing\n", "from geometron.geometries import transforms as ggt\n", "from geometron.plot import geometries as gpg" ] }, { "cell_type": "code", "execution_count": 2, "id": "0ec727c9-45b5-466f-98ed-dc08ee25bdd2", "metadata": {}, "outputs": [], "source": [ "def plot_transform(origin_gcp, destination_gcp, transformed_gcp, ls, Ls, ax=None):\n", " if ax is None:\n", " fig, ax = plt.subplots()\n", " else:\n", " fig = plt.gcf()\n", " for p in origin_gcp:\n", " i = origin_gcp.index(p)\n", " gpg.plot_shapely_obj(obj=p, ax=ax, color='g', marker='o', label='GCP - origin' if i == 0 else '_no_legend_')\n", " for p in destination_gcp:\n", " i = destination_gcp.index(p)\n", " gpg.plot_shapely_obj(obj=p, ax=ax, markeredgecolor='r', markerfacecolor='r', marker='o', label='GCP - destination' if i == 0 else '_no_legend_')\n", " for p in transformed_gcp:\n", " i = transformed_gcp.index(p)\n", " gpg.plot_shapely_obj(obj=p, ax=ax, markeredgecolor='k', markerfacecolor='w', marker='o', alpha=0.5, label='GCP - transformed' if i == 0 else '_no_legend_')\n", "\n", " for i in range(len(transformed_gcp)):\n", " ax.plot([origin_coords[i][0], transformed_gcp[i].x], [origin_coords[i][1], transformed_gcp[i].y], '--k', linewidth=0.75)\n", " ax.plot([transformed_gcp[i].x, destination_coords[i][0]], [transformed_gcp[i].y, destination_coords[i][1]], '-.k', linewidth=0.25)\n", "\n", " gpg.plot_shapely_obj(obj=ls, ax=ax, color='g', marker='x', label='object - origin')\n", " gpg.plot_shapely_obj(obj=Ls, ax=ax, color='r', marker='x', label='object - transformed')\n", " ax.axis('equal')\n", " ax.legend(loc='lower right')" ] }, { "cell_type": "markdown", "id": "60ece609-6f1e-4c39-bc9c-580e38ea0de3", "metadata": {}, "source": [ "# Sample data" ] }, { "cell_type": "code", "execution_count": 3, "id": "7773f3d0-82eb-4234-b316-58475bf12ba4", "metadata": {}, "outputs": [], "source": [ "origin_coords = [np.array([0.,0.]), np.array([0.,20.]), np.array([10.,0.]), np.array([10.,24.])]\n", "destination_coords = [np.array([20.,30.]), np.array([20.,40.]), np.array([30.,30.]), np.array([40.,52.])]\n", "ls = LinearRing([[0,5], [5,5], [20,5], [20,20], [7.5,20], [7.5, 22.5], [5, 22.5], [5, 15], [0, 10]])" ] }, { "cell_type": "code", "execution_count": 4, "id": "77768a97-e56e-4a61-b064-60028deebf4b", "metadata": {}, "outputs": [], "source": [ "origin_gcp = [Point(p) for p in origin_coords]\n", "destination_gcp = [Point(p) for p in destination_coords]" ] }, { "cell_type": "markdown", "id": "fe3fa5bd-fb65-42ca-9511-2b4d5f94ade0", "metadata": {}, "source": [ "# Affine transform" ] }, { "cell_type": "markdown", "id": "338cd344-da06-40a5-b45b-d083e21e1fe9", "metadata": {}, "source": [ "## Compute matrix" ] }, { "cell_type": "code", "execution_count": 5, "id": "a067975e-b21e-4fc4-9594-0aabcffe88b0", "metadata": {}, "outputs": [], "source": [ "transform_matrix_affine, residuals, rank, singular = ggt.affine_transform_matrix(origin_coords, destination_coords)" ] }, { "cell_type": "markdown", "id": "531ba4ea-85fc-4aa7-8f4f-77c4d7827256", "metadata": {}, "source": [ "## Apply transform" ] }, { "cell_type": "code", "execution_count": 6, "id": "4d30403c-3549-4dc7-8696-96f624192e79", "metadata": {}, "outputs": [], "source": [ "transformed_gcp_affine = [ggt.affine_transform(p, transform_matrix_affine) for p in origin_gcp]\n", "Ls_affine = ggt.affine_transform(ls, transform_matrix_affine)" ] }, { "cell_type": "markdown", "id": "e3a59bb6-ca31-48a8-b76f-9dd872b748cd", "metadata": {}, "source": [ "# Projective transform" ] }, { "cell_type": "code", "execution_count": 7, "id": "f8465d85-a72e-4ca9-ac57-6e8a55c844ad", "metadata": {}, "outputs": [], "source": [ "transform_matrix, residuals, rank, singular = ggt.projective_transform_matrix(origin_coords, destination_coords, rcond=-1)" ] }, { "cell_type": "markdown", "id": "6775351b-9f3e-43ed-90d2-5a4c04b3526e", "metadata": {}, "source": [ "## Apply projective transform" ] }, { "cell_type": "code", "execution_count": 8, "id": "2b0a5306-93ed-408f-82a2-2e24e6f9ddfa", "metadata": {}, "outputs": [], "source": [ "transformed_gcp_projective = [ggt.projective_transform(p, transform_matrix) for p in origin_gcp]\n", "Ls_projective = ggt.projective_transform(ls, transform_matrix)" ] }, { "cell_type": "markdown", "id": "afc2cbca-84be-470f-9243-0366852e71c7", "metadata": {}, "source": [ "# Comparison" ] }, { "cell_type": "code", "execution_count": 9, "id": "b178befc-85a0-4915-ac8f-282f7d931e52", "metadata": { "nbsphinx-thumbnail": { "tooltip": "Comparison between affine and projective transform" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(ncols=2, figsize=(20,8))\n", "plot_transform(origin_gcp, destination_gcp, transformed_gcp_affine, ls, Ls_affine, ax=ax[0])\n", "plot_transform(origin_gcp, destination_gcp, transformed_gcp_projective, ls, Ls_projective, ax=ax[1])\n", "xlim = (min(ax[0].get_xlim(), ax[1].get_xlim())[0], max(ax[0].get_xlim(), ax[1].get_xlim())[1])\n", "ylim = (min(ax[0].get_ylim(), ax[1].get_ylim())[0], max(ax[0].get_ylim(), ax[1].get_ylim())[1])\n", "ax[0].set_title('Affine', fontsize=20.)\n", "ax[1].set_title('Projective', fontsize=20.)\n", "plt.setp(ax, xlim=xlim, ylim=ylim);" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.13" } }, "nbformat": 4, "nbformat_minor": 5 }