Files
2024-08-08 18:50:16 -04:00

1256 lines
37 KiB
Plaintext

{
"cells": [
{
"cell_type": "markdown",
"id": "1f7bcf7e-d9e5-4725-9250-26d23ded7e7d",
"metadata": {},
"source": [
"# Perform Sentinel-1 InSAR using ESA SNAP Toolkit using SageMaker geospatial capabilities"
]
},
{
"cell_type": "markdown",
"id": "532a687a-516f-41d4-8ddb-29add2332ca0",
"metadata": {},
"source": [
"---\n",
"\n",
"This notebook's CI test result for us-west-2 is as follows. CI test results in other regions can be found at the end of the notebook. \n",
"\n",
"![This us-west-2 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/us-west-2/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"---"
]
},
{
"cell_type": "markdown",
"id": "84f113e4-681c-44d8-a143-f6de356adfc0",
"metadata": {
"tags": []
},
"source": [
"## Introduction"
]
},
{
"cell_type": "markdown",
"id": "c8a6349c-3376-492f-88cb-cac864f12d23",
"metadata": {},
"source": [
"In this notebook, we will demonstrate how to use the European Space Agency (ESA) [Sentinel Application Platform (SNAP) Toolkit](https://step.esa.int/main/toolboxes/snap/) from within Amazon SageMaker to perform InSAR following [this guide](http://step.esa.int/docs/tutorials/command_line_inSAR_processing.pdf) from ESA. This notebook will generate an interferogram that visualizes the surface deformation caused by the April 16th, 2016 Kumamoto earthquake in Japan.\n",
"\n",
"#### Why use Sentinel-1?\n",
"As Sentinel-1 carries a Synthetic Aperature Radar (SAR) instrument, which has advantages over optical sensors in that it can see through clouds and weather, and can be used at night.\n",
"\n",
"#### Making changes\n",
"If you want to make changes to the processing steps without having to download the scenes and unzip them again (as these steps can take awhile), simply delete the \"out\" folder within data/snap/kumamoto, restart the Kernel and clear all outputs, make your changes, and then run the notebook!"
]
},
{
"cell_type": "markdown",
"id": "8ea4165d-686c-4646-a718-5e09674188aa",
"metadata": {
"tags": []
},
"source": [
"## Prerequisites"
]
},
{
"cell_type": "markdown",
"id": "3c85b858-67aa-494d-a82b-98dfc528f208",
"metadata": {},
"source": [
"This notebook runs with the Geospatial 1.0 kernel with a `ml.geospatial.interactive` instance. Note that the following policies need to be attached to the execution role that you used to run this notebook:\n",
"- AmazonSageMakerFullAccess\n",
"- AmazonSageMakerGeospatialFullAccess\n",
"\n",
"You can see the policies attached to the role in the IAM console under the permissions tab. If required, add the roles using the 'Add Permissions' button.\n",
"\n",
"In addition to these policies, ensure that the execution role's trust policy allows the SageMaker-GeoSpatial service to assume the role. This can be done by adding the following trust policy using the 'Trust relationships' tab:"
]
},
{
"cell_type": "markdown",
"id": "3e830121-9b74-47bb-9ca5-ba9392a1bf8f",
"metadata": {
"tags": []
},
"source": [
"```\n",
"{\n",
" \"Version\": \"2012-10-17\",\n",
" \"Statement\": [\n",
" {\n",
" \"Effect\": \"Allow\",\n",
" \"Principal\": {\n",
" \"Service\": [\n",
" \"sagemaker.amazonaws.com\",\n",
" \"sagemaker-geospatial.amazonaws.com\"\n",
" ]\n",
" },\n",
" \"Action\": \"sts:AssumeRole\"\n",
" }\n",
" ]\n",
"}\n",
"```"
]
},
{
"cell_type": "markdown",
"id": "4846141c-a3ca-4d63-accc-812d2fe260b1",
"metadata": {
"tags": []
},
"source": [
"## Get temporary S3 credentials for NASA EOSDIS\n",
"SageMaker Geospatial currently does not have Sentinel-1 SLCs which are what we need for interferometry, so we will fetch the needed SLCs from NASA directly.\n",
"\n",
"We will want to download 2 scenes, before the earthquake and after, so we can \"see\" the phase shift or changes in the earth's surface due to the earthquake. To get files from NASA on AWS, you will need to get a set of temporary S3 credentials which you can fetch from NASA EarthSearch.\n",
"\n",
"To access the data, you need to have a login on NASA EarthSearch portal, you can register and login with the link below. The data are available to all and the login is free of charge. \n",
"- https://urs.earthdata.nasa.gov/\n",
"\n",
"After you logged in, you can obtain the necessary S3 credentials by navigating to the following page:\n",
"- https://sentinel1.asf.alaska.edu/s3credentials\n",
"\n",
"Copy the provided credentials into the cell below."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "33840e74-40b0-4a34-a3b0-5a8116c54410",
"metadata": {},
"outputs": [],
"source": [
"# set temporary AWS Credentials - NOTE that these creds expire every hour\n",
"AWS_ACCESS_KEY_ID = \"\"\n",
"AWS_SECRET_ACCESS_KEY = \"\"\n",
"AWS_SESSION_TOKEN = \"\"\n",
"AWS_REGION = \"us-west-2\" # do not change the region"
]
},
{
"cell_type": "markdown",
"id": "36592321-9f4e-43e4-8902-9534b7cab8a8",
"metadata": {},
"source": [
"### Get before and after Sentinel-1 scenes"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "9b745acc-a1c4-4141-ba3d-f4120c252479",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import boto3\n",
"import os\n",
"\n",
"# set up our connection to the NASA S3 bucket\n",
"session = boto3.Session()\n",
"s3 = boto3.client(\n",
" \"s3\",\n",
" aws_access_key_id=AWS_ACCESS_KEY_ID,\n",
" aws_secret_access_key=AWS_SECRET_ACCESS_KEY,\n",
" aws_session_token=AWS_SESSION_TOKEN,\n",
")\n",
"bucket = \"asf-ngap2w-p-s1-slc-7b420b89\"\n",
"\n",
"# create a local folder to store Kumamoto data\n",
"if not os.path.exists(os.getcwd() + \"/data/snap/kumamoto\"):\n",
" print(\"Creating: \" + os.getcwd() + \"/data/snap/kumamoto\")\n",
" os.makedirs(os.getcwd() + \"/data/snap/kumamoto\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "93c91406-b681-4437-a0e3-c9c5168a6773",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Before Scene: S1A_IW_SLC__1SSV_20160408T091355_20160408T091430_010728_01001F_83EB\n",
"# s3://asf-ngap2w-p-s1-slc-7b420b89/S1A_IW_SLC__1SSV_20160408T091355_20160408T091430_010728_01001F_83EB.zip\n",
"obj_name = \"S1A_IW_SLC__1SSV_20160408T091355_20160408T091430_010728_01001F_83EB.zip\"\n",
"trim_filename = obj_name[: len(obj_name) - 4]\n",
"before_folder_name = \"data/snap/kumamoto/\" + trim_filename + \".SAFE\"\n",
"file_name = \"data/snap/kumamoto/\" + obj_name\n",
"print(before_folder_name)\n",
"print(file_name)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "d1be5f58-d6ce-4c87-a53c-d6bbfa755a0f",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Before Scene: create directory to put the file and expand it\n",
"os.environ[\"SENTINEL1_BEFORE_TILE_PATH\"] = before_folder_name\n",
"os.environ[\"SENTINEL1_BEFORE_TILE_ID\"] = trim_filename\n",
"\n",
"!echo $SENTINEL1_BEFORE_TILE_PATH\n",
"!echo $SENTINEL1_BEFORE_TILE_ID"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "2c63eabf-2705-4e25-ba2d-5c2b55e67c93",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Before Scene: download the file if we don't already have it\n",
"if not os.path.exists(file_name):\n",
" s3.download_file(bucket, obj_name, file_name)\n",
" print(file_name + \" downloaded\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fe501b21-4f7f-4fe5-a349-f50cb03997e2",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Before Scene: expand the zip if we haven't already\n",
"if not os.path.exists(before_folder_name):\n",
" import zipfile\n",
"\n",
" with zipfile.ZipFile(file_name, \"r\") as zip_ref:\n",
" zip_ref.extractall(\"data/snap/kumamoto/\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "8e815bc1-b9c4-48d9-a667-2ff23c57ad24",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# After Scene: S1A_IW_SLC__1SSV_20160420T091355_20160420T091423_010903_010569_F9CE\n",
"# s3://asf-ngap2w-p-s1-slc-7b420b89/S1A_IW_SLC__1SSV_20160420T091355_20160420T091423_010903_010569_F9CE.zip\n",
"obj_name = \"S1A_IW_SLC__1SSV_20160420T091355_20160420T091423_010903_010569_F9CE.zip\"\n",
"trim_filename = obj_name[: len(obj_name) - 4]\n",
"after_folder_name = \"data/snap/kumamoto/\" + trim_filename + \".SAFE\"\n",
"file_name = \"data/snap/kumamoto/\" + obj_name\n",
"print(after_folder_name)\n",
"print(file_name)"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "738a3e46-0521-4d79-82b6-b93cbace0b6c",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# After Scene: create directory to put the file and expand it\n",
"os.environ[\"SENTINEL1_AFTER_TILE_PATH\"] = after_folder_name\n",
"os.environ[\"SENTINEL1_AFTER_TILE_ID\"] = trim_filename\n",
"\n",
"!echo $SENTINEL1_AFTER_TILE_PATH\n",
"!echo $SENTINEL1_AFTER_TILE_ID\n",
"\n",
"sentinel1_after_tile_id = trim_filename"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e2492b9d-bde1-4448-8577-706ae4edb658",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# After Scene: download the file if we don't already have it\n",
"if not os.path.exists(file_name):\n",
" s3.download_file(bucket, obj_name, file_name)\n",
" print(file_name + \" downloaded\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "45858451-4c37-44cf-8ecd-7c6c25282f5d",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# After Scene: expand the zip if we haven't already\n",
"if not os.path.exists(after_folder_name):\n",
" import zipfile\n",
"\n",
" with zipfile.ZipFile(file_name, \"r\") as zip_ref:\n",
" zip_ref.extractall(\"data/snap/kumamoto/\")"
]
},
{
"cell_type": "markdown",
"id": "0b99ddce-9fb0-4191-9373-c1cea7ce536a",
"metadata": {},
"source": [
"## Setup SageMaker geospatial capabilities and imports"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0a94dfa4-a0bd-44cc-bac8-701c8b7461b2",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import sagemaker\n",
"import json\n",
"\n",
"execution_role = sagemaker.get_execution_role()\n",
"geospatial_client = session.client(service_name=\"sagemaker-geospatial\")"
]
},
{
"cell_type": "markdown",
"id": "f1723304-9f83-4798-8a50-e2d5bb6a5009",
"metadata": {},
"source": [
"## Process SAR data with SNAP gpt"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6cc01546-d49d-4c10-ba34-00c9abb84401",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# uncomment to see how to use this gpt operator\n",
"#!gpt TOPSAR-Split -h"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5f1ab352-6df3-4a7f-af16-a9f460863eda",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# Before Scene: we must split before we can coregister\n",
"!gpt TOPSAR-Split -t data/snap/kumamoto/out/${SENTINEL1_BEFORE_TILE_ID}_Split_Stack.dim \\\n",
" ${SENTINEL1_BEFORE_TILE_PATH}/manifest.safe \\\n",
" -Psubswath=IW1 \\\n",
" -PselectedPolarisations=VV"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "6238bd17-1e88-4013-b6d3-924915a32940",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# After Scene: we must split before we can coregister\n",
"!gpt TOPSAR-Split -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Split_Stack.dim \\\n",
" ${SENTINEL1_AFTER_TILE_PATH}/manifest.safe \\\n",
" -Psubswath=IW1 \\\n",
" -PselectedPolarisations=VV"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "0d177051-a3db-4082-a51f-1ac7832e2717",
"metadata": {},
"outputs": [],
"source": [
"## Apply Orbit file to each\n",
"# if you need a precise orbit file, get it from here: https://scihub.copernicus.eu/gnss/#/home\n",
"!gpt Apply-Orbit-File -t data/snap/kumamoto/out/${SENTINEL1_BEFORE_TILE_ID}_Orb.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_BEFORE_TILE_ID}_Split_Stack.dim \\\n",
" -PorbitType=\"Sentinel Precise (Auto Download)\" \\\n",
" -PpolyDegree=3"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "236da13c-9272-4c56-a42b-fe4600f9d6ec",
"metadata": {},
"outputs": [],
"source": [
"!gpt Apply-Orbit-File -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Orb.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Split_Stack.dim \\\n",
" -PorbitType=\"Sentinel Precise (Auto Download)\" \\\n",
" -PpolyDegree=3"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "98632fc9-536e-4457-9951-d4bb0c96c32a",
"metadata": {},
"outputs": [],
"source": [
"## Coregister the stack\n",
"!gpt Back-Geocoding -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Coreg_Stack.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_BEFORE_TILE_ID}_Orb.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Orb.dim \\\n",
" -PdemName=\"SRTM 3Sec\" \\\n",
" -PdemResamplingMethod=BILINEAR_INTERPOLATION \\\n",
" -PexternalDEMNoDataValue=0.0 \\\n",
" -PresamplingType=BILINEAR_INTERPOLATION \\\n",
" -PmaskOutAreaWithoutElevation=true \\\n",
" -PoutputRangeAzimuthOffset=false \\\n",
" -PoutputDerampDemodPhase=false \\\n",
" -PdisableReramp=false"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4047a339-34df-4917-881d-dec4f2853dad",
"metadata": {},
"outputs": [],
"source": [
"## Create Interferogram using coregistered data\n",
"!gpt Interferogram -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Ifg.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Coreg_Stack.dim \\\n",
" -PsubtractFlatEarthPhase=true \\\n",
" -PsrpPolynomialDegree=5 \\\n",
" -PsrpNumberPoints=501 \\\n",
" -PorbitDegree=3 \\\n",
" -PincludeCoherence=true \\\n",
" -PcohWinAz=2 \\\n",
" -PcohWinRg=10 \\\n",
" -PsquarePixel=true \\\n",
" -PsubtractTopographicPhase=false \\\n",
" -PdemName=\"SRTM 3Sec\" \\\n",
" -PexternalDEMNoDataValue=0.0 \\\n",
" -PtileExtensionPercent=100 \\\n",
" -PoutputElevation=false \\\n",
" -PoutputLatLon=false"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "89d03c33-8f36-44c6-b157-57e273fcfd26",
"metadata": {},
"outputs": [],
"source": [
"## TOPS Deburst \n",
"!gpt TOPSAR-Deburst -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Deburst.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Ifg.dim \\\n",
" -PselectedPolarisations=VV"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "e5f49c09-feb5-4e9e-812e-9fce61db48a5",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"## TopoPhaseRemoval\n",
"!gpt TopoPhaseRemoval -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Topo.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Deburst.dim \\\n",
" -PdemName=\"SRTM 3Sec\" \\\n",
" -PexternalDEMNoDataValue=0.0 \\\n",
" -PtileExtensionPercent=100 \\\n",
" -PoutputTopoPhaseBand=false \\\n",
" -PoutputElevationBand=false \\\n",
" -PoutputLatLonBands=false"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "fccf8788-f5b1-4d1c-9e82-de5ac67a4a96",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"## Multilook\n",
"!gpt Multilook -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_ML.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Topo.dim \\\n",
" -PnAzLooks=2 \\\n",
" -PnRgLooks=6 \\\n",
" -PoutputIntensity=false \\\n",
" -PgrSquarePixel=false"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "f5463724-4269-46d4-a677-2155188bdd2a",
"metadata": {},
"outputs": [],
"source": [
"## GoldsteinPhaseFiltering\n",
"!gpt GoldsteinPhaseFiltering -t data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_Gold.dim \\\n",
" data/snap/kumamoto/out/${SENTINEL1_AFTER_TILE_ID}_ML.dim \\\n",
" -Palpha=1.0 \\\n",
" -PFFTSizeString=64 \\\n",
" -PwindowSizeString=3 \\\n",
" -PuseCoherenceMask=false \\\n",
" -PcoherenceThreshold=0.2"
]
},
{
"cell_type": "markdown",
"id": "3667270f-f03b-4da0-ab5a-8cafa7bbf055",
"metadata": {},
"source": [
"## Visualize output interferogram"
]
},
{
"cell_type": "markdown",
"id": "a8975f4d-4ac2-4861-8bba-390a4d6b53a4",
"metadata": {},
"source": [
"Next we'll visualize the processed data. In order to read the data in BEAM-DIMAP format into an xarray structure, we'll use the `nd` library. This library can be installed by executing the cell below."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "1a167fe0-136e-4258-9cef-ca20521abff1",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"%pip install nd"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "43ff65fe-92dc-4040-a620-ce4545e8ad18",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# visualize\n",
"import nd\n",
"\n",
"finalDIM = nd.io.open_beam_dimap(f\"data/snap/kumamoto/out/{sentinel1_after_tile_id}_Gold.dim\")"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "bc6c36ea-00af-4706-8f69-2a16bf4b135a",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"\n",
"fig = plt.figure(figsize=(12, 12))\n",
"ax = plt.axes()\n",
"finalDIM[\"i_ifg_VV_08Apr2016_20Apr2016\"].plot(ax=ax, robust=True)\n",
"plt.show()"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4f091248-2c5b-418b-ad07-3431fb38943b",
"metadata": {
"tags": []
},
"outputs": [],
"source": [
"# clip and zoom in so we can see the phase fringes\n",
"from matplotlib.transforms import Bbox, TransformedBbox\n",
"\n",
"fig = plt.figure(figsize=(12, 12))\n",
"ax = plt.axes()\n",
"finalDIM[\"i_ifg_VV_08Apr2016_20Apr2016\"].plot(ax=ax, robust=True)\n",
"\n",
"plt.xlim(500, 2000)\n",
"plt.ylim(1000, 3000)\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"id": "37ce4ecf-ad11-4171-820e-0d4ca2ef96b9",
"metadata": {},
"source": [
"## Notebook CI Test Results\n",
"\n",
"This notebook was tested in multiple regions. The test results are as follows, except for us-west-2 which is shown at the top of the notebook.\n",
"\n",
"![This us-east-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/us-east-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This us-east-2 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/us-east-2/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This us-west-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/us-west-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This ca-central-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/ca-central-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This sa-east-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/sa-east-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This eu-west-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/eu-west-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This eu-west-2 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/eu-west-2/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This eu-west-3 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/eu-west-3/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This eu-central-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/eu-central-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This eu-north-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/eu-north-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This ap-southeast-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/ap-southeast-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This ap-southeast-2 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/ap-southeast-2/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This ap-northeast-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/ap-northeast-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This ap-northeast-2 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/ap-northeast-2/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n",
"\n",
"![This ap-south-1 badge failed to load. Check your device's internet connectivity, otherwise the service is currently unavailable](https://h75twx4l60.execute-api.us-west-2.amazonaws.com/sagemaker-nb/ap-south-1/sagemaker-geospatial|sentinel1-insar-snap|sentinel1_insar_kumamoto.ipynb)\n"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "5fd639fb-efc5-4934-85ba-4eabc3706d5e",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"availableInstances": [
{
"_defaultOrder": 0,
"_isFastLaunch": true,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 4,
"name": "ml.t3.medium",
"vcpuNum": 2
},
{
"_defaultOrder": 1,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 8,
"name": "ml.t3.large",
"vcpuNum": 2
},
{
"_defaultOrder": 2,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 16,
"name": "ml.t3.xlarge",
"vcpuNum": 4
},
{
"_defaultOrder": 3,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 32,
"name": "ml.t3.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 4,
"_isFastLaunch": true,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 8,
"name": "ml.m5.large",
"vcpuNum": 2
},
{
"_defaultOrder": 5,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 16,
"name": "ml.m5.xlarge",
"vcpuNum": 4
},
{
"_defaultOrder": 6,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 32,
"name": "ml.m5.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 7,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 64,
"name": "ml.m5.4xlarge",
"vcpuNum": 16
},
{
"_defaultOrder": 8,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 128,
"name": "ml.m5.8xlarge",
"vcpuNum": 32
},
{
"_defaultOrder": 9,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 192,
"name": "ml.m5.12xlarge",
"vcpuNum": 48
},
{
"_defaultOrder": 10,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 256,
"name": "ml.m5.16xlarge",
"vcpuNum": 64
},
{
"_defaultOrder": 11,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 384,
"name": "ml.m5.24xlarge",
"vcpuNum": 96
},
{
"_defaultOrder": 12,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 8,
"name": "ml.m5d.large",
"vcpuNum": 2
},
{
"_defaultOrder": 13,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 16,
"name": "ml.m5d.xlarge",
"vcpuNum": 4
},
{
"_defaultOrder": 14,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 32,
"name": "ml.m5d.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 15,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 64,
"name": "ml.m5d.4xlarge",
"vcpuNum": 16
},
{
"_defaultOrder": 16,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 128,
"name": "ml.m5d.8xlarge",
"vcpuNum": 32
},
{
"_defaultOrder": 17,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 192,
"name": "ml.m5d.12xlarge",
"vcpuNum": 48
},
{
"_defaultOrder": 18,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 256,
"name": "ml.m5d.16xlarge",
"vcpuNum": 64
},
{
"_defaultOrder": 19,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 384,
"name": "ml.m5d.24xlarge",
"vcpuNum": 96
},
{
"_defaultOrder": 20,
"_isFastLaunch": false,
"category": "General purpose",
"gpuNum": 0,
"hideHardwareSpecs": true,
"memoryGiB": 0,
"name": "ml.geospatial.interactive",
"supportedImageNames": [
"sagemaker-geospatial-v1-0"
],
"vcpuNum": 0
},
{
"_defaultOrder": 21,
"_isFastLaunch": true,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 4,
"name": "ml.c5.large",
"vcpuNum": 2
},
{
"_defaultOrder": 22,
"_isFastLaunch": false,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 8,
"name": "ml.c5.xlarge",
"vcpuNum": 4
},
{
"_defaultOrder": 23,
"_isFastLaunch": false,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 16,
"name": "ml.c5.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 24,
"_isFastLaunch": false,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 32,
"name": "ml.c5.4xlarge",
"vcpuNum": 16
},
{
"_defaultOrder": 25,
"_isFastLaunch": false,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 72,
"name": "ml.c5.9xlarge",
"vcpuNum": 36
},
{
"_defaultOrder": 26,
"_isFastLaunch": false,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 96,
"name": "ml.c5.12xlarge",
"vcpuNum": 48
},
{
"_defaultOrder": 27,
"_isFastLaunch": false,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 144,
"name": "ml.c5.18xlarge",
"vcpuNum": 72
},
{
"_defaultOrder": 28,
"_isFastLaunch": false,
"category": "Compute optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 192,
"name": "ml.c5.24xlarge",
"vcpuNum": 96
},
{
"_defaultOrder": 29,
"_isFastLaunch": true,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 16,
"name": "ml.g4dn.xlarge",
"vcpuNum": 4
},
{
"_defaultOrder": 30,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 32,
"name": "ml.g4dn.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 31,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 64,
"name": "ml.g4dn.4xlarge",
"vcpuNum": 16
},
{
"_defaultOrder": 32,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 128,
"name": "ml.g4dn.8xlarge",
"vcpuNum": 32
},
{
"_defaultOrder": 33,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 4,
"hideHardwareSpecs": false,
"memoryGiB": 192,
"name": "ml.g4dn.12xlarge",
"vcpuNum": 48
},
{
"_defaultOrder": 34,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 256,
"name": "ml.g4dn.16xlarge",
"vcpuNum": 64
},
{
"_defaultOrder": 35,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 61,
"name": "ml.p3.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 36,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 4,
"hideHardwareSpecs": false,
"memoryGiB": 244,
"name": "ml.p3.8xlarge",
"vcpuNum": 32
},
{
"_defaultOrder": 37,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 8,
"hideHardwareSpecs": false,
"memoryGiB": 488,
"name": "ml.p3.16xlarge",
"vcpuNum": 64
},
{
"_defaultOrder": 38,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 8,
"hideHardwareSpecs": false,
"memoryGiB": 768,
"name": "ml.p3dn.24xlarge",
"vcpuNum": 96
},
{
"_defaultOrder": 39,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 16,
"name": "ml.r5.large",
"vcpuNum": 2
},
{
"_defaultOrder": 40,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 32,
"name": "ml.r5.xlarge",
"vcpuNum": 4
},
{
"_defaultOrder": 41,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 64,
"name": "ml.r5.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 42,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 128,
"name": "ml.r5.4xlarge",
"vcpuNum": 16
},
{
"_defaultOrder": 43,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 256,
"name": "ml.r5.8xlarge",
"vcpuNum": 32
},
{
"_defaultOrder": 44,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 384,
"name": "ml.r5.12xlarge",
"vcpuNum": 48
},
{
"_defaultOrder": 45,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 512,
"name": "ml.r5.16xlarge",
"vcpuNum": 64
},
{
"_defaultOrder": 46,
"_isFastLaunch": false,
"category": "Memory Optimized",
"gpuNum": 0,
"hideHardwareSpecs": false,
"memoryGiB": 768,
"name": "ml.r5.24xlarge",
"vcpuNum": 96
},
{
"_defaultOrder": 47,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 16,
"name": "ml.g5.xlarge",
"vcpuNum": 4
},
{
"_defaultOrder": 48,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 32,
"name": "ml.g5.2xlarge",
"vcpuNum": 8
},
{
"_defaultOrder": 49,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 64,
"name": "ml.g5.4xlarge",
"vcpuNum": 16
},
{
"_defaultOrder": 50,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 128,
"name": "ml.g5.8xlarge",
"vcpuNum": 32
},
{
"_defaultOrder": 51,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 1,
"hideHardwareSpecs": false,
"memoryGiB": 256,
"name": "ml.g5.16xlarge",
"vcpuNum": 64
},
{
"_defaultOrder": 52,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 4,
"hideHardwareSpecs": false,
"memoryGiB": 192,
"name": "ml.g5.12xlarge",
"vcpuNum": 48
},
{
"_defaultOrder": 53,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 4,
"hideHardwareSpecs": false,
"memoryGiB": 384,
"name": "ml.g5.24xlarge",
"vcpuNum": 96
},
{
"_defaultOrder": 54,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 8,
"hideHardwareSpecs": false,
"memoryGiB": 768,
"name": "ml.g5.48xlarge",
"vcpuNum": 192
},
{
"_defaultOrder": 55,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 8,
"hideHardwareSpecs": false,
"memoryGiB": 1152,
"name": "ml.p4d.24xlarge",
"vcpuNum": 96
},
{
"_defaultOrder": 56,
"_isFastLaunch": false,
"category": "Accelerated computing",
"gpuNum": 8,
"hideHardwareSpecs": false,
"memoryGiB": 1152,
"name": "ml.p4de.24xlarge",
"vcpuNum": 96
}
],
"instance_type": "ml.geospatial.interactive",
"kernelspec": {
"display_name": "Python 3 (Geospatial 1.0)",
"language": "python",
"name": "python3__SAGEMAKER_INTERNAL__arn:aws:sagemaker:us-west-2:081189585635:image/sagemaker-geospatial-v1-0"
},
"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.4"
}
},
"nbformat": 4,
"nbformat_minor": 5
}