Created
May 12, 2022 12:44
-
-
Save manthey/a66f69ae84dc59bbd54c2fbbb1c8844f to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"cells": [ | |
{ | |
"cell_type": "code", | |
"execution_count": 1, | |
"id": "7b21e140", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Requirement already satisfied: ipyleaflet in /env/lib/python3.8/site-packages (0.16.0)\n", | |
"Requirement already satisfied: girder_client in /env/lib/python3.8/site-packages (3.1.14)\n", | |
"Requirement already satisfied: ipywidgets<8,>=7.6.0 in /env/lib/python3.8/site-packages (from ipyleaflet) (7.7.0)\n", | |
"Requirement already satisfied: xyzservices>=2021.8.1 in /env/lib/python3.8/site-packages (from ipyleaflet) (2022.4.0)\n", | |
"Requirement already satisfied: traittypes<3,>=0.2.1 in /env/lib/python3.8/site-packages (from ipyleaflet) (0.2.1)\n", | |
"Requirement already satisfied: requests-toolbelt in /env/lib/python3.8/site-packages (from girder_client) (0.9.1)\n", | |
"Requirement already satisfied: click>=6.7 in /env/lib/python3.8/site-packages (from girder_client) (8.1.3)\n", | |
"Requirement already satisfied: diskcache in /env/lib/python3.8/site-packages (from girder_client) (5.4.0)\n", | |
"Requirement already satisfied: requests>=2.4.2 in /env/lib/python3.8/site-packages (from girder_client) (2.27.1)\n", | |
"Requirement already satisfied: ipykernel>=4.5.1 in /env/lib/python3.8/site-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (6.13.0)\n", | |
"Requirement already satisfied: ipython>=4.0.0 in /env/lib/python3.8/site-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (8.3.0)\n", | |
"Requirement already satisfied: traitlets>=4.3.1 in /env/lib/python3.8/site-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (5.2.0)\n", | |
"Requirement already satisfied: nbformat>=4.2.0 in /env/lib/python3.8/site-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (5.4.0)\n", | |
"Requirement already satisfied: widgetsnbextension~=3.6.0 in /env/lib/python3.8/site-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (3.6.0)\n", | |
"Requirement already satisfied: ipython-genutils~=0.2.0 in /env/lib/python3.8/site-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (0.2.0)\n", | |
"Requirement already satisfied: jupyterlab-widgets>=1.0.0 in /env/lib/python3.8/site-packages (from ipywidgets<8,>=7.6.0->ipyleaflet) (1.1.0)\n", | |
"Requirement already satisfied: urllib3<1.27,>=1.21.1 in /env/lib/python3.8/site-packages (from requests>=2.4.2->girder_client) (1.26.9)\n", | |
"Requirement already satisfied: idna<4,>=2.5 in /env/lib/python3.8/site-packages (from requests>=2.4.2->girder_client) (3.3)\n", | |
"Requirement already satisfied: charset-normalizer~=2.0.0 in /env/lib/python3.8/site-packages (from requests>=2.4.2->girder_client) (2.0.12)\n", | |
"Requirement already satisfied: certifi>=2017.4.17 in /env/lib/python3.8/site-packages (from requests>=2.4.2->girder_client) (2021.10.8)\n", | |
"Requirement already satisfied: jupyter-client>=6.1.12 in /env/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (7.3.1)\n", | |
"Requirement already satisfied: psutil in /env/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (5.9.0)\n", | |
"Requirement already satisfied: nest-asyncio in /env/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (1.5.5)\n", | |
"Requirement already satisfied: matplotlib-inline>=0.1 in /env/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (0.1.3)\n", | |
"Requirement already satisfied: tornado>=6.1 in /env/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (6.1)\n", | |
"Requirement already satisfied: debugpy>=1.0 in /env/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (1.6.0)\n", | |
"Requirement already satisfied: packaging in /env/lib/python3.8/site-packages (from ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (21.3)\n", | |
"Requirement already satisfied: jedi>=0.16 in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.18.1)\n", | |
"Requirement already satisfied: pickleshare in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.7.5)\n", | |
"Requirement already satisfied: pexpect>4.3 in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (4.8.0)\n", | |
"Requirement already satisfied: setuptools>=18.5 in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (44.0.0)\n", | |
"Requirement already satisfied: prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0 in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (3.0.29)\n", | |
"Requirement already satisfied: stack-data in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.2.0)\n", | |
"Requirement already satisfied: pygments>=2.4.0 in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (2.12.0)\n", | |
"Requirement already satisfied: decorator in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (5.1.1)\n", | |
"Requirement already satisfied: backcall in /env/lib/python3.8/site-packages (from ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.2.0)\n", | |
"Requirement already satisfied: fastjsonschema in /env/lib/python3.8/site-packages (from nbformat>=4.2.0->ipywidgets<8,>=7.6.0->ipyleaflet) (2.15.3)\n", | |
"Requirement already satisfied: jsonschema>=2.6 in /env/lib/python3.8/site-packages (from nbformat>=4.2.0->ipywidgets<8,>=7.6.0->ipyleaflet) (4.5.1)\n", | |
"Requirement already satisfied: jupyter-core in /env/lib/python3.8/site-packages (from nbformat>=4.2.0->ipywidgets<8,>=7.6.0->ipyleaflet) (4.10.0)\n", | |
"Requirement already satisfied: notebook>=4.4.1 in /env/lib/python3.8/site-packages (from widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (6.4.11)\n", | |
"Requirement already satisfied: parso<0.9.0,>=0.8.0 in /env/lib/python3.8/site-packages (from jedi>=0.16->ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.8.3)\n", | |
"Requirement already satisfied: importlib-resources>=1.4.0 in /env/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->ipywidgets<8,>=7.6.0->ipyleaflet) (5.7.1)\n", | |
"Requirement already satisfied: attrs>=17.4.0 in /env/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->ipywidgets<8,>=7.6.0->ipyleaflet) (21.4.0)\n", | |
"Requirement already satisfied: pyrsistent!=0.17.0,!=0.17.1,!=0.17.2,>=0.14.0 in /env/lib/python3.8/site-packages (from jsonschema>=2.6->nbformat>=4.2.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.18.1)\n", | |
"Requirement already satisfied: python-dateutil>=2.8.2 in /env/lib/python3.8/site-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (2.8.2)\n", | |
"Requirement already satisfied: entrypoints in /env/lib/python3.8/site-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (0.4)\n", | |
"Requirement already satisfied: pyzmq>=22.3 in /env/lib/python3.8/site-packages (from jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (22.3.0)\n", | |
"Requirement already satisfied: nbconvert>=5 in /env/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (6.5.0)\n", | |
"Requirement already satisfied: prometheus-client in /env/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.14.1)\n", | |
"Requirement already satisfied: jinja2 in /env/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (3.1.2)\n", | |
"Requirement already satisfied: argon2-cffi in /env/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (21.3.0)\n", | |
"Requirement already satisfied: terminado>=0.8.3 in /env/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.13.3)\n", | |
"Requirement already satisfied: Send2Trash>=1.8.0 in /env/lib/python3.8/site-packages (from notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (1.8.0)\n", | |
"Requirement already satisfied: ptyprocess>=0.5 in /env/lib/python3.8/site-packages (from pexpect>4.3->ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.7.0)\n", | |
"Requirement already satisfied: wcwidth in /env/lib/python3.8/site-packages (from prompt-toolkit!=3.0.0,!=3.0.1,<3.1.0,>=2.0.0->ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.2.5)\n", | |
"Requirement already satisfied: pyparsing!=3.0.5,>=2.0.2 in /env/lib/python3.8/site-packages (from packaging->ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (3.0.9)\n", | |
"Requirement already satisfied: asttokens in /env/lib/python3.8/site-packages (from stack-data->ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (2.0.5)\n", | |
"Requirement already satisfied: executing in /env/lib/python3.8/site-packages (from stack-data->ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.8.3)\n", | |
"Requirement already satisfied: pure-eval in /env/lib/python3.8/site-packages (from stack-data->ipython>=4.0.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.2.2)\n" | |
] | |
}, | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"Requirement already satisfied: zipp>=3.1.0 in /env/lib/python3.8/site-packages (from importlib-resources>=1.4.0->jsonschema>=2.6->nbformat>=4.2.0->ipywidgets<8,>=7.6.0->ipyleaflet) (3.8.0)\n", | |
"Requirement already satisfied: defusedxml in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.7.1)\n", | |
"Requirement already satisfied: nbclient>=0.5.0 in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.6.3)\n", | |
"Requirement already satisfied: bleach in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (5.0.0)\n", | |
"Requirement already satisfied: beautifulsoup4 in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (4.11.1)\n", | |
"Requirement already satisfied: MarkupSafe>=2.0 in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (2.1.1)\n", | |
"Requirement already satisfied: jupyterlab-pygments in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.2.2)\n", | |
"Requirement already satisfied: mistune<2,>=0.8.1 in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.8.4)\n", | |
"Requirement already satisfied: tinycss2 in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (1.1.1)\n", | |
"Requirement already satisfied: pandocfilters>=1.4.1 in /env/lib/python3.8/site-packages (from nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (1.5.0)\n", | |
"Requirement already satisfied: six>=1.5 in /env/lib/python3.8/site-packages (from python-dateutil>=2.8.2->jupyter-client>=6.1.12->ipykernel>=4.5.1->ipywidgets<8,>=7.6.0->ipyleaflet) (1.16.0)\n", | |
"Requirement already satisfied: argon2-cffi-bindings in /env/lib/python3.8/site-packages (from argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (21.2.0)\n", | |
"Requirement already satisfied: cffi>=1.0.1 in /env/lib/python3.8/site-packages (from argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (1.15.0)\n", | |
"Requirement already satisfied: soupsieve>1.2 in /env/lib/python3.8/site-packages (from beautifulsoup4->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (2.3.2.post1)\n", | |
"Requirement already satisfied: webencodings in /env/lib/python3.8/site-packages (from bleach->nbconvert>=5->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (0.5.1)\n", | |
"Requirement already satisfied: pycparser in /env/lib/python3.8/site-packages (from cffi>=1.0.1->argon2-cffi-bindings->argon2-cffi->notebook>=4.4.1->widgetsnbextension~=3.6.0->ipywidgets<8,>=7.6.0->ipyleaflet) (2.21)\n" | |
] | |
} | |
], | |
"source": [ | |
"!pip install ipyleaflet girder_client \n", | |
"# large_image[all] --find-links https://girder.github.io/large_image_wheels" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 2, | |
"id": "df037fdf", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"import ipyleaflet as ipl\n", | |
"import girder_client\n", | |
"import pprint" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 3, | |
"id": "b9611e09", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"gc = girder_client.GirderClient(apiUrl='https://demo.kitware.com/histomicstk/api/v1')" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 4, | |
"id": "f9acfd46", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"resource = '/collection/HistomicsTK Tests/Images/TCGA-02-0010-01Z-00-DX4.07de2e55-a8fe-40ee-9e98-bcb78050b9f7.svs'" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 5, | |
"id": "d6a5a0f3", | |
"metadata": {}, | |
"outputs": [], | |
"source": [ | |
"itemId = gc.get('resource/lookup', parameters={'path': resource})['_id']" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 6, | |
"id": "de09a249", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"{'levels': 9,\n", | |
" 'magnification': 20.0,\n", | |
" 'mm_x': 0.0005015,\n", | |
" 'mm_y': 0.0005015,\n", | |
" 'sizeX': 32001,\n", | |
" 'sizeY': 38474,\n", | |
" 'tileHeight': 240,\n", | |
" 'tileWidth': 240}\n" | |
] | |
} | |
], | |
"source": [ | |
"metadata = gc.get(f'item/{itemId}/tiles')\n", | |
"tileUrl = gc.urlBase + f'item/{itemId}/tiles' + '/zxy/{z}/{x}/{y}'\n", | |
"pprint.pprint(metadata)" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": 7, | |
"id": "9fbf89e7", | |
"metadata": {}, | |
"outputs": [ | |
{ | |
"name": "stdout", | |
"output_type": "stream", | |
"text": [ | |
"{'bounds': [[0, 0], [38474, 32001]],\n", | |
" 'custom': True,\n", | |
" 'name': 'PixelSpace',\n", | |
" 'origin': [0, 0],\n", | |
" 'proj4def': '+proj=longlat +axis=esu',\n", | |
" 'resolutions': [256,\n", | |
" 128.0,\n", | |
" 64.0,\n", | |
" 32.0,\n", | |
" 16.0,\n", | |
" 8.0,\n", | |
" 4.0,\n", | |
" 2.0,\n", | |
" 1.0,\n", | |
" 0.5,\n", | |
" 0.25,\n", | |
" 0.125,\n", | |
" 0.0625,\n", | |
" 0.03125,\n", | |
" 0.015625,\n", | |
" 0.0078125,\n", | |
" 0.00390625,\n", | |
" 0.001953125,\n", | |
" 0.0009765625,\n", | |
" 0.00048828125]}\n", | |
"TileLayer(attribution='', bounds=[[0, 0], [38474, 32001]], max_native_zoom=8, max_zoom=20, options=['attribution', 'bounds', 'detect_retina', 'max_native_zoom', 'max_zoom', 'min_native_zoom', 'min_zoom', 'no_wrap', 'tile_size', 'tms'], tile_size=240, url='https://demo.kitware.com/histomicstk/api/v1/item/5d5c07539114c049342b66fb/tiles/zxy/{z}/{x}/{y}')\n", | |
"Map(center=[19237.0, 16000.5], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title', 'zoom_out_text', 'zoom_out_title']),), crs={'name': 'PixelSpace', 'custom': True, 'resolutions': [256, 128.0, 64.0, 32.0, 16.0, 8.0, 4.0, 2.0, 1.0, 0.5, 0.25, 0.125, 0.0625, 0.03125, 0.015625, 0.0078125, 0.00390625, 0.001953125, 0.0009765625, 0.00048828125], 'proj4def': '+proj=longlat +axis=esu', 'bounds': [[0, 0], [38474, 32001]], 'origin': [0, 0]}, default_style=MapStyle(), dragging_style=MapStyle(cursor='move'), layers=(TileLayer(attribution='', base=True, bounds=[[0, 0], [38474, 32001]], max_native_zoom=8, max_zoom=20, options=['attribution', 'bounds', 'detect_retina', 'max_native_zoom', 'max_zoom', 'min_native_zoom', 'min_zoom', 'no_wrap', 'tile_size', 'tms'], tile_size=240, url='https://demo.kitware.com/histomicstk/api/v1/item/5d5c07539114c049342b66fb/tiles/zxy/{z}/{x}/{y}'),), max_zoom=10.0, min_zoom=0.0, options=['bounce_at_zoom_limits', 'box_zoom', 'center', 'close_popup_on_click', 'double_click_zoom', 'dragging', 'fullscreen', 'inertia', 'inertia_deceleration', 'inertia_max_speed', 'interpolation', 'keyboard', 'keyboard_pan_offset', 'keyboard_zoom_offset', 'max_zoom', 'min_zoom', 'prefer_canvas', 'scroll_wheel_zoom', 'tap', 'tap_tolerance', 'touch_zoom', 'world_copy_jump', 'zoom', 'zoom_animation_threshold', 'zoom_delta', 'zoom_snap', 'zoom_start'], scroll_wheel_zoom=True, style=MapStyle(), zoom=0.0)\n" | |
] | |
}, | |
{ | |
"data": { | |
"application/vnd.jupyter.widget-view+json": { | |
"model_id": "e0f45e39433a456abe91cc8bba5329f6", | |
"version_major": 2, | |
"version_minor": 0 | |
}, | |
"text/plain": [ | |
"Map(center=[19237.0, 16000.5], controls=(ZoomControl(options=['position', 'zoom_in_text', 'zoom_in_title', 'zo…" | |
] | |
}, | |
"metadata": {}, | |
"output_type": "display_data" | |
} | |
], | |
"source": [ | |
"# Warning: coordinates are Y, X\n", | |
"proj = dict(\n", | |
" name='PixelSpace',\n", | |
" custom=True,\n", | |
" # Why does this need to be 256?\n", | |
" resolutions=[256 * 2 ** (-l) for l in range(20)],\n", | |
" # This works but has x and y reversed\n", | |
" proj4def='+proj=longlat +axis=esu',\n", | |
" bounds=[[0,0],[metadata['sizeY'],metadata['sizeX']]],\n", | |
" origin=[0,0],\n", | |
" # This almost works to fix the x, y reversal, but bounds are weird and other issues occur\n", | |
" # proj4def='+proj=longlat +axis=seu',\n", | |
" # bounds=[[-metadata['sizeX'],-metadata['sizeY']],[metadata['sizeX'],metadata['sizeY']]],\n", | |
" # origin=[0,0],\n", | |
")\n", | |
"pprint.pprint(proj)\n", | |
"tileLayer = ipl.TileLayer(\n", | |
" url=tileUrl, \n", | |
" attribution='', \n", | |
" bounds=proj['bounds'] ,\n", | |
" min_zoom=0,\n", | |
" max_native_zoom=metadata['levels'] - 1,\n", | |
" max_zoom=20,\n", | |
" tile_size=metadata['tileWidth'],\n", | |
")\n", | |
"pprint.pprint(tileLayer)\n", | |
" \n", | |
"map = ipl.Map(\n", | |
" crs=proj,\n", | |
" basemap=tileLayer,\n", | |
" min_zoom=0,\n", | |
" max_zoom=metadata['levels'] + 1,\n", | |
" zoom=0,\n", | |
" # center=[metadata['sizeX']/2, metadata['sizeY']/2],\n", | |
" center=[metadata['sizeY']/2, metadata['sizeX']/2],\n", | |
" scroll_wheel_zoom=True,\n", | |
" dragging=True,\n", | |
" attribution_control=False,\n", | |
")\n", | |
"pprint.pprint(map)\n", | |
"if False:\n", | |
" # Make some rectangles to prove with have pixel space coordinates\n", | |
" rectangle = ipl.Rectangle(bounds=[[0,0],[metadata['sizeY'],metadata['sizeX']]])\n", | |
" #rectangle = ipl.Rectangle(bounds=[[0,0],[metadata['sizeX'],metadata['sizeY']]])\n", | |
" map.add_layer(rectangle)\n", | |
" rectangle = ipl.Rectangle(bounds=[[0,0],[5000,10000]])\n", | |
" map.add_layer(rectangle)\n", | |
"# Render the map\n", | |
"map" | |
] | |
}, | |
{ | |
"cell_type": "code", | |
"execution_count": null, | |
"id": "ad888b15", | |
"metadata": {}, | |
"outputs": [], | |
"source": [] | |
} | |
], | |
"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.8.10" | |
} | |
}, | |
"nbformat": 4, | |
"nbformat_minor": 5 | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment