From 8ac244ec3bffcba990206e8267d22e2e8a8fa3ba Mon Sep 17 00:00:00 2001 From: Pim Nelissen Date: Tue, 27 Jan 2026 15:21:06 +0100 Subject: [PATCH] Add demo notebook --- demo/demo.ipynb | 112 ++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 demo/demo.ipynb diff --git a/demo/demo.ipynb b/demo/demo.ipynb new file mode 100644 index 0000000..4ce90ba --- /dev/null +++ b/demo/demo.ipynb @@ -0,0 +1,112 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "id": "5e30f59a", + "metadata": {}, + "source": [ + "# Demo of PG-RAD\n", + "\n", + "This is a demo." + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "id": "415fdd25", + "metadata": {}, + "outputs": [], + "source": [ + "from matplotlib import pyplot as plt\n", + "\n", + "from pg_rad.dataloader import load_data\n", + "from pg_rad.path import path_from_RT90" + ] + }, + { + "cell_type": "markdown", + "id": "8431d39b", + "metadata": {}, + "source": [ + "## Loading a file" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "id": "5a0e470a", + "metadata": {}, + "outputs": [], + "source": [ + "FILENAME = \"B10_NaIR_MGS_ROI_CPS_IPL.CSV\"\n", + "df = load_data(FILENAME)" + ] + }, + { + "cell_type": "markdown", + "id": "baa7aba8", + "metadata": {}, + "source": [ + "## Demo: Path regression" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "2ec97553", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2026-01-27 14:50:24,540 - INFO: Piecewise regression reduced path from 105 to 4 segments.\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "p1 = path_from_RT90(df, east_col = \"East\", north_col = \"North\", simplify_path = False)\n", + "p2 = path_from_RT90(df, east_col = \"East\", north_col = \"North\", simplify_path = True)\n", + "\n", + "p1.plot(color='r', linestyle='-', linewidth = 10, label = \"Full path\")\n", + "p2.plot(color='b', linestyle='-', marker = 'o', label = \"Reduced path\")\n", + "\n", + "plt.xlabel(\"X [m]\")\n", + "plt.ylabel(\"Y [m]\")\n", + "plt.legend()\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": ".venv", + "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.12.9" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +}