{ "cells": [ { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import sys\n", "from pathlib import Path\n", "import numpy as np\n", "import matplotlib.pyplot as plt\n", "import collections\n", "\n", "ld2dap_path = Path('../')\n", "sys.path.append(str(ld2dap_path.resolve()))\n", "import ld2dap\n", "from ld2dap.core import Filter" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "layers_files = [\n", " '../Data/phase1_rasters/DEM+B_C123/UH17_GEM051_TR.tif',\n", " '../Data/phase1_rasters/DEM_C123_3msr/UH17_GEG051_TR.tif',\n", " '../Data/phase1_rasters/DEM_C123_TLI/UH17_GEG05_TR.tif',\n", " '../Data/phase1_rasters/DSM_C12/UH17c_GEF051_TR.tif',\n", " '../Data/phase1_rasters/Intensity_C1/UH17_GI1F051_TR.tif',\n", " '../Data/phase1_rasters/Intensity_C2/UH17_GI2F051_TR.tif',\n", " '../Data/phase1_rasters/Intensity_C3/UH17_GI3F051_TR.tif'\n", "]" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Node Streaming Local FeaturesAttribute Profiles\n", "\n", "We made some custom LFAPs in Python, but now Triskele comes with its owns in C++! Let's try it out then create a streaming node.\n", "\n", "## Triskele LFAPs" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import sys\n", "sys.path.append('../triskele/python/')\n", "import triskele" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "raster = triskele.read(layers_files[0])\n", "raster.shape" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "lfaps = triskele.Triskele(raster)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "results = lfaps.filter(area=[100, 1e4], feature='SD')\n", "results.shape, lfaps.process" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Streamin Node" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import logging\n", "logger = logging.getLogger()\n", "logger.setLevel(logging.DEBUG)" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "l = ld2dap.LoadTIFF(layers_files)\n", "t = ld2dap.Treshold(1e4)\n", "a = ld2dap.LocalFeatures([np.var, np.std, ])#, sd=[.4,.6,.8], moi=[.5,.9])\n", "d = ld2dap.ShowFig(stack_id='all', symb=False)\n", "o = ld2dap.RawOutput()\n", "\n", "o.input = a\n", "d.input = a\n", "a.input = t\n", "t.input = l\n", "\n", "d.run()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "print(o.metadata[0])" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "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" } }, "nbformat": 4, "nbformat_minor": 2 }