{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Mosaicking\n", "\n", "\n", "Optimizes the image coverage search to avoid scene overlaps. Only downloads the neccessary parts.\n", "\n", "Download the overlap area, and each unique area in a separate job. For the overlap area the scene with the lowest cloudcover is selected." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "%load_ext autoreload\n", "%autoreload 2\n", "%matplotlib inline\n", "\n", "from utils.widgets import UI\n", "UI = UI()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Authenticate" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.authenticate()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Select output folder" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.choose_output_folder()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Select input AOI" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The AOI should be a geojson FeatureCollection with a single feature." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.load_aoi()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Search available images" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.create_search_params()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.search_available_images()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.show_quicklooks()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Optimize coverage\n", "\n", "Get best non-overlapping sections. Iteratively prioritizied by cloud cover & area" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.optimize_coverage()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Create workflow and run test jobs" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Note the mapping between the data sources and the block name:\n", "- [Pléiades Reflectance (Download)](https://marketplace.up42.com/block/defb134b-ca00-4e16-afa0-639c6dc0c5fe) -> `oneatlas-pleiades-fullscene` \n", "- [Pléiades Display (Download)](https://marketplace.up42.com/block/6ac78530-6200-42c1-b6a9-381a9f69d8ef) -> `oneatlas-pleiades-display`\n", "- [Pléiades Display (Streaming)](https://marketplace.up42.com/block/18d09f1a-3197-4c27-a15a-54d099c31435) -> `oneatlas-pleiades-aoiclipped`\n", "- [SPOT 6/7 Reflectance (Download)](https://marketplace.up42.com/block/63a69b97-1765-474e-b465-0b319b8d3b2d) -> `oneatlas-spot-fullscene`\n", "- [SPOT 6/7 Display (Download)](https://marketplace.up42.com/block/3e24ed57-b07f-4d44-9957-5d5c0a457239) -> `oneatlas-spot-display`\n", "- [SPOT 6/7 Display (Streaming)](https://marketplace.up42.com/block/045019bb-06fc-4fa1-b703-318725b4d8af) -> `oneatlas-spot-aoiclipped`" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.test_workflow()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Run jobs" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.run_workflow()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Mosaic" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.mosaic_sections()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "UI.view_mosaic()" ] } ], "metadata": { "deletable": false, "edittable": false, "kernelspec": { "display_name": "up42-mosaicking", "language": "python", "name": "up42-mosaicking" }, "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.7.9" } }, "nbformat": 4, "nbformat_minor": 4 }