From f619cfac0bf9d533cdfd068d0eadf6cb926e9d66 Mon Sep 17 00:00:00 2001 From: nilsleh Date: Tue, 21 Dec 2021 13:45:27 +0100 Subject: [PATCH 01/26] plotting method and new band names --- tests/datasets/test_sen12ms.py | 14 +++ torchgeo/datasets/sen12ms.py | 153 +++++++++++++++++++++++++++++++-- 2 files changed, 158 insertions(+), 9 deletions(-) diff --git a/tests/datasets/test_sen12ms.py b/tests/datasets/test_sen12ms.py index 2332e70f39d..b83185d4a17 100644 --- a/tests/datasets/test_sen12ms.py +++ b/tests/datasets/test_sen12ms.py @@ -5,6 +5,7 @@ from pathlib import Path from typing import Generator +import matplotlib.pyplot as plt import pytest import torch import torch.nn as nn @@ -83,6 +84,19 @@ def test_band_subsets(self) -> None: x = ds[0]["image"] assert x.shape[0] == len(bands) + def test_invalid_bands(self) -> None: + with pytest.raises(ValueError): + SEN12MS(bands=tuple(["OK", "BK"])) + + def test_plot(self, dataset: SEN12MS) -> None: + dataset.plot(dataset[0], suptitle="Test") + plt.close() + + sample = dataset[0] + sample["prediction"] = sample["mask"].clone() + dataset.plot(sample, suptitle="prediction") + plt.close() + class TestSEN12MSDataModule: @pytest.fixture(scope="class", params=["all", "s1", "s2-all", "s2-reduced"]) diff --git a/torchgeo/datasets/sen12ms.py b/torchgeo/datasets/sen12ms.py index f1cf8b2ad2c..ff4fe8948cb 100644 --- a/torchgeo/datasets/sen12ms.py +++ b/torchgeo/datasets/sen12ms.py @@ -4,8 +4,9 @@ """SEN12MS dataset.""" import os -from typing import Any, Callable, Dict, List, Optional +from typing import Any, Callable, Dict, Optional, Tuple +import matplotlib.pyplot as plt import numpy as np import pytorch_lightning as pl import rasterio @@ -69,13 +70,72 @@ class SEN12MS(VisionDataset): This download will likely take several hours. """ # noqa: E501 - BAND_SETS: Dict[str, List[int]] = { - "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], - "s1": [0, 1], - "s2-all": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], - "s2-reduced": [3, 4, 5, 9, 12, 13], + # BAND_SETS: Dict[str, List[int]] = { + # "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], + # "s1": [0, 1], + # "s2-all": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], + # "s2-reduced": [3, 4, 5, 9, 12, 13], + # } + + BAND_SETS: Dict[str, Tuple[str, ...]] = { + "all": tuple( + [ + "VV", + "VH", + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ] + ), + "s1": ("VV", "VH"), + "s2-all": ( + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ), + "s2-reduced": ("B02", "B03", "B04", "B08", "B10", "B11"), } + band_names = ( + "VV", + "VH", + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ) + + RGB_BANDS = ["B04", "B03", "B02"] + filenames = [ "ROIs1158_spring_lc.tar.gz", "ROIs1158_spring_s1.tar.gz", @@ -121,7 +181,7 @@ def __init__( self, root: str = "data", split: str = "train", - bands: List[int] = BAND_SETS["all"], + bands: Tuple[str, ...] = BAND_SETS["all"], transforms: Optional[Callable[[Dict[str, Tensor]], Dict[str, Tensor]]] = None, checksum: bool = False, ) -> None: @@ -147,9 +207,14 @@ def __init__( """ assert split in ["train", "test"] + self._validate_bands(bands) + self.band_indices = torch.tensor( # type: ignore[attr-defined] + [self.band_names.index(b) for b in bands] + ).long() + self.bands = bands + self.root = root self.split = split - self.bands = torch.tensor(bands).long() # type: ignore[attr-defined] self.transforms = transforms self.checksum = checksum @@ -180,7 +245,7 @@ def __getitem__(self, index: int) -> Dict[str, Tensor]: image = torch.cat(tensors=[s1, s2], dim=0) # type: ignore[attr-defined] image = torch.index_select( # type: ignore[attr-defined] - image, dim=0, index=self.bands + image, dim=0, index=self.band_indices ) sample: Dict[str, Tensor] = {"image": image, "mask": lc} @@ -223,6 +288,21 @@ def _load_raster(self, filename: str, source: str) -> Tensor: tensor: Tensor = torch.from_numpy(array) # type: ignore[attr-defined] return tensor + def _validate_bands(self, bands: Tuple[str, ...]) -> None: + """Validate list of bands. + + Args: + bands: user-provided tuple of bands to load + + Raises: + AssertionError: if ``bands`` is not a tuple + ValueError: if an invalid band name is provided + """ + assert isinstance(bands, tuple), "The list of bands must be a tuple" + for band in bands: + if band not in self.band_names: + raise ValueError(f"'{band}' is an invalid band name.") + def _check_integrity_light(self) -> bool: """Checks the integrity of the dataset structure. @@ -247,6 +327,61 @@ def _check_integrity(self) -> bool: return False return True + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample return by :meth:`__getitem__` + show_titles: flag indicating whether to show titles above each panel + suptitle: optional suptitle to use for figure + + Returns; + a matplotlib Figure with the rendered sample + + .. versionadded:: 0.2 + """ + rgb_indices = [] + for band in self.RGB_BANDS: + if band in self.bands: + rgb_indices.append(self.bands.index(band)) + else: + raise ValueError("Dataset doesn't contain some of the RGB bands") + + image, _ = sample["image"][rgb_indices, ...], sample["mask"] + ncols = 2 + + showing_predictions = "prediction" in sample + if showing_predictions: + _ = sample["prediction"] + ncols += 1 + + fig, axs = plt.subplots(nrows=1, ncols=ncols, figsize=(10, ncols * 5)) + + axs[0].imshow(image.permute(1, 2, 0)) + axs[0].axis("off") + # axs[1].imshow(mask) + # axs[1].axis("off") + + if showing_predictions: + # axs[2].imshow(prediction) + axs[2].axis("off") + + if show_titles: + axs[0].set_title("Image") + axs[1].set_title("Mask") + if showing_predictions: + axs[2].set_title("Prediction") + + if suptitle is not None: + plt.suptitle(suptitle) + + return fig + class SEN12MSDataModule(pl.LightningDataModule): """LightningDataModule implementation for the SEN12MS dataset. From d985f31fe10620cf6a54c5f59fb3ce24ec911e03 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Tue, 21 Dec 2021 16:05:02 -0600 Subject: [PATCH 02/26] Docs: get rid of "Return type: None" for procedures with no return value (#277) * Various improvements to API docs * Remove setting that is already the default --- docs/conf.py | 5 +++-- docs/requirements.txt | 4 ++-- environment.yml | 2 +- 3 files changed, 6 insertions(+), 5 deletions(-) diff --git a/docs/conf.py b/docs/conf.py index d6c87624ed7..55d89475124 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -50,8 +50,8 @@ exclude_patterns = ["_build"] # Sphinx 3.0+ required for: -# autodoc_typehints = "description" -needs_sphinx = "3.0" +# autodoc_typehints_description_target = "documented" +needs_sphinx = "4.0" nitpicky = True nitpick_ignore = [ @@ -98,6 +98,7 @@ } autodoc_member_order = "bysource" autodoc_typehints = "description" +autodoc_typehints_description_target = "documented" # sphinx.ext.intersphinx intersphinx_mapping = { diff --git a/docs/requirements.txt b/docs/requirements.txt index c4a5e359b39..0e7387bebe4 100644 --- a/docs/requirements.txt +++ b/docs/requirements.txt @@ -4,5 +4,5 @@ ipywidgets>=7 nbsphinx>=0.8.5 # release versions missing files, must install from master -e git+https://github.com/pytorch/pytorch_sphinx_theme.git#egg=pytorch_sphinx_theme -# sphinx 3+ required for autodoc_typehints = description -sphinx>=3 +# sphinx 4+ required for autodoc_typehints_description_target = documented +sphinx>=4 diff --git a/environment.yml b/environment.yml index c103271b80a..54a2762a936 100644 --- a/environment.yml +++ b/environment.yml @@ -43,6 +43,6 @@ dependencies: - scipy>=0.9 - segmentation-models-pytorch>=0.2 - setuptools>=42 - - sphinx>=3 + - sphinx>=4 - timm>=0.2.1 - torchmetrics From a3f559376ca84884b3b7f83b0326cab13cd151c2 Mon Sep 17 00:00:00 2001 From: Ritwik Gupta Date: Tue, 21 Dec 2021 18:29:15 -0500 Subject: [PATCH 03/26] Add custom RasterDataset notebook (#283) * Add custom RasterDataset notebook * Update docs index.rst * Update copyright, fix URL typo, and add verbose description * Add xview3 sample data * Update notebook * Show simple example first, complicated example second * Remove the second half of the notebook, can expand later --- docs/index.rst | 1 + docs/tutorials/custom_raster_dataset.ipynb | 188 +++++++++++++++++++++ tests/data/xview3/sample_data.tar.gz | Bin 0 -> 140975 bytes 3 files changed, 189 insertions(+) create mode 100644 docs/tutorials/custom_raster_dataset.ipynb create mode 100644 tests/data/xview3/sample_data.tar.gz diff --git a/docs/index.rst b/docs/index.rst index 296c7a35ea8..d8fe309a2d1 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -26,6 +26,7 @@ torchgeo :caption: Tutorials tutorials/getting_started + tutorials/custom_raster_dataset tutorials/transforms tutorials/indices tutorials/trainers diff --git a/docs/tutorials/custom_raster_dataset.ipynb b/docs/tutorials/custom_raster_dataset.ipynb new file mode 100644 index 00000000000..0c58b34717a --- /dev/null +++ b/docs/tutorials/custom_raster_dataset.ipynb @@ -0,0 +1,188 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Copyright (c) Microsoft Corporation. All rights reserved.\n", + "\n", + "Licensed under the MIT License." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Custom Raster Datasets\n", + "\n", + "In this tutorial, we demonstrate how to create a custom `RasterDataset` for our own data. We will use the [xView3](https://iuu.xview.us/) tiny dataset as an example." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Setup" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "%pip install torchgeo" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Imports" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "from pathlib import Path\n", + "from typing import Callable, Dict, Optional\n", + "\n", + "import matplotlib.pyplot as plt\n", + "import torch\n", + "from rasterio.crs import CRS\n", + "from torch import Tensor\n", + "from torch.utils.data import DataLoader\n", + "from torchgeo.datasets import RasterDataset, stack_samples\n", + "from torchgeo.samplers import RandomGeoSampler\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Custom RasterDataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Unzipping the sample xView3 data from the tests folder" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "metadata": {}, + "outputs": [], + "source": [ + "from torchgeo.datasets.utils import extract_archive\n", + "\n", + "data_root = Path('../../tests/data/xview3/')\n", + "extract_archive(str(data_root / 'sample_data.tar.gz'))" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Now we have the xView3 tiny dataset downloaded and unzipped in our local directory. Note that all the test GeoTIFFs are comprised entirely of zeros. Any plotted image will appear to be entirely uniform.\n", + "\n", + " xview3\n", + " ├── 05bc615a9b0aaaaaa\n", + " │ ├── bathymetry.tif\n", + " │ ├── owiMask.tif\n", + " │ ├── owiWindDirection.tif\n", + " │ ├── owiWindQuality.tif\n", + " │ ├── owiWindSpeed.tif\n", + " │ ├── VH_dB.tif\n", + " │ └── VV_dB.tif\n", + "\n", + "We would like to create a custom Dataset class based off of RasterDataset for this xView3 data. This will let us use `torchgeo` features such as: random sampling, merging other layers, fusing multiple datasets with `UnionDataset` and `IntersectionDataset`, and more. To do this, we can simply subclass `RasterDataset` and define a `filename_glob` property to select which files in a root directory will be included in the dataset. For example:" + ] + }, + { + "cell_type": "code", + "execution_count": 8, + "metadata": {}, + "outputs": [], + "source": [ + "class XView3Polarizations(RasterDataset):\n", + " '''\n", + " Load xView3 polarization data that ends in *_dB.tif\n", + " '''\n", + "\n", + " filename_glob = \"*_dB.tif\"" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "torch.Size([1, 1, 102, 102])\n", + "torch.Size([1, 1, 102, 102])\n", + "torch.Size([1, 1, 102, 102])\n", + "torch.Size([1, 1, 102, 102])\n", + "torch.Size([1, 1, 102, 102])\n" + ] + }, + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": { + "needs_background": "light" + }, + "output_type": "display_data" + } + ], + "source": [ + "ds = XView3Polarizations(data_root)\n", + "sampler = RandomGeoSampler(ds, size=1024, length=5)\n", + "dl = DataLoader(ds, sampler=sampler, collate_fn=stack_samples)\n", + "\n", + "for sample in dl:\n", + " image = sample['image']\n", + " print(image.shape)\n", + " image = torch.squeeze(image)\n", + " plt.imshow(image, cmap='bone', vmin=-35, vmax=-5)" + ] + } + ], + "metadata": { + "interpreter": { + "hash": "22a454fc14687a2143ab970e8915cf1cd36fe3c442d7a97f02ebf86977418cbe" + }, + "kernelspec": { + "display_name": "Python 3.7.11 64-bit ('overwatch': conda)", + "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.7.11" + }, + "orig_nbformat": 4 + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/tests/data/xview3/sample_data.tar.gz b/tests/data/xview3/sample_data.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..47639f1990dec05b255cc467c74f6be85febcacd GIT binary patch literal 140975 zcmd?QRZv_{7%!NF00}{o;2r{l4DMmD5PWcl!QI{c9|-P)4laYcI|OHN_aMRD9Wu+k zwY5@P`+E0bySmQlufHP?KdJue^r4J+_i7@n#qbr%(H~S7GU$J87g94fN1ck_HVjeH!USN50VpQ6K~!^5J&Mn2-=<3>k@j}Z}ze%o2gx)_+O zu=UB{Q3j{=pOcgDK0gjfhj3e*;biXab`I$8B4s4DDCdNA%U$k=XMu!kHF7JRhumMO zjq~!5{~jbw9}XWR2PDiB=7f1fO=!F0kOlL|kWK%)hdhUp(EmQW9t6oGe$c>1l6CrE zMbQMpv$vA{Pws|!pSD9+b~h$l(8m9^-G79}4ho^ap_kL+JEy!Bp zmx+G=uJhq*swd~MXXlgq<@EL4EXk+z?aoJv%W=N{%dF!kVe|WOt!HN*WO|SA?uzhk zX6L9dE9AZ3st?WG{m{!fhvv?c5c=hR+{F6K7(vyKOrd(T;Kp3jb!~F@8+d= zzjZ&nJwB{&|L&j1fAE`AircMIHYlc}r^?)kQG&&iS{Gw2Az_7XXpY*be}0rwZ7Yn==P9qN~!w?-TOQBAcK({JEyPQ4u6T&^WoRY zSBa}k{Twfe&xwh1`k%GsA^y^n7ca4u`g&trtKDf6)gqm5 z&Mx14n||DX-WX%n?hWFUNIrU4)@TL0Yi>-z;=f^)ba);ntZEAL7?7lN+QCMg84Fyo zm^CX$`dg2ke@PHj=<~=x&jHXFW)clImFH{jDFvq0Y@MX$-8A!5NR45$oco&lFn6s> z-i1~?C+h36b>XLs-$ zd&@iLoQ$st5^F~Jk!7ODm1glU`cHsdv4qgiN?*ZZ|EmM2a6S!UE3~tde;ql0KJe^+ zI2UF=Q|zhZlO~Tuy8nB=CqbGZ*HSR6{U2|UW}%<`k+)eK|IYt)ru_?g_8*XPuJNxy zp0W-+l|CXH?*IJj4D@eAp6;w2BOkS>Zjku@E}Qas*KDLo@XM07lH_4M&6l^e4MPR8TS01oon3YqJGL1{f*}_`ocv z5PGu+M@6udNAzZ*6v!xV{hEayH5+uoUF`Nj)WuoonKGcA#0u7XgQ8v-r5RWm|G#=@ zI_gF?+=i+NXsJk~2L=(o_EaKbaU_hN(}xx`y~t+;@FJfCR)+FUxDtcqGeB2H=1^Y( z;vd#n_L6nke#vezvzB*m&7ZR#JucsGrQxymc69!KMydbFV+1Am-(sd8(zT!R7HPYf zChgwij`)tF+0Ld09YJRVXgybHD093b1i0qMZx+LS zL-iHbyFPpWNMVtVd#5f_Ll^uEosxz-t0)UI2qe46(q?EN3|~-v^MY#ruNPE{*I!Vz zdO&3aIN3~ZSp^ZyQ^62u$zaO*l3=CGe}pY54O65+#d zNdcamJxbDjOfOoXVQfou8Am%fn!5h}cl`AwAdWBpFph{lDXr`w~ z8cshr;NCEYM)dUpkU{gKJh+4)pcP6Gw2=pQ|1?1ubPjc3f1%H0U;cG69t+hAoxG%9 z;&QO`A?rS4yH=#>3zKMojOCp)4e2k;%H4jsaHj0H{igl`y2t-?=5XKt{y(-WK?DPyO?< z^8c56>;KKrp`98RbjL{TYKQU%Ph?ap@?X!hzj0nJr)g+(_Tn4`}O?|(`m<`JnL zj`Y7pj;fsd`y}RVg+FTmGY*{4gG}US z;U`Q#imtHaPYY{eirczxr-j8Fc2(XobVy7*dA}`2k(IhI-H%I0$n5Ki7dtmYs^-{!~oP$k- z%+zYM#LTsWnrU+Vg=8E~J4ustm63t>rbHMBdTp`(Uq&1iNwINNb&+VMrc4a1o2KH# z>}n=16|}~ZSi~1g9N{yG>}?&9oLDAJq{Bs%s{Kbh929j4aRpJ4bLSj$jmhWvd66r+ zCRc~Fn+`a{1*;rGw~6e>7eFX?2 zKGFVWEsi#4)0tFOjj|HU_#8YH&~w|U$hJdM%mw<*Ju~7YTMpn!EW2rP zWSX}L%^%i0ga|Ps_OOSyszeelM@ts8dN&gD+LIW-GDPI7)gM&K@x*H~(+n{FM^3D8 zf(Z4Y&--IcoR&3ocdjGxPlE%kJ==m7dtIWYo7RH%sVmN z2Er$J?Q}!DZNcmWUfhaw9c(eG+$$_Mv4foKwIxtr797H{FnQkzSG z_~@v&zi|u|lTe#W(DJ$04obsx4rHV#~LDI26~1U|3NctLk@>=S|$SqAK)ajD zTQ0D#=DS>c;V`H0u_R8TiuBscZ4UxOakJQ1x~UUIMQprVeL9czwv8t1?x6&qXT#ur zr`%W^xzkANw(0_-`Gp@JFZPhMlbHObu~Sl3?Bz~E`iS|q3qPy*tvFu^qf@wkJm*1h z`eozR-N{g~ul`tDh!cfyQv5$y`W>MYPdoJTIV#=fbQ|-Des{r~Z_eHc_#Dg0{WCzD z0~L{gky?UZHUso1)QFvhXNQP)>7~7iQW24E3}DwoC49zsLxt*!3)GC&?3#vS5URSY4<$Gk<0XLoGnT7@|~W+Yb#m9KfRyD$bs?L>(Rjdid&z6v$w- z=qXhlroP#hL+!I;B=XegYJS9Mi@}@m$~8FQM2*p-m%4?BEH`5CbZDF%=LNLs<6+(v ztncBVCcOjTZ-Wcy6IWCjrAt(%db3S}q!HQ?P$oCPpA7I#Q(}=X82mON5}TnpRxwOC z3<^Rdj40%6Ndp0KmWg#Tl_t&!P)g#&tr#^9`da9wR^oyaeQ~-BqD}y8x2pne%Z8c- zC6)n8wtO7{i(rO*EeS-26SxjPF`=Z)#6}H}T*CN%PFcA!8X9z+AP}Jf&546z%O%*@ z7SM>u08q6ViKo;N2sbbpd7|oZnTdo3z`d1GdQnC?LI^x}rE=l;ACxRG@rt5k>$d~o zK?yt*sl?%z4rRnm_(jJUmR4eN?gC&n1BPYh!KVcP%Y^iC%<9S>#ZbfH#B{yl-g*h? zYge$Dt)i2EJak4ov2Llt&m+HWDa-uQ&p56@bld5b0cJFo~XG z%@q`?p^?z5r!lo%0L^Gjq(5O`c=(P8l?0CoDgE`VfbYlvob?zz@6@H2aKKAG$~7Ai z(8{%hEfI0#JABD4;0O>Op9@HPsJg;dBxR&Nxlm%%tlLLg7(POQ|HlXDhOS!F4GgDK zW(S6aUm{fRluL>-Abo9hK#D?*IHADsI}7|YBQ>A#vak9)_$bar-;!j4xGTfK_iD1t zMSs-|@e$$07LXr(L(0I_M5Va;wr~o3wWIQ~A1ZR<2ohlbjIv{Oboh5)d{@#U%?YW# zX2ps%lr{@0 z%3V-drDCbnTK!7B&6_bHEiKsf;C`ennUq&ju}V#?=A6+<&8PjQA=iFyMZltZX;Ynw zIXvT{nPYYcPSwP*8Ay&CTgn+}tWDH}q@;Aycj0sY;EJoZb4C zQ*g_`jXqX1nWdq!lbd>;Jgd`OLhBL@6+yK)B8 zJ8$QTpSvQ)s>ENN^RP7aacveZpPiE^+XD&;9tUDI*O5FNaFcOZu|c>JYAsXtCLBid zsp2$5MLUD@MX)NnNsMr<_n@jhV_PJ6#awuDd4^&jEOTmZ4-Ts$;ygonS}dGe3#l|+ z(X@0Do~^kv?#f^RRIV#l_=eOctew9kz=RpL=DJ`~Q*N5#>>Nh`)^MqXhl-r&PAW;u z>|9lA1)5rV@Lw$MNUO399~G<)0urmnDYnX};DK|JDffwwYtlUhEF>N7)3KF>!9Ux% z$qq}qK;K34MMw&;CmpO)f=#HoxyZ{6w>7a&`>h8-(xNd8BscQY*|6fAEgLN39jm5q z`l1GL!7VaeOqvB7`xsbCrQCJ;rG~>^ST<9N1`)ws%UtOTIb9vvqKWM!1*h{4yV=2b zl3ZNE1%}t}u_)y&2mRDVD=$fI^k=eLb91h^u{P~2ntWtL_bP%PZn>GfiZOxB3KEYuNg%(`+TcP)a877bJ;h?t-H@DFqJ#Dx9jJjw0~%ViwP>!yGT#mW?EE zH)H0mv4Umj4hN<~rnV-hKv_xGsC7OJaDclK^K-a0pN?`wab(iPcAacV_O=&*Ijq#m zQdM`jCKaMLKL;(&Osa5%xN*C`-ECtv6|f=kMY(KUP>yuFfbQG$d8K*Xy)Y0`8<_ z+UXz!Lem#VK}ndE^)4Qzrib3l?}aQG?!<>Fh|}4Bp?x}cmmEr|%1HKrKuL4c=RkQ$8)|ah)V+m8*^u1)=-hJGNQ=@<8-DW4XpoiL z9D8ADbjTl9_;G%o93?sF!~PxUyJTh;=mBTe(WD9clAavDe=kKqejw^S2r4@_=}{8B zJ?+{CE2h3ABmc9rztH|Y#Hu>_uZ(LXq+;_4Oy0o_vZ|bBw-1aSNOOU&l~DV&M$7TL z`mB{xuL+T(;Ou>KlM1;miUtq3$_f^5&RLQp#`Z0|L{R7Q2$iQ?XC|79D0x3O^#0t8r$b035Cb`E)HE*o3Uz|J1 zsav=kEuw%?o4KPdSbFRw^zGW@c5i=sx>h(_l5kE16qo5JeWfE`K$oDb@I2#1kUx7V z(4HAdeB}~3SIexfAVweasX8 zGkyE|s<>#^z*I2U%4=wDf-@&6v()v9rmV711VvDWWZ!d9OhMLJFhl!baS{?Epr;Ub z;}z^a<6KZn;m#|_?X?H{BQqW-aOK*HS-ZCe%BI5c8QX<*>L!nyDOQK@Z*)D_PR6?+x=MdJa zHlBCvHFZ2S?G}?6^?2pOpG|jaD2Nh$z~`kCvz?F`Zhj@pSGc=_Dk#l*Xz8Rj9)9Sx zx;hiT9i4e{dv)ZQE%~ge5LW0VAw2KAkxzjn6?9$QhapAA;}yKVb{<&X>W-UXK83Qy z>Khuw4*hnFdY!iV-8Ao~r5Q?NIU1B7lgpV{bDRBa)%=V0#P{*4pT1$37V#u6E6d*t z31}?&JRfDvv-RLVgNQK&B6wn{;(uamVcLwEeG!pIL3Ji2g3kX&JfV>VVX8748A!0B zxXTbpX)S$^s6m@c;61C({Yj>Vc~xPy{v8YDVF_($hMTRU<0m5)<}XsxP-`m#M`sjP z2uY}&akfg^&*NjPK@c(hO5g7)J2d%Qw)F$sY%hJ3+6U4m;fe1DRA>+^&MLcKKgaVh zw@9qBPd!jVXi3=Q*%j?le}-{l>ZF-|nbbkS+9lO&nfP7Whh~&ayjRoxdrS=t&l(F) z*WRF40>zw{^vs4+(K+NNUn{1-it(3YKNMSRk_Cr_-}8BB7wK#h$b_HN=9nqtq(u&s zzqf|b>~y$ew}OB6H)1k%8n2HEqQEFg_HGt_pA@30vSQ--n;OiJqU^2_pZRhrKGy#9 z)W;I|XZOYT4fQz(bsC;TM``5NGzoDLuhWP{uNAv8!px+kXOKBL&P0z|?pZ<|EvoGU zDI#@2Dh4ibL(7{hZ3;Ibp*Ef(ZYHv%iJg@CLqz?7gV-~*PfFE|`q-Id5xV^DJ`#`K zz{G)ynl7BEnvhpHA0D@#AGN|@O(TvC&ox!r5cljFwf8qN!Op@& z$Cx@fjpThjn{sDjoVabIKnyRmIxsFeBhu#3h$go+?uTF$=CSRTsy_ADYl#vp4i4wg zIPacFIEf{E+k)D9faIQQRccIH;z5?($szSqk1VyRIVp^7esK0);xh}!ltEY=U^uc( z$B@RXK5oo9>PXXGtOFqx$1D+S&*@|q^6A!&n)`+X*1k3v7$`AC#y<6s5_e4(>BDDA zbE`%DJVwgrGa0%c9(OSxDcfSW^}tLWc1mLDvNl)~BB3YD1Ko$kRj@`Ld6|mc&q-C^ zN=W!|Ii1vgI_0IV_alO({qCiPg}H!nZD(nDtmJ&A(*~_M*nb=SEgJpRXPKM3+>2Kk zmga{mElQh8!&UvYI;>Gz&P3WU*BglIJ(Z$Z$gA{qsCO@tmZdl4%$!Gwt~Bg^QBDA1 z`IRFk%;A=4CgAhqdO(!O6^X``+SO)57k)^@&CA(|V0_IT|#)e-^+sB}gIa z9PCX5&~^{Y^_Fv0d(?*!TFZ&qvrSsYhaGFn4mPCGw@vp}{h^gV<=y}pDqw7@TuLVmVPWoaI<59!C#i95=7J+)df% z9v}IKYUUC#nxJQ8w&KK@tdaV@oL$8~113&7BCuvcyQ$7e-k7%7FfH3l!5MS|Blh|| zQY>ngE;*{oZ)dh6&3P-ICha;VJN&_HPLJbqKOB}mKYG<{xwCG|8SHH~B*ezK5eF+( z7@_g8E9jEpl+jD`yq}XDLFdd6hAp1=MLxB{zG@Ot7;Z$a1ZbP)1owB_WCWq3eXtxM zfM_$9HEQ4et&3eY&dD0@-uMqyW#PxY7y&Jy+CdN&)XTuk1-3QRf_$i))*ejg`Y~_u zq1A|)zE+byX|#Kgj9_fLW_{E;N8Rs(^9P8B>cWo}BZ8%*s;cUQAbV4$EoOVe@8TaM z8MUiaYZa@5gBa?WR?3X2EPX%7k!Wg84t6io64Y=tPPFF-36?V#Z89fV*c-Y?ejo&C zpSjm67KQ}fw=)Us8&lPE2Dzay+fdkS3@CoMm((QU8tOi0C$QOMR?W09Tr&C4SO}34 z>iJQtMW8-fedd=LWb=XfO2@`y;R!u3-#UBx+1amr#XXgb$WbRB? z9p)RqQ9e8j5DW>_v;AuhVq|6hwWb;BZEkpu{()6UEA*dL&b0f7*&}!c<0vdOoX9B{fVH zlqF(qm;01k02J^UpG&p)lzYOP8xk>G%VjIY&Y0iFW7e zZjFt(2PXL*gp7GDT6}9g;gyYvOTOhJhxXg&-x>EqG{Y#(OsC&5u1RVkc;|+GpQ}g9 z)fr_NXn_^6WK}2byjQu zRiofP1iAB%qOO$mr+g13{S_}@|L+dK)^6Aw^!uI(?;*8U*+Re_h;BZp) z)U}$Lhv-C{+cFb>i~MXtkWP6qJLt>(%eVLA*IpAs%{5-Bs;9Gz3)S4Li-o_W1?rK?+wC51ui+>J1jV zJPB#iTA5`J#W{&o3?7I^O?5|j6zi0d$50niiZNLHqH(n)sSav zLuS3X>_O^Dw@Ad+*FR~=!^CN;nr>@6q(jQPyDZf*C=n0fQD>?>cMFPQDz$adw>BR4 zB0Z4f0ozowd!6HYRtovRdv3Z5cOnkiwUydyb~vF zVB`Vn*Rmf6M=dwn&~#eoE&7s{QY?8O7bF_YdAvHRs!tQKj>mK zW*!ZV4d3vOo49e%AG;_nFP7BD|28PhMvQ%o$cX3R$1cn$vE%1#b31uBhGQ;T#!ZZ+ z_PPnt*2hx^Wvmt-kx3a#X06J@==nD}mzqBt)1@!U>!|Zb)Gm9*P0PDb@Ml~sF6#Y` zF00Du7C**hwA*!&=C9yzD@m^9EDgwbOgw^DSQVS?w-Sk{*aF=K0lTX~-ZtC*(j0-J<`Ki$s`1l8-&5JTp zdyYqlEq6C8_$>z(Ejhc!f~DO$a&B(+)p<*Hg?IA&d2Y*mo%7MB|79$N9F6cB?Vhvq?<*{Y3EP@a zYw@p*FC*L$W4{^QqIGMH+bs*HZ247AmzrJICQm9T!Rb zFL0j<-TgC2Dy~=L(ga(*(BX_KG4RNe{0e+(;Gck^TNgN0jookR=D=4PsECbz?aZf{ zFwk}BgUvzUGErR>Xe&-Gmf)aRln|I>N|p}X{jD`AQa^-krta!c*%GK)PgYm9X<#de zp7ob(%VsNE0T&%TjgPI)MX{ki@Vza$j_vLjLrHWj5WnWsY}fD!wviX#-pW8%v>)~s z3OOF}k-?oJx_L0aLyVK6ab)1)CYeCW`j=4?^zuTGrtqJxWEi&7xZ{LEe*qX^gB(Z6t2 z9y(*^Z_NqA(rlISUiTSHOnX~ehIGW?eEW*sh&g5X&k3%|Rc-N9_!;SCN4-j;(z7J; zW;0GsjnVN5*BNyd>n3v4bd+h|5R)s?r%CeIb#A#a?#c!2@#o|jI{Qa7E2GjnICK%- ze4dj7(k}jV8EBwIp@lG;l=yDybWGCitt%qBigWoA1s4wMn)pYR40z@Se3pssaOc~- zz_@fpko*ISo0CN`?j{D^wmKiIsUK1AD*xHmWy+y8K3_YdZRv!@EjgaWJN;;7SIluj zda_4eg3Q(FrU`ePfsT9p8_anO(epumO3!U-rz9S0KEtPdpJtq#?)j9D@8WmZeRVvB zLWZp0$yUD%o%HHA%cn8K1&;ixj}!F1G~RA4WB zpOaw98(6Qnc4{MSf?olrrhDHM2|>#IemJ=B^Fjd-J` zgITfjR}72rW{IU_#+ALjBZ41G2X1kc>#0Imn$~(ZF(rP(!{XJ~y0EqyR1qIBrK=Np zxbxQuhcIWA<>1z}x~MZ^7e&{E>~HQS8{x7m?CfygGFq+eXjig!(7V zgU=J9QP5;Kk|HiP8__|del}603>6(Do3ra^uS%OIOm*m*X z)8f2%cO&iE2zcvl>~=sa0#41+yROr7r)I_zqm5N*ZDD^fr4Dv1oOqK|?SKW2oPdn9 zv^YDcnaeay|7f_Z-Kv>mJfJo0gzwK0;#eYMTrTX5odltib51C!zay_JxCN%aG#X!H z_m#29QUfu%1GMu~b&l^WNE505Lsog%Pq16yB+5HY(%SrIM(%>ZF16mNwj?U;_S~+< z)nU3eKFwEm#iF&9VRm|SVbzZ1+7*{HLhBRX5KPwrhwA){KnUk8dYDY!~@a>$++@`(D(@+lo?C~};)b@?u z+1gbcIpD4y)7n+0^*#P+`?g2>5Sk`Guwo;;A>p#N_ycQq7sUY_Q3`bYL@Z)eGzH>{)C@~&re>MeyH zLZBBY=%VDkP<)-u=0R_D!PfnEqii&AU_Yl|xreMWB*YKLQj}te=BkRSI;2usa7%h4 z#~+9zIpx7tc&kV?)Uy>yVb|*+1zi-~ETc#=zdfTZ3>onha2eh;bbpOg(oGRgc+FPQ z6mkg=yc_Z;(jDt*!=RwhxQOj23AsC<;F-NTYi|hgxfZ~TymTnbLAS=mNlf)jS?ca7 zSEqp1Ur*F!gd~y+v>k3yS!>`3wsF3 zR(gDM9SyuJ2(fAu9BDh;SoOszrtq}5@9kMKrx0pCi@mH55waH~^EvH0Lx?W2QqcNb zI$Vc@{Q9IvGT6?f^EvNwYH{5(1QD@vkRSSI*r70)(~i|HE1BdqYptjr1(9_$!gcfHf zR|K^m0T0Brx@D@B^(2zcohs4^?ZsK^f!;9f+2Oncy{XxYsfOs}sOvVLh)ZZ=T=HwV zHZt3tzNsmhzB#>ux@)J}jAS@@JJ8F zx!~4IEx)X>3QWFDYcp9s$lrBieRT7hJULgk%1W+AZ_@#70X$}8+BfwGGOsR<>XI>c z+gzH~O%DOA?<>3*JpK&Frs>JA-u!La%|Ae4<)rXze(aSQ+SP-!UDfQ=C&$>gZ{4lu z-_o(7cX&+t-zuX~Zc_W`#67+%_35?rVVb-5Fg*KYdozhRFmC-5GP0dlH88-I6*K*s zvZ5;HAk1e3{CCrjgR)rV!6I>KpruYosPHz9F)*fMQV6^6fz9k(i6t#2jL%1Bc$->D zj}q(hQ4=yTP}(hI6mh?&+&wU+EQDw3i^qIwEGABA&iHtydZ|00__H`lM zGrl#TEHM-ck2zzvN{G2M_POhSEE1d?XhR55C|t++1;^ZJ3Gs}cpZjLU_N@;W-NcF)2Y6`=&+JQ6w24D@XZ zy(#pW5!^KH;-gexy$fwQ%6nF$)UJ43Pl|ct?t|H}yV;9Ec{3nXB5=+A+#JKt>I?VS z%)95OEET@HJ3~m`R0?_d-d0lzgJ4-x7{Z&Xek|5czpnfaNS~QF9zE@@<0m%?^M=QH zVzSh2Q$r_GgoB*iZNm&cmYf zLd-)-)@Qn>NTKcBZernomwpF2SDeV2EIN&6vDLHblccOs_ot_(T{@(wa3IAa-@lod zu5{+B@B@96&jm3O^*{~3)w<=gLA_-lDuoOLPuY^&5)oKvVxq{LrL`(H5| zy(vTBts5u3;;TX5%i#R|bLI8b{hI`aj|M(DuQbBnz9Yo>sKN33@6>C(1gwv`RNo81 zuNySpe<`KNb{KutV}<@rm-jzLmhacWug$oz9Xc)ln_+%aXN7N|oAxSe6J_h*W43+a ztB{trY;HJ;73TkiwWH`9l75-|?-dq0swRl$cd6lPBT2M94$$wh>eqOPjFwW7NXz@lN!w2zuIL*JJWry_z3yWllP54 z2mY7mKd;VjQEa@3)*m-t-Djc_-F^LCt?|0d9!1rQ(%@j=RihBP)D83ZY0B5?wC^tD z31~_=q;Ong+n2tOh{i$-z8Eu!uq*|DDQbn?{58DAuB_Fpu^S=<6qU~!64mPBUd_8!}pvpQp(e$N|1kI7>y>hu$EQ~o| z#TuVRZTSoHGOE@x)nK8#h?5)ERH1ilpkN@;!&`=B*1=z|MJli{pbi$XXgz^U#Kc?M zdtcZ$16(pcnhe0dToj9h%i?hOn8k9|1~%=Y7FT~6JQ5e7V0!=ZuSM(}V_=y+`PT5# zmuB9#`;82P8_XiI%Yg}N#3oZGU*>Poq}AH<@4jGW0Vp5Mbj&u(cfV#Zw=h_>5<8@>YZ?D?s(> zv&m577heCj(j=d9!vuOUOhX$FK5Ds8wUGWeVh>W(7EP!MAv(r%>>}?z{h&nm(a4X! zH~tsZ*Z5x+$xOXFcvOCHj5uN2P?3F6vKS1*2y7)jp5D3+Q&;sssE;0OA|jz&<7q1-(K|Zm^T?pLj*n+sV6~S;a=tsdfY~&d;Pn>&8XvJc*5Z z4nOLz1rJ_Qi6IrJqJ7>Q{-el!V@NCctC9C1(8qp4Y!!Z`6i?}H0eJ#i-yyd1;vO3?>5lgU+daoGVj}V#O&cQXB(}tw zAXqB(NV$$7bQ^1$%ReO%wWp1djMloEO%VKRQ5zUpV3Pvf?ujfW+A-Q@`)Or(F!!!D zTRo-FwOec!XSzcqg*mEwf=l-2jv-njrgN?Q>0ij_2628bT1wjIvpRhS(<`jK2{T z9BrH-ML!C>YN~$q3eV@c-c~mfi)UeBvD9|C;eYS9;fxgzoFf9szuP~&r)Qy?_-pmX zx{@x|h4b~k{2SjBfWw){8%qj0#RtnbxS4bg*QRe!S7{WHx^HBJXwEnoUQZ{#1<}z} zZF;}y^rQWFpYi*w^L@IA$juB!Nxm8ze|rErF@8}Ey+xv2*8>@b(5~|OSZTJtA8N=4 zpp=G~$f6MjEr7nMLRC>JFFQxRiz6^#KHyD+xQK>Q7fWk^uskYzV?dl9>h2SUQ!w64 zD18d4%9)gUHbZf?oFyvhFz^nd_p=ci@LCOzti0fhs2u9HHDijhM%U;AMmU%9L{nG* z{wQ9XZO(U_@@#KyRPQCmyLqLbE8<;yb{H&Iim|PY0T5sOk<-d`#COydDvTv8l`79) z0rq)#cLP8oF1@bvFbobkB}K>708381mCXF?1sznmT}I7%#jeLbjH6+^E1evJH6Uv7 z9FV?RuWKO+gT+=o);%o%#E-|clE1!4fg1db0U}eax~>YKl*E6lKu_cZ?m}>4)TC=D z-sc7oC*!ZQmwed>4%lhLD{IbM-xNe03&HRbR(Du04wzxZOYq7!cp^pBSY;SQDv7i! zU=a8#oqg5%c_u1Sh=;oD&nR_Y`XwEVsG0%G7pg&-1ED3bgpr}#Ek7Q>P&yd0qh7;O z301gHY{FpJ*A_$M7=fpN2?>m_))>C}VMEk%_!C07r&VDOqKzB>;+*nBY^K+pD50jZ6hc&!|H?GNDdb39@$Z zEeTveP#UASS{QEdt47*ka?Y=9O!C$6Mc!uP%c-O!Y0#{sBuSyI5I-ub1 zla$ggtMF|>(fGuts)un~u!tH9k55+`$-}{yKS{1qH zV0=dPQjb>kpe7OVTRGs3jncV&8ir?K_++b^&O+(e+t>K@*u^RSVtw((Ko>f-I{tE_ zOD+7hvC=brW%j-B@XdKula}J#zqa_(CnZh3`r_4+z*Hfn>H}E#EvxE+e(B!5dSAya zP#I86f3DTHPzhx5Rf)ST3{2-kYg&(v+sgFV31E z@(Y|OxH&J1o3+2o{V?PnjVRGl(HWHtA}NH(*_WrHcySk_a_5g&^=r@SR2L&oRaM6G z&8j6wKV*?m6&0vxj@}fdCN!lwyyxx#7xU>#$TeJ8m8h$7me!;`s?E|{7g=h_jJANR zgl1JXt%?fljk!ZoOQe^7$idXDXd9HA%QI2~$Y;6s%FHY^xGP&q*>9Dn^J7voo@bsY zvS~q@qoFxgW7rz;#tEqh#xoxepLl5Cyeb!cth1sn(Ey)|$(TqRPft%A8of5Q}dMVA0eD5^&=@TTWhZX$CjmUO|o@4wj6UrN^RV zU~y;g7z+0hQQ5}4B39fdlHiyr2eZiFqfKtrv?9YB6D*tpE5*@?39F>wYiBN>%)+jA zMbXYa5^UDlSi7L$no=%VNZ!T+2rG!k%A!fDr>2}l&wk!uF+b;!0;~1L^3M6Y=uuU0 zoFsQTe+AVp0~Ys~MT)n4Pu>R-u4L}I<`TnAS1f&dtFzTfw)M>5JRB|)kFuO66)crZ z>!y2U(KucblFsR>zk$Jx(j>jCBrSB-3zxb*omnJXYa|lLS%=rm%_`Q#iR!~oSCCAT zncU&rd|e*qG-r$ZB$)`|$|RBddNS4`fXXLk{0K`}QucO(vJ87vQUQp$6ce)g0dhpZ zEGW+Wcmz?FhJc&uBd@KRx8|X|@O*i(;qH_q^BMwCX=ZY;^&&)lIOYNpkXVOVoV#tp z&8%f*Rji{u9N7XnnVW}BNXcB%Lgu)pFRFtG%&nQ*m#z3F^kfd?Az;@@j*he>M!~wR z)AD>heddTqYfpB?2sSa9LPJPH%mkDJEaOp@WVl(Mo>>G~#$#41w1jbs4nJ!_5}fPn z(ko5>{9w)^uy$mgo^lUL5-qKR>z3w^croMhS~WLl$#mI5NRB3IT#}PCyz5eKt@oW2 zhsSy#ew4GH1#?VaKFgbrTOb_uWUeD1J34b0XC(yJSj^@2mWvLO!^z$d0i60P|FZ2t z73O_?3x-?p@D?w`u5DWRE-y(UtBwhoyDe8kaEQbFN4f6kU-|Z_KJ&RMNFsmEQK&px zhuCFi1a7QHKps=OKe012$3#o z4bd=X*OjzN(P}Bl2mok~Wje0zM@St+GOHehT`?bL79TyO?IOESuz7$@j_P(;)TuE5 zeFo`K%ou`l^Df!R`Q`WST)~oCWzieEuIbH1)Q|Y&vlaU(zM=zx+8|YT*SeNU<7ZLw zEXqR%;pxfKpy-}T7r1w6-jO$XywE|@KWWLFN)Ulv|G`pPn`a^lU7o=W7u?-r{-&DD)gv z>B*qgQ(muUic!x^lb#}0J&kR8Ryg#$mGp=nJ>7kJ_5}3&3+a)gdPc|fTu9WDyOf?< zW%SH1r{_rpJ-W(z+EvxFxw@WjHTC%G=owT`&+!I&GBwsyv8kSE&Gp=Fsi#;QJx$x` zS=B+$`%Zf7UG?eT0PDUdU|itb6|^} z)Z6ux+No#!Zar7_>dAjVPrXBW79Y{`;+P)cq@GTv^=v<@C*{1J@FhLNuIM>^O;5I) zdaB;mGwZIN`}g%IAL(iNM9;csdOp3-<9e;9?^`{G-s?%5q^HbhJrlp`x%N#@!Jm2> z{L-`ZkDgcm^qBuM&?Sw5o#_nx&R`&#*}#ab2F_+TkRz9Y>Uj*z$!FkU0R!s723i+2 zu%WntFA4)5wSoRx14r}*(hCO4nGH;~8n|IIP}pgpk;}kxkAXKn1Ju$i-%RrAl2KM$dz(50ugAI%sYT)8<19?Uns6EEO zf^i0(PB5UKY@q#A16!sW_&(D>V2**o^9-C=U?B5i1C^E^K-PN(syr|-^O1pjPYfuY8))&;z}nXalHMASJ{aheWZ>Xu18I^C zl>TmD!cPNNe;Fw7*Fb%YEcwsK%QQwz>5X*GXk0lT_ueCDP<&9*2u{6M$T0};e+HzSRE7+KNF$lE?f#QsLQ4>Yo8u#ta5jmRU6 zj2>m=!WbjD#~Z0N(a8MCMxIPHqMKo)-7F)U=NS1m&xn7akwJ@%9A9cA(+VRMR~ebM z#>nk;Mv84T(sZ+tRa=d`-)_Xd%Sg{XM)vJ9lIoz55{He9J!<6AaU*$88L4x|$ij0* zo?S3vxNM}uRU=!k8~Jh5Nbru4A@_`&d|)KYVq+sOF8My?=`Kea%;v;vFM3%tlEAY>8fluclJ4uOa7T8%<;CFd}XeEIWRRqpf6Ub3hpn7eAIdugd))!DW5@_8- zU_FD(Q-tp)nG6*$sfAblr+a$N)_cN4hLL!fYPfku4=miHHUGf==fM4;O+f!!kn z{*Drej};g-Uf}#hfm~ArYEBcFH$&j@ECKCYfwuDnHZ2rLUM%2SCNOY?z_C>V8P^I_ zST8Vjqrk1r0!6n8G}$4ra+konJp#7<0zD22>^&^NF@eMr0%J}ITs$L?=e$7eivkNS z3p~9lpuZu|{+7U&I|ASD2?QPr41O$d;;BI97Xp=D2~2+@aOa&s@s9${J_)S;BJd$u z!0|(%SBk*?-va;r6DXO=#JJQZE~hn-FN2A?nM^FoV&Zu=6ULk-I_5U9Ew726`Avih znHXBc#HnH?vMNkeQJI*jF>z04LSZz~!enBt#YB>5LUNesBbhkpHj&0>qIAH-gpi4= z5fcUCCh8}eSW?o&%hD!H^9MOuZb1=O}ss5LOf!k`!N%HPMG+2%7lE@#OU)T zE?hK``-+KL*G$a6VdBXx6S})5+TAy?`Jst#k4^ZWnHcoK#PL@qGQBlX@x6&@A5Gl; zWTMzt6HULFSoOoi`xF!QKPGzqGqEp~nN(@alt^c0Yz8xzGMUMn)l8l2W)|i&^DMU+ zLq0Pd3Yghi$jpx-W`f1d3{jXlsWOvAYo@Z^%nYNMyCyRURx{0QX4W{&e3Z;MJ!X3Q z%p3@qNgXy*Dr#nY+{~3kGxO#1C+%I!2WdAFGxd(9L+V5ZR_Gs};dd2`H+^`x0@ zr_Jm>Yv%8HGx1AiMqM#;{+gLwH_g<%ZD!tGGmr0^(LOTM_KBHI&&(vhFynh|X5d>h z$KIRCm}I8HXERg3nz{AOOwpfan*1`e@{gH!|IFC_v(O`rg}v!4kkLY7W(#AoTDX|q zLY`a}YUi=AAfJV&1uW$Shc>WVSHfYT=H}LUE^s zW-be>Jr+LrEI5J|dW9|Qk6QRowotN!g>j`UTrOiFUwI34D_U4o*~0Ux7K}A4bgX4z zTOA8O>sbgjv@o=>g;Px}WNl%gN-GO9+gP~Q&Vr(&g%+JHtnF$csk;TKmxVrkEFA1- zAFx0};;T8&vvQU4Fg(c%GyqsXcG}%JusTOujxA1GGg~%KW!{=Ezv%o_3 z#TKe9wJ>|Rg$FAwsMc6$wa&u&4HiCcvf$ooq2G23hj&^?x5q-+eHJDiuyFm5g+fOy zG(2u$*+~npPg}5@v(WW|g zvz32Yt;jj7jLv1{LLMu*^ING^(8~P6R-P2KqD!#SPHAPc+R8Vr6~DpCAi>IUvz1Ju zm5O#N)0|dryQ~!RT50OHvMOlheb|aUW~HZWWnT#^sY+WZQP#@X@>VWYw34@ql{(d| zEUaPWSuHDux>h>Wx3aaNl^>0*1e;kI(!$EgR#vjKwNkmgl^Gqa-0f^7p_`TFJ*=$h zW#wZZE6)B_dJnX6V6c_c!>p7VVP*U%D_6!?$v@soy@^&9Pqy-6suf{|l}@v)Y@cH# zWuBGrLMy`-TRFYdO12eNs;;s!YmJrr>#Qg@T4}l2%DSyqK5e(++GVBh9xI3TSxI}) zN}0n}CLXnN?YNbKr>rzMV`b?%E3YnCF<-XQ<*JpP*RA}%X(f8c%7}Yb&OWe`?K7NI+0BVkz_%{ zXAv1FiX5|xWRyfIxJ9OVMQ-^;iiSj*L_}7`MBd3Fwvr+}N{j3*D?$a4#7ZJ#s)$^y zCX%P7NbTAp3+jqItuLZ)B+|Z#$d+az-&=?TT8j*BD{`W}Naju=mAZ&b? zBF*}WtnM%JVW5a(h)AztBKt>({5M*p@P&B zy%L%IM&!Xe5!FYLR-Z)He-ZhdEaLtl(l15i@NbcH|3u2BvN0*Ojq7P`6v|+uVI~{P zveg{YHU2x+0Ynmv@zM(XtD8C zwBdEw7$Dg=>b8-=XQO<;#*~nan-LpD;x-y5+E`K2#@o_1#Bw&eSFo|Cl8t{=Y{=DZ zjIL?pLTwwl>)EK)z{dPWHl8%Gp=)lVT}vCATif{7)`q`>jX|Ak9PeTyQ+FE`d)k=R z+s5s_Hi`|f(R7fFRYPpNA7;Zo(ninGHujCRk!pgC5|eC<^)VpS5@eLa>=K08MOcG8FKl#AM#9Jg~L(N5t~b{dtjv%H+0Hx=wy zE8FQ-)z0qfcK+716R%@uR6RTA8`#O!*iOx+cIGv=^SGrQZ5umn+u7OF!A^1~JHD=V z26ne|tf!rfee6`|XJ_gFJGTbeDLT|nli_w&jn?xJ3S`Y**nP&Q|%;9w=-s@ zor|;WC6r$WOZ;gyMqF`9MsR_U`aj)FAF#@6?V|MsDmBF9sE)_h^QS5 z*E%?(caU9hP|fUMw$;G{n*){8K`WPo^&SVGeGc3~2mQhh4o4lNlO2>T;b2lJ2iMCu zC{*4-!-@`;Rd(>Yssl?62VHA9*j2~DpLz~r4IPYZ?BHBe2RU0fsL{&7+%^s#wR529 z=%7t!2OGOO_}blpx0izfeH99K4<2K%DHL z`&0*eraSmI(}6t4!RUDoE-Y}6d$EIBOC8K#?%>Hv2f8&5+O2c2d4q#*n;iJJIvBLw z!SS6AGVO6tai4=}2OQi!14PG&is+;=%qdY!cNJ6RWW@+s`Z6?4*8c5O0xl(8=${PNL16jA-HHY%3=@ z+B&J;-pQPfP9Ao4qVDFTbq^;SdO7*h$BC!Ell}vp92x8+{V*rxMmU)~%E^r}P705A z(rBWS<&&Mfnd-zk!%4SUPIk|6@^_w-_(CV67CSk=)Jd)tPHL`lGH;EO$LpMEH#%v% z*~zA@PLj7f@$GUlaF3H?`2cM` z-s?`dB+`wRC_7eS(s+sM z6D0~wk!UzgV%ZFd*Rv!nb0xaYm)NyX;?H7<*fNQcD-OZI;k% zlW4O;V&g7}uX`lC`y~b(lsI}=BEvC>@+TywoRYYCMxw}hiN+TtR$P{NdsRZbA<_Mo z#GX46|L#f14<$xFmbma#BKHf4TCXJLzma(IPD1xlqTMHn&0i$GB}@2!NDNAmIR0BA z(?5xdsa#A;?c#P?7sWETXqw5zsw^(vXLDiC>7r+D7yI(MNL9c^i9#;M7IAT@n2Wp$ z7j;xF7HV8P)44DhU34(H*lKa{Lv#^zxELb2IO%qg#pj}Oz{QM^i@OmQ32_(A6J4w+ z>EdH)7tV4ndRK69ppuK!Rb7;-?qYmR7guV#$Y0Mzy#_88H*)c!i3_2*i%u8tJ0%XcvdZx=1_0 zMVU!1CQfm2ZJLXMGhH;8?PBR%7q8~KFfVe^Wr>TO%Ut|k;Uc=)#fY^o&aQWnW0Q;O zTU^Z9=HlTF7wX+ETJLqSVZVzn2VHoMxafb(#gP*((w}xw?yQT+=Uv>m=%Vly7mcpD zSboFBn_DidcU^S5?_&2u7k?kSh(B{N>V=E*uUzDM>!Rj+7xO;4c>KwQ_N$Aw-&}0^ z;UYQ3h3}7xf&W|_OXVhG8aEZvxtW^5&8daIlEHaA-wZoW%y0vSj@M zH_uzTF}88jv7MW39o+ov{PW5z?wU3)B{oKqP;O5>SH;SQdS`2rycBGr6 z(Qc%1Zu(4cb8wQIG*jJ_p6+JCOgC3&yD2cwP5lLKmMn7fa)}$$ayOkU;nxB{^wyp8V^U)dB~8_L;1`ereyVSGrNZ(xjZz^<6%WU z4{r;25DR$;vW7fJjiMfqqQC`=sn~XJk&CKm~Zv)#O6Wg^w7@bVYA1>H=hT8 z(8HjxhvQKXnPd+YOL&-8%ERq49*ULs(6pk5Rh2!wuj;{G!$Z$n9`@DokgC3i5)D0! zZS3JvQxADtc&O9L!@@Qmp0)E}=;)zCXAfJudic@ZL$H^JA$>fY?B^lNKo6A%dzdlQ z!`IUdH(^KfN>hy05@)LZId@p2C@ zR(cTDc<8jw!}bjxQZ{)AZ}l*2yNA;|J!ISCq3S*lvkrK;f5?OKsE3xvJ*+$F;nQgk zu5%vxUhr_}l83ZcJ(RibVd6~>*KT_#c+W$F2OgF_^6=`32lI0eU0!O9Lek@eKs%Ua(J1X z%gc>CUJB>;(x{-9<%PYxDeA?V;H8_=%Wk!ozgjPGgO^c)m-A*XxkN8D?Ox_Ny*ze# z(R#hK^?TVA^pYI*;){71D0?|p!b`@|UMiIJGPS&yTNS+&t>UFgH7_e`czIXLi>U!`yO7l^z!n(kC#AyFM|hq zIWgEv=3!ncjqoykl$SeWyc8errP)L;t0#N;Fx87=hL>KmyzHOj<-hq}N-p#=Zn2lk zOTFY<;ic{>FN@ZAdA`nzaif=xo4st?>gDHlFQHvthVJolYM+;^2fb7|>}BRrFZYgn zQJnJ9;*6KI=e#6c@FHFI(&ws|gV(*Jx#gww9WN8^dAa()OM%B;>Ob|e}lrXUke{{YagTA`nb^ENA6BOYIX53znhOIJ$&eT`)JqK z$L9V%z76!@AL3)sFdxT9_{cQcN5!!|rj7S;d!mnGQ+za?=3~_iAMa=Ru+R0;bH0y# z3w@+o;-kbeA7fYexU|Yg-nBmJtoN~SqmO5seHga+=&-}b)?Ge+?C}xY?_XX86o*O>-Lkw=cjtW&zz8-hY>&OxS!UEem0c!^QE*OPdPvREBHB5$xr&K ze#%w%Gr6Xp8@2ruuIHyw13$|f`FYdCkF~j1W_*KgY)U$vDAJg-L#8 z_ry=hXMV=L@N@Z5Z1<0Bv zK$Ua>W@ZR*FH-|v?>!|eYpUi zD+F*?4$!Y^fWy@Tq^lL6Y@Gm;>IJyoAV8tU0U9<9u&jB2*DV8B+63s@F2Jr10seFf z5bGLXWcL8)dIreZCqRvU0p<<}@Mur~&CmdCh6mUy)Y=(f z{_X%z_6E=$2+;0OfXzn&d^;Ave=@+J(*cg34Up+VfQpv_OuG``_O$@TZU$(2JHV>D z0p8yaV1E>#=aT^Yo&`wtGC+yf0mi-!aOr)3yh#D-d=9YiYk+6p0vLV<=+(5oA`W zAot4zQI-$VvSN^Rm4ke$8pKs2NZ(pP4%G>gwtkQ@4TDT<9OPQlAO%|lY0xUj(l$X} zwF_eI7^F+*AUnGT`Q1H8v{#T3eS)0r7bM5PAk_y4nKLxV!{I^Hqk^;^6J*1xv?Nf;l)83Ee*1Kd5||NgIL!D>9#J&?hQfyZVD3L z8f4V=Am?`m$+ag)&3!@U9SHLHP!R3WAZ?Ea*>o~U^64PHb3q1P2y*OFkc?M@RJa~w z>dhdxZU-rPFG!OIK~_Er^6p6x+w&kjUIy9wItcHABz_1oCMn3p&q4Ae2dVu%$bz3i zp8g7={~M$|A-4P%;(MA9f%G8;XAE&7bBN5@LR88TVtTF+ck+ZNoYr zTZJglHbnjQA(nIu@v?IWQ@0SEdxY50E5xrpAtL=l3?CTc%-|5&hlQv%BE;-bAs&ng zp&B2e)x;3%Cx`evHH3Rch<>v|9G(**-TV+`7lxR$IK=g(AquSs(Qs9WWotsbUKhf$ zF+|tRA$DyI@n?I8*sc&G_k=jNFGS9RA!-~BG52VQN5?~GPK9W5Cd9^bA--M+;k_JU zz|{~(uZPHRD@6G_A*S35aq~flB9B8fei~xM^AK-eh7jL`=>9Imo)01ZC54c`gczM1 z;==b3xl=;a`W<5a-w;m-qe~s8UD`04(}($%F^oS;m_gaX9M2IZQ|>So^M;w0Kg{id zVTu(A)3jKaRS99@$Q(WeQWm5@xIz=8`>3UMWl+cbJ9VFwgv9452U` zB4M`1!u*iK1WSe)Qaa4ZvSG4R2vfOIm>E^V+^rTSp=OxowZp8b8|GvEFwRC{dN&Dk zpjnvIEyI**9cFynFjv}#$=@kVy)I!EcMJ2PM;M`Zm`;7eZ0{c?Wnh@_kTAoBg*iPU zOt#Tss*VjaYkZjd6T>K{glRb~%(@w2KFtc_nj5C?{4j?WhDp05Oqpe2Cawr`ZB>|p zYr`~HA7<&sFt0X;F>edgWk;BuyTbh56DGPp%!q?w&K?ev<5-yLC&J7*73SfYFzWMR zT3-ya;c}QSSHpO2gz0}P%#k}`(%%nL?qQh8kHg$}8m91zFpXY?S^g%>n|EQXAH#I} z6lV9AFn^Q7#D9btl@jLs?=ZRkg{he;!o1WG9;c0<%@Cn&rU;v|L`cpS!Iv|_z}yjz z<&BWBK!gf~B1|n3;a0H-MHLa6s3NS?M0lr*U^7POVT!QV5&>I;L`Q@%QiO}{2zh)F zY6l`L2t{}riJ*^1XrCBiOUVe|OGgNli!iuCgcFq_WUd;aQuPSaYeu+JJ3{e#5t=oK zu)0x%4^1LCnn&o>GQ$4W5&mlzp=5^$<2psS+$BQ3?h)$tjIgM8gy(%D7zae?I4Hul zArXEKix3(aVd&@xr^ZIeIw3-pNfBmFiEwXP1jWnmCB7D9T!F@MEzxxpmKa7y>NrbY`B20P_;rgoxh2BPJ z_&&n2j}cyfieUK~q3gE@yM9FYlM*5JC&I{o5zeKGk~2+|8tJ0U%@E~LrYM@MQQBmW zvN30rueqam^FSz(Ow))YmwM(J*gvd0nS zpA<#*L>cXiav=~UcQ{I|Xq5T!C{Gfj=t@OtS0>8la#6ljh~lptWl+^9$E!!lR4Yow zI#H(8i*ma`lwyseG;JDXRr4tCTSl?BiPE!Olzkndr0N`{MAs-|yGOayGfLh*QR?)I zvT#6@XM>^`hDPZyJj&LQQGSe$5*!z0$b={-Cq>CJHA>~_QD)4Ha(8x=gn3b#FNm^c zQIwBMqBxgF>Af<_fz?q`uZvP@LzMBGqFmV$CI9v)^>#*CygSN^y-|b%Q92!pvi(Su zlw(oCC!-8I9p&`dDA_JVsd_2OtSeFOUyGu=8KvdzDC_P<`E);u>rs@xPof-p7A5V= zC}mzpnfNx!wf9j9CPiuRIm*(nQC@wEV*VMW%daRq|3vxyFG}>k7$efeIGZj;j*Ky? zXO1x^YmA54W2ke*Xq_jixCgT7!{6jJ{lvJ9HVB581qWScw8oiwtS4X6=Q6w93#1E z3}1~H18c=NRwqWr`Y|drj4`!wj9X1(6m1csNvjwu+r)U+E{3gRj2@k1?ClzZ9x)Po z#Te5k#>IXy@(heodvJ^eLt{K09z#DWM*A@_wv3DMeL{@DjDV@-@+>tgKR5aYkiF-mTYF>ZT|%R6J_+Y_Viz8H%R z#CU!vhVf{Oj>ltcI~n8W=@_ANF@|1M zNgro;#yDp($H|^8PPH6yX6K6YAWs}s{y41)##vuD&gY_W+zD~|DdQYg$4RG)Q`Qh? zk`U**IZh!lPD6W~WzIOSU2!blI9>g5b_L`73CD@W;*6BzoGTG0XX!XK%Ep;nKF*_x zaWqxpw5b+nV~sdpYsK-_jWeKroTClnWM~qne6u)HTEw~8Do&BMaT>Rev!Y|1x1HmN z-Qslb5ob@YIRE;@k^9FPJuuFN!EtgAi&JYvocW{TJQ)*5H$G0giE%bhj`MA59RG|s zgJ#7!J||A5`Ee>Pj5BR8d!Z*2H_&uEsfeJx-QeaVp=5Gvi*I zyAR?dJdV@+X`D6B<9vJ>$N45s?{{$ye2A0!Q=C#?;*3v@bLD%S{3&tj{f@KvZ=4s% z2&rW{rIp#9UM3}@OgM|ouxv7?bI4@NEmJkG%&hz}_Y2A>i^#MrCbKR<=95y!rIG2Y zlR0FNNo$fRW09FC%3QO{6qIBdxMh}lWnTGZ%psXB5t*GancuQZw4}_4(lTeu%H*gZ zQ@xVRoGLO8tI4Qq%CxR6v!Slcm-;fEMl$`I$Q)@VlfI=)xz;k1+sfQ%FH^XaOrtI` z%e%?E=^%~HOI=#8!z*CqKtNmOxtNPn`X!) z&yw-Yl^Hl+=Ga1+j7wxHER&hKLgv;gnWAfDnyi;uxl!ibW*OTynI1c2_U@8luT0{8 znK1`tE*_T2b4;f837G|_WS*Xp(Vv%Te^F-3Wts0+Wdb*32H%o7aYrWeeVIxRWu`xt zx${(}_zRh4uVhxgk@@gW#_>_6*C(0%Uu6FKCR6f<%(xVp%fDsv{gbJiDv?F06M3FC z5o3l#I%Y~_Tb4wAW=kZLGm)XW6FHSPk*oz0sZ!{Fg5UwbjRgRp;Onn#+s4&)w86&7 z1{D*D|la4L9Gf3dR0=euZn_HNeVPI z6pX8-;8Gn0`RXh1HdL^vv4Uq!6;x`Wprb;;HkE>38U;;t3WgdKoHQ!PYEfXdDVXU{ za92`L(xV_QD_HAS@G+>MPDDYUn1TZd1!>wS(6&=Bp@V`eofH)4s=(J>!IGW|Ui4N_ zrJsV%0~G8Sq~OmG1Cp6Rrtn(~2v(RZ>Z@GD;%ll&q?tkR5S5vIDnn+tU ztJ= z^)@xa4mIOgB)pR-ocUMiR2Wk?J)U11==F>AZbziFK`&!Mxw`$UUP^0^#X5tq$SHGz#_*0Gl zx0L?kyC>sw}v@+H9W|#p-dqSt&3>b zP)x&@5*q54*3iGKhQsAGq_3pGP({P!Y8tLr*HE~YhF~2H%j;=)-9ST9V-4M!YDjLb z0fh#IO2a6PhI3jCxeOX4qlS5A4UeoE$~iQ&l{9Q}Yxw5X(9o}8U{J%+u!f8=4aS6q zsjW5KY^$MY2Mys)8di4E@V1+V8a*}i=&fN-Uk(2a(4ZQmVayN>7lvubGg5C4t&y(=Bozn zcMTJMYPj-SLxF!9d?^H$q!f6OTA)fgfzBBOc4QLxlSQC;c7fqJ1y1J{$evHYUO-@W zA%Xiv1WFedXjM{ReQANuWd-V05a?G);7}ETbV&mG8UmAQ30$iqP^i8@prOFB#saUJ z3RG($&{ZL@OC|76BhXSOFw!7!)+mtEBH*+M%ykGnlmyCp1lq^~8~p-bg8~gA0s~?K zM-l=V+6aj41g3NlxY0?VNLPVScYzf>1>W=)sNPSY`v8I6g9K6x6;KWr7(G(p{AhvP z;{;q21m;f?csxa*{B(hKGX*x!7Wh6_pwR+>L5l>AEfL7HT)?zaVA^VdTWbZ1Z4iiT z5?HlG;N3QXnmYx0CJXG{Bam{xfcl`o*uw%Bj|${HA>cVBu<(q)({ln9FA8+HEU@*e zz|ZRfO>PMcxg&7mo6@hGU=1y4YirTf)iSZZma7f56l|i!-%QKW z7Fu2^v{Y4V=^|*^snhb;prwUL%Lt2>Gd3+boLU?%Ept3t9>`kC1hljcY1t6b@+GFF zek(2g+h{r5PD}cZS`3}FOzx`XdUq{_dua*w(Xzasme&KcBn{TmZK#&y;aV7_MKMOp zsBv1(P0*5SvKDEomU+{)JesMc+#D@!=V{rrK+Cs9S{g3ZGH|(;qbs#!T%*OfPRrB{ zT5fLAQgo}9@OCXLcWQZ?tfj_YEj{*Y*>h0Ke@C>aj%gWlLd%6yTJoIL;y$ls!9^`k zE^Dc9O-uV5TDIKM^5c${#`m=heyHX6V=bAVX)(XhGX0g7+i$cKf3GF_QOoMjTHb%v zQtOA7Uca>L`=cclIyC?37?(=Nr8GM7rPtxjsAExP9nZ4rsFXuT$6PwL<9BVJj@+NwG}Ch4eCQ%9fLIu6v;k*0wTZ6h5M zn&`OFOh@ey0W6{yvu4A}U$7z?2>|PyqpN`o99rr^z zN=J3HitAY4O2_9mI_kC8(XXS9L!EV`>!w5BL&v0EIc}}mhjW&WxpQ)5zd$JgaL8m!VW zV2zF=>vUw;s6*VWW6D+?H@532vP(y3w~iHib-dZHqxvBo-H+(leN0D+lRA{Ab&Ni% z46=<#IJvoMFAr@8c0 z%&VtEemz?Y>iJn%Pm^MLhLq5AqLiL2W%XFf>zPqe&z;J8N>tMmtFC8FO+6oK>#1E& zPwxhL_BYa#x~U$axt{SY^;}l!$*<8PYxOMF>v=BfschEM$*O0&UC(c)o@Q=6!@PP< z`SfH9>am6O%!=x{7uQp&wVp&(_2~NQnb=>?)q#2n z4$vvYr;x^o*FH=gcfUIp*qd%-1t#p`Hhe^^{qr zr}YXw8&>K0vPMt+^?Lem)N^>Vp7h)F79v);)0%0m-L*wq9@mNJTbXQNg2YT8*(zEG_o^Q|eG<>ON;A=fc z-|ETuL67m1o~d8--2A4e=ubW2-+EU5)$*qB@8q!ZD4R&1INo7$Xv;Qxr%}5)ePLOZlHKA z1JODLR@XD|zJY;SjSci_YG7Y;1E~}SG%5q*GzKnd4dgQz@EQ#)G8=eiHBiZ6prd49 zo7=!IuYsn114DxbPKFI+jTx{e49sk8;BH$3B|8|1cQUZHi-C{b4AkjqpigfD2l^UF zGr)j$kbwz93|tvzpuk82zR?Djj5Y9Lyn!l{40N7iV8=8Ae`XkHKHI?Xxdu+pH;{di z0s9gIvzHmTzrsN2)dpIvHL!lYfzKNa)Z1d9-!=n>b{I&PY(T%qz@&W!t{pH?=&*sn zQ3K148+dinK(#Xlx}Gzz>wTiC%1;9~ej6zA&p;@J$cmIAZ&Hg?PbbnngUIeo zA}O+pD6@-<&M9&}w@B`MBCY}=^9zYQE+SICxJbK_BAZK#d@n1~sDj9#N+QRqh-69< zG1U;6R!iho9g$-7MIsGFRy7uR*Holt3z41*k-aLBl!Ay_Co_*6CM3KkHsC-7w6)=*kuo0=Kk$J_9JSu6VTp1&6%Nf~J!N|8tMjBQ%GBC-=(HcfF z);40SYh-GDBR3lwDcZzHxS5faEsVTX7^$H)(nBz^M`z?e(TK`qWQ@hg1)GsPP9tuY zkp&(jPh=w%0!G@0jBJS*`4KbHxRsH?ZHydmXC!k+Bj(OVrgt@RyStI%y^KWr7+KxV z$om0CY7I8hYp9WZ!;PdGWkfT^$hdJvE=@3!Z?X~ZR3nR~8+kU>Y}41Z|k^kXC0pBb^g zFf#jW6J2we*pC@c z;%kzL1~p9#sBPj%T@x7^m=GJ8n9{_=jb(3Z(>kK6URE6$kfe*sfUSa zy-eKdW1?7p6On-?Rt+}sZm5ZxBTV!hWn%9b6Dh}=P){^5cCv|!Q%&TZVZt-Z#KJiy zp3XB-aiNJ0i%o1@YU1Z|6HQi`7_!F1iFGEjY&2onY+}Y%6L+?oD6z{#Y`2Ludrf@U zZ=&`g6TOd^*niAK>XRmf(i#v+7c&R{Gm|#88C_a4 z6Vscyn$b+bEN1-K%q-1e=4CE3Rr8wZlHbhEf@b~}Hq)Y*nGq$-oGE1{M_DtD@@D2# zH1nXcnKISPw61PuLrpVZYMZHF&rJUYW)3$plfJ1LLvu5eTbjA9G*eh(Ca5*DTyN&J zXeP;QrkmAFvfT`l8HL--D6g4wJ~O$3W~8v0c~LWu;%3UVHq*APnN97@eCueYVHYz4 zyO}xK!%W8BW{iE!Ozm&x=0Gz=hnNWuGqZApnYW|N)EH}~$9OY)CYt$giW${3Gh=3$ zxiHI2p1Ee+^UW++Xy(acGZmJZX}`kEmQ`kctTEGgy_vxq%^crsCi6Bk<{f6H?=o|H zx0&Mm%tQ~ES$)XN`y*y*9XHeKq?vuE&7?YKMsvZ;xJza(T``mIx*6|HGmCDUd3M)K zr3Yp@J~FfIiJ4!|%rt#zX6S1(C*PXM`oWC#lbM-c%-sEErsPjE@!w|F{x$Ov3w2Uj z=#$#QfwUIVWU!#kWMM)U3sFpAr_Dm$opx ztcBC%Eo84`!Cu9}>}nS7SGQ2QmW5VzEUd3*;d28E^%`5~*VMwH<`&W^Ea+7hCTT2O z(^@EGun;g>SZ22H%4(sS!$Mcd!Y;Rke_jhM{T4z`QF0z%Kek*^2R$4@?jEGq|ldzJb zjTJ{bD|0$ndCkr*lrT+jc08c=$zlR4|Nk7zzVYrpaBduH? zZKd!yE5Qj?mQS+sdWw~#=~lYUw30mA3iGTe7FZdz$jZ4TR&p)3BCWJCZ?%<2Yps;q zV5RLQE1R}h`L@kU!<|+JCR;hW$4bWiR*VO&Og(Jn=20s}Pgn_`va<4wmAB`t)VOG+ z$7L&fu3Gu;h85K4RcrzPoTiE!huu(^CqmN+YfX+r5(T3J!V}ixT6`PF$P8&X#jU^r%FJv240ya8_ zZ0v~G_!G0yyp@gNZET!wXCr$@8}`mNW_Pu5zq^gny==7VV`F_k8=nW*s5jU~zo9k` z4Y!eQlnwnD8|X!mW>p5Z7A>C82!-3`NuYLKeOR_VPpO)8;{@EDF5C@ zyN@{uGvnbE|~oo04Qw6qgb+F7Hv^FgpvTW_bgXlK94PHL+i!ER@~)6Qj=o%~)q zvd_-qfSuqg5Z)N9q8#~R~+Zoo;&Z*9JvURg#>tSbBFFW`8*eTWDPGX>) zb%X7E8fvHR2s?d8**Q4IPTKKybQA4NoNVXnR67M{*zwP@vviJ~m-FmYU1+DvVmmvR z+WEWOPK#A`My#=OW}TfJ8|^qY+nKY~&V%iC%Ivb!dbgbod+mJLZ>RntJN=K?Ieg4c z`jd7Hr|nEWYv=lTJB2UV30|?Y{F8+i4@9jMLXs6s4J8i$&+4RHCw_kP|{u7C(LvEH4#L?S ztjyuyZ7v5j@;c~|-@%@O4*o0RKvm4am=X>ylyZ=#tOIv>2Ma1Xcv9Ixg=!AkS9h?b zrh^}~9W<`zU~mHm#~V4w+|+@&xr6B~9o$wrD6Vl3)jC+Mcko_xP|NI~m({^OyMt7c z1C86kIIn|CJ_q@N4!mIpi=qym#T`^??Vw{@2iw{^_|?%t(=HB%c5`sDhl8xW9a#H1 znAzXK-GL5D4sj44=3wmz2Omc{s590NR^BpW% z=-|a-2UV6i=)A(gj#Uo+tZ~qMy@TN!9h~0mAp154_8ksp?{aW|w}aCA9JD&%VErKn zpN}}Gcich0lMW7@c98Cz1N{XDlP)>9cEv%V>ka}p9W1-;;MH9R)gCzL`pChqCl3BS zbI|gogORTtoPFyc=LZMQPY&jOaq#e)gR(yzwE68|<6j3~anc~AlL4un97*dWLk1^e zCMQ#}IJuF{Ns*jRLb;u+$m`@yekaunIq6=+$?jrKQj~O}EbU};StsYqJIP(iiK~i} z`PG~}uI{9KEhp{jIN4m!$@d0M8Z~w@sHu}<&7EXYI5DZ5Ow%~IrFBxw;3Q&nvdZk_ zoz+QAhm)R?lf7;yDP<>Wzmu^+Cl|v`^2VHa5>6JjcJj2XlZqXjbm-({YZoU!yE$pn z)5(zDPEPc7l4XDs%OEE+hB&!1%t?unPGX~-tQqU%!+0mPCpqao#mW9@PEyZwBFuI& zey)?t^PS{hNbADo=|;J1@9|D3c=A+aH)#Fx|( z_0vi8&meI)lSKNg5{B#&lXFU3&n;0npG2^L#PUKCuZu_|6_@B%QX;vu1mz?Y6(mMg zk~mjIB3F`xR6}B3Er~~UB+Av7XxmU?Q)7v5O(hz(kQk_tII5D!C`cG}5>pKlH;ocS zEfQgy#7c+6TS=mZN1}%;vBxj*Ur0g~kr)$`xR8*@(?-JGPGUg^i6@;TDs+`--(6x$ zPl+GBB^vjW7(77Y_#lbQLnX|^C8m#*xIJ2;_&AB^1c}v?B;HSvs5M=p*G!3hvn5i^ zlh7=X7`I5`(h`Y$%O$)kB^Irgc(zue(gul+n zG4rs*-J=pEPe{a1Nvu61@$sBQor@BEE=wG^Dv{=fg!Y!iggX*f?nxAQDB*i7vE-@5 zi{}zmUP*L*BeCP1#Gelm%|A;F|0;3%yF~V1681k5v;RrlPvN3;Di^KNxLBXg#petz z>ScD(FRP0~*Lt`%@msIZGbQ5VaKyLeU7MYS?6x|VaXtAdMvm0Yx} z>SAP)i?cOcMMepNsDUTr?W&V$e_*$A-JeG|Gi(jEiaGT-=)AqS#~?k*O|LO?UBbri+?$ zT=bmhV($VMDHpp?FLg0?xr>V{UF2Qk!n4lB!VNB-ZgNp^tBVfXU2NUy;%BmpCVO2B z+3(`SK^Iw$xUd{^G2?`bJEvTfIO`&I-o=`WE8V%kqtMt|J=+<<>p=* zH>J|MNn~`hF0-3YS>4pl;ihjcHwW{$Nt@q|uArNVh22~&>ZV``H~vy?mX>kzvYeZ$ z72R~H>}F?GH-D4dw5aK3L~S=`>bl9%z>TAkn>kI~JZR>oOiMSdm2Nhu-Fy+;)YrS| zFSoVX(_lB>hPr7u!p*=@ZjO#|lX1Ko<3u-8C%d^h)lJbE zZo;$NteoTK?L0R%7P{%N*v+1$ZvI>0MzzY#m^E%LtaFoRqZ{{THw(79d9vM2g3gubUtH-84SrX7CX=$B((meA12iw43Q?-P}I!ruZc{(JO9NUvu;RhMQWq-SoQa zX5W1`sUEq}JaIGbnVU;5+~j-h#{1UIqW5l|eRNali<^$$+-&>d=GQMbP5-(XiieZ` zdB~dDgEg&(ndv>;&FGmA-jikk_Wxp!z8bVYd#N!f*t~456hw+Ud26BYwe+HTMxV1 zd-&JUL(486Mt1XXwugtDy*)VldYIea!^43d$`0|+W|)VKBRqT^<)Oh?4+F+~I5N>g zhAAGzX&$D`@Ni?6haz)5gywr#vCzYt#U83J^U!^Thuy0@q*&`gx!%L*jULW#_Kw9rCDPy!X^l~-qrC`j9KjCF* zYcDU`da2sMOP5Ywc6Radx0{z1J-v+R?d42gFF6KyaSZY@XNZ>v!@QIk>815(FB`^s z`7+*1{YhT>Pw{einwRu5y%=VDnLO9a_4!^3FY*#x;$`_VFRxd4Nm}it+gdNl>%Fka zi(-qHQQN$n+uQuL0O@I5apA9#8D$V-i}RyyW@n#r@sO zf}dWV{Pt4epO^M2WVWP~`H@j#btVxl-XBWCRI5ZO$C{8m1Hhek;#`N~&%XDlgv#qhruck6h zTgVJm$edKkWEEtrI+>XUnY%`rk`|e`O=hh_=A$H2$0O56mO0>;NfVOMMr0<$WUeG+ z3bc{&wUb%WLFPp#nJQgnI(L`Z(NpG6Z<*%(WQGrrIXy@w`%oGCaGBX7W$urbDLqc6 z)dZRKlVmSrrHLXuA5|b zZISu6O{V2enUTpdXZOhD+%MxiC^Pr4%)_HHWlzYoIVH34jLg?_G7T=u47e=i_?@AB{5m7?jn=vFtuF<5<6~MrAGZqlC|1}7!;DA3e+Y*jvFz%E~^}Reg+2@^P_-kG!>gcYG#`u^u z&d0q8K1xmYk(laZ-E<$HX8Nc*$4B3JJ`OJMk#?~U-BKSDm;1Q7(nrBHKK$!^EZyMa z^AXtCGFi2Xj!9Q2Xnh!4jxA9GIlcyP)`nX^7xpZBrhqK_|^ zebm3^qyG&bhi~~vf7gfMzK_WdeO!O+qwq5y!52Q3zw+_=jgO@FKDvGMk^I>Q-+U;3 z_!#xe$GJZ~a^Xk%&(FM6ejcUqQ!c%qwi*3w%IxP`RzD4M_!*eX&(S=7GUoSVEa+!y zVLvyE`YBq%Pq>tym1X?AE$633ML#_%``J^~&wthZsA~EdQ`^slx_Q@>AUFC+hRFI^gGh$WN`P zpI&i4`&#)))z*)uy`OO%{aotoCto)|-X4Ay_44zqkDp5Y{d64YXWL*uzlQp0I>OJ; zQGQO2@soADAL~RvGbj7GJJnCg8Ghok{H&eh=i@v-br$;Rv)IpprGC<^@S|PjXTlmk zSJwF{u+fiiv!5kf{k+)jr^+rrop<}$vDeR^{eGGs@-zI1pVP$ZGm-#j{|k^abpU7D0CUp^c$hIj*(?FtWDBq{M}V)n0yM}Q zU_kx=M+yeWP$Ym@EWnf!0dABEP^4^tQ278WDh7B{IY9Ml0lHTYu)Ah}6mjfCy zAi()X0dhAD;A$RVe#-!ll>y3Y0<_Zx*sKrmT@2939AJ<&z%hG(Oi}=oJHRw=fLp!* z#exAM;Q*_m0p7&})NCD~XWIaK+XqP5DS*05fU(^ITxck9M+ImyHo%ba0ZvQ|kY!2$%d`M9W(2r1D?o|40b=t5tXUY~!{Pw7mj&p( zBEbGt0aC9GAgm8Ceq(^kn*-$E7C_z+VDYX1&vyr?ye~kf0|B-l3h?_#fM&-73_BU% z)ad}(&IPbt2r%nXfO}U0l)4@uaWlZW+W|h^4N&(%fWD6c9DEWW?ehS-mjNce4si8t zfPx{3S?>ltD(M4ss@KkQ^C;I5Gv9lO@Q5Y(dK8 z4AMGxkPUf*e90fAexV@!iv&4bEJ*s2K@6pXOfDPbdifxQD+LKw39`Iekk{3NB-IMi ztxk~SdO>IyMA10NsHQ>AH4lg9zI)V(8f*f@R z$tVXg`h!dj2DupyQZyDMoCvbAb&$7hgVg8{q(`S9d%6VquX_+x&md!Z2f5HUNS*;f z+=GHF7!u^kupkvi25CP!$d<7|evA*&cv6tTQ-U0y79{h`Am-UYrq2y>dw!7Oi-JU# z1X;Z-$omyRYOM~^Yi*Ey>w~1)6hyNn$hd7mF6{`CFFA;JPmo3Xf;>AAq|)Ia9ghat zc09p||`3{vt=kodhIYaayp_$Wx7r$PEW4|3pT zkTh?CXx{~y@FB>RPeBTN4dVMAWXaDUFMbE9@-Il|6d`t`4Dly*i00`+49^habfys5 zvxcx|4>3Dui2J!il+G8TRe=!e3x)VxBt*U9A^MdJaj0~NbmcMQfQN3%3?%hM|?inIQ zpAgD^Aw~}faeh#U+(SdShKHCxGQ{K2Ak^Oo*T7LNvJ;V#wtXC$5IbawCN0R)`sQLfp9*qQt`xvBx3S zJPq;Td5GGtLiBzUV*k4ksXvAgK8G0pHN@rbA@ctUA^!=n_+NsaqyY-*RCNRtS@} zau{9JFcXu)T&)qNVC^vex?z^q5A(8Nn5s>}bZHi5XNxd@6=7Pa!;BEZoY95JA%=07 z!pyORd0-1u#u=uyE6fH@m@jge`hhV0Ltzd_!laLfF|-OZxlNes?ZOo97$(>`%<`^b zUUv_Z)GJK4K4Fskg<)VA#o#cbhK4yeJWQ@pVWcr(=8X&UXhN8Blf$%~8fMe%y$u5a#WsFg3P@>9IY`o}FR-+Z{%= zH_Vv*VJ;jDljlen_pvYwPK0@KDolm5VcMS$v*lu#AD6>4z7}TijWEY=g~@z3jQM_; z=?}x)ejKLwvoO&YVOGBi^ZrekTJOX3`WR;4=P;?hh0**7GwxTIOMk-TBZBw82#Zoh zc$OwYrSuUxW{j{cbA(@6BQ(tsVQ8)hC-X$enm>ZIV1${4Bit<-p=5~&@lp}imWlAO zT!cCmBlM{p;Xu_0X{txi){HQrc7!W+BNS*5!Ph9lk|q&eG>cHBWrWVk2s_jf{smv*oBb+ux$Zm~bw?~-mjBwu-p|m$bD_?~5fe4>N5$Z)F^ovJ0)G9){wh{F0BTVWT z;acYig}Oxu^oX#mSAeRqW2dn2Sc5J7n;!ssIr&L4}A`(y;y=?L@BMtFQaLitM(+FgmT`C5eUHzG8; z9bwSj2*>V6$n+?J=}ClX&m!D<5uw=Y2$8oDR=tn#?qh_SUn2DU7Gdv?2q}L@Q2&iE zmM9nhi;_2W6i?bH3)4q=nlVbnEKxdSi?TIGl%KhxG|3xfNd71%3P#CNB#Nb2lo=(W z+$j~MMA;~@@=?}QjPjv!l-kvz^sXLdf6XYV>qHUiMH$~9%H>8;@;8klH;=NoWt8X2 zD3vu)I%%V9*GKs+Mrme_GRzv~ls!r|DT>V zXC_9;F(ry)T9i36qCA)trOezYt>;JCurSJ(#Zl@ni_(8Zl*6l{q+c7wus+JkuF4;cPYxFD^bc_ zkJ9#Llufsze7hT^;e#jxA4NI(Bud8TQH(F6Onn{Y=G!PmKST+Cin8)cl(*la)c6^t z$L}b6{zmyPMGRHS7-Le$xR5qRo(wVEnPM!+65~m>7!`8HXrDXAmb@{3jJv zVjM3PBXh|Z=F%~ymyL0|e2n6iVnnONSY0i~`|2@j)r!%pPKlh!~#;DUFMxRbG4s?l;rh5!+&lnSW$GFlrMu7n_e1l>v84}~guozWF#^^jc z#*VQu{)~^&d{T_zQ(~N+79;!281~sQX3vdre}0V8i(<4|5@Y?c7@t?fsJA*szqK(A zt&fpzQw;r<7?ZZexV9rkq2w5WJu#N;i}C6}jB1BtbUhkl*YOztPR3|?CdSBfG0t9y zk@Ip4=hYZns{hWIYVln*g(e2P)z zYmCtM7%P6pc=J0(^?xzCr--vVWt}G7mD+}NSsE+;|wYp=UC}Dnaag6RfsdKQk+{=;uK4Y6R8nrRjoMh>cpv8KTgkv zarQQjld@SHb&EJ-6>%=A;^Y*Jt0T@&DNYkloFQ_Y6aF|^ zLUAmSI5T2#?j+)rXcH&aF3y?`aXxg4Q@d-N-reKu?-?g`pEyFlIO7MzxjZON{-JT? z;c*s^jPrbSoXX?kbea%n`=mI(r^IPCJ&J06JdN|^d7S#M;`DzL=kU8Y z=|9FXe2z2uYn1atV%BNRY8|0%O$#Q6=n~`+6Sz$Y7FZHIu_dVBOwityV2dZg z4>>{OK!U-c1ji!@GRG5`|7W-y8{=94AbM(~wo}`-o!U;_uI;9{()L#;={gF@tDWlR$S)NhKtISerXOm)xld?Oflz+LUw9h9cR6xr4LQ?V< zl`^QflzAnkJdBr8sjL)vc`2JJO8Ht@O0#NGTs5Q|t0g6ST`4{5OPStK%8kZSN;Q)* zriGN1t)#qZBc*P8DW;B6_I8$%ErKI+jQm~(tAp@i=7$oKK5GhrLOHn3D z*)mGX_c2mhjF;k`DCLAyN)CmT-YO|GG*WKqq?9&F8E2NV+A8IpAf>)jiba&N-yp(!GAdS*A*&)|V>KCHYRG6>TZXf)jHC5sWNRd& zM-v&-n#s7{LPp8fGDf$Rv7)_<*Bxcl=_13JAY)H=8T69Tp^uDkKN%MW$S5#a#^9kc z<`0+gC{ae`(J~ZcWo#ZV9mZ?XJr(*AY=GN8H+E=c$Oxk`gIwan=-cFmhtPZjMfii_#VkP{X|CY=Q8@elrj6Y zjJt1Tl=~oK;wKsFzR39aO-7@iGKAkU4*ivpIh~w@404h($w|v1r&xA5i8gRO3vBRa`KjwGoXT;IhEwxuOg>Hbve?SayHbK^SQ2^ zCJp2`8p%1*L{8S`a=N#aGqtsxYi;F}=pbiQCppWz$a$3@r*;oHhF)@Z_mT6jpPcps z<%9;yIX_fR{t~Zl9dh2jsjvB&YsS zIhNyc_MeoK;f$Ql=j6mL$hmY;PT?zZhFz7j=(?PzH|12jBS(Et&b9|~em;`Z>Zu&> zb2+D8%E|RcPTzNOW_^%z=aZbWU*$~rE@$meIUjz@Y4}f$EuDgc85Cs7te|UF1(UNY zxROIb(cB6~3LZ!lRFo@_DHUu~EBK;S(A1#7 zX;N_1q9B`~poc@jG?#+wZUrTM3PuMMtOzN19Z^tck^*Crf<03ekgTA?Oa5*`tl;=o1#vqR^xCB$d5?md`xL|< zR513if>lQqygja<-YEs6A3csKlCC z$$_j&GR7(Cl2gf~+)6IzRZ^sYlHrAvEH0wtSurKmODfUCE7@K~$**!sT31x!tE}X7 zRVBG=DCt*A$?Q5x?$%RMuA!2Njg_oxs^nvHC5>7s5!xs@)J{p}j!F_bD@p3AB(0m0 zVm*~4_ExgAuaX!2mDC)hL^njq&S6Uaj8M{cl#;+0C1=Me$vaWW0I8BWawYebN-AiS zNOej!7?gZADQRL=;t-S^aVW_uD(UV~GS#Q#T0lvOu#!x_U$11-MkQZ2D`~b(iED?FW4n}O z->anOekIcnD!Fl3NvUH>#+*>H@|2P{XOz@Euf&w9WbY*<>C%*Ryrv{_LrLl_B?a#) z8FF9Af`>{TKUPxZnG)p-C0kx8`Tj;pi}y<0AC;W=tR%-bCB1(rnej`>tv^aiqhefo z6{|CpQz%DR7D~D45>zyHs<4YH4trE&@vG<-R52y2;%Zby@yRMiPEoOJ znu?dnDr(JAp-)kkJ`D!zSG(fo@F@tca{KUBp1R?+LP zie%K>Os^(BlbW$v)U3*;=53ssdb!k?^QhUEPfhxQYC08G6D_LdVsSNvN~sxITFt_; zYMzu=Q?-&BRTVW`tEu@>Lru%tYCLt-oUE@VXCpOzny8uCOwH{UYRa@$Grp~wHSN{B z@2I9h7d6%dH3zz@$=FLxmp*DH^;2_sfSMwM)eIl1X7O+}&l1&CAFW0+R?YVDYJN>r z(^{s+r%-cRr6#vlO+USw*+w;Y&1%Zo)J(LiS?5&qQB>2&t48pvITTcrIie;ZrY32! znzSiuicMFOI77|SS!!OSsHr(mjc$ROor~1`S)!)xay5aKYR;}!lXsn(0UOlJ*`((F z7Bv;NtC8+hvthTI&wJH0IiSXINX?NWYO)?z)BU8Hsi)OkJFBL|1vR5Cs#$(n&8svu zwXdr&+*Gsswwix;)wF-0CiF!e|I7Y*+cG}P~*!O}~^{yrKq^w-dNpoZ9B4VQ*$C_F;Lu#p-Tjn?pV ztcGe6G^iySw#hX7RA^|W*5K7@IHlK+%cP;NMZ+wchC6l*WnCI3xHYWxYWU#S&@iOI z7SV7prXf?3hOSdJOrEac$_x!fXKNTSN5hhN8lErEP-C$M?NSXpmTUOEQbU_H8vN@t zoY|lu&t?t%w`xe)uHoKJ4dwS}knGd2{(y#0hcq-ks= z#jhG<-!*Lfso~3S4Nd=PaHi98G=r9GnYHxDs%2VsE!T5sDVbZ#=)7811zN*;7Ib@me~R(Go7FRKMv)Ka;Q7DYWRn;U5P)<{e9rdq`2 zT8_8W64ypcuXb9JJ7~GtNlScJEn~ZBS=B?!+g@7g_0?kTuVvprE$N47=`>7BbcB|R zBefJ7qh;tgEej`Tc_PtLRjx&))Us8r<%d>FOM@1VNy|x#mYjl?J`OE2U0QCtwUqH` z86VKHCZy$kL`#E7TC7Q04ouaOFYOVSlBX;-xryP+lVmX@V=w7j^drRGB|y2n~}KGpK)xt6xCv;^L0Ir~ma z-j7-aeAY7OtCsuUwN&_}Mfyj}hJRW zjdg5ls^e>O9nD(laJA8KteuYR9d-2VtYdmt9XGn^DAiNPnBF>8_SNyGzmB?tbeM+d z*gH%|xR3HV$GapQ^{45uBYp;&J`*qAZsN>FI9c7Q{m~cYJ z+EY3{oYB$nybfEcj)RwUWJ=S~^_q^!H*{RNrK9Lw9V71RSn^QE^T#@BJkz0lp<~A@ z9lzh`X!Bl&|D%pGpLOKo$LTqoQ%{yW zdb;J)Go^r@tA+FwFREu`aXrgQ>UkNjr&d`#`to{qRn+shvYvL;^aN|@Iaf zvtp2**F*Hw8Lr2esAtb8J&e`UVZ5I3L_HUzdI~7?3|8rxuhH{Jr>C+}kHV~HvsKSG zK~Hn19#PbD+@mMXucuc~PjXn#&8VLE$$G|4(X(orp0~+*>dn$)PSLY(uAcM@^mJOJ zC%Qz>#btU5t<*DgwVs7*^*mXxr|Kp>sx5l9ZqxH)hn|+Z^?3H`Ik{g?&O>_o9MLoL zn4a4w^prWRXZ%?`YtHL=pQ@+9Wj)q3JqNDo$#_#wm)m+K-PLpXzMdkF^bCKZXYn&V z&tB-M{#uXbt)A`g_5Av%r}Y;-zHfR?|Im~Bx1N4~^~}b=-Sh^^Wil`^i-C3741A0; z&?uJyA&-GW`3z((Xdt1mfuy1a(ux}>R?0wPX#-2k8hBCOK+Q@9bX5%OtY+X(4Fhd! z8wk`jaJIgIyp0SDXkuVaGXwWq7^u+NfV8cF4ebql?r5M%7Xyw214p_W$lA+5_dW)u z_A_v8fPoT&4U8IUVEJ$ZuM!Q^9&Nxd*1+!Z2L4Sn&|YRBq%d$^Wgx%Sz#zSWc}4>d z%?2vj49M*UHaQJ^6%91=8gTgy919xA9x>1}W?=ec12?7^C^g-{m>C9E&NA>O#X#M8 z222YK>|JCa-BJS`mm7$zG?2R5K*4nehHNmfV3UEzTMSg$Za}%yz?R(xzV9{A;(!77 zAp<9l7|3zlK<|?VW}G%~>#Tv&7YvNMXkhha1Mkud)W2@Pa?`;6+Xgb+Gtl{gf!HGh zm!23X{M^8>mj)KSHt_VVfodNNs6QFl_Qk-@Zw6ZZG~oSh;M89OxzZWwo59GeOh)cx zF;X_WkqJ4Btj%TQLmndy^Bb`hG;*-8kxa#mbS+_Iaw#KMN*gI!&d7)gMwV1E^1O6+sN;_M%pwm;%{W+OcNt{nj7ig(nv~cBlp@GDc`|}q?3{LU5tE6Fw(e( z5qmEqhx-`G(%(q8fkvhbHga{Sk>Vqaj2vlX*=Qp##~P_M!H8aBWS7jyUxkr&Y9m3d zk#l+@`AkLzT8zxK8F^qgQqg5Z<~Fj?YvhaHNYjuJXT-?Sn2~HrMtV#&GHtq%>obg$ zoNZ+E93v~{8F{_HNS(z-j7yE|S#E??Mmnr95?*KI!UiJ+HX9kd)yVwqMjq`nQhARN z#XcjO4;cA&$Vl^}M#SSrj-NCVcg9Gsb4HRc7`b`TNcE^wdc7xsi)6jTCxgWav913qKfn^2tcmuSQhgjcomCgLlMD8{w`n5ALyMu|lolKPL zYGPtH6YF}I_}I%tqrN7D{w59$G?96TiG*P$l17+F8)>507!!%(Oe~#X;)TRSO}Po3 z(!@@+i9cEsZ4D*@CKG2ZCh`g<1~^R2ahbU9Hc`Q6LK-l!A!Oon#6*)xCLBp7j!ZR? zHQ7Y>nI@*rHgRo^i4yZoj9O@7`C=2VmYS%&!h~U!iQQ{V{99+D{YDd^%_h!oHIaXZ zi9x$e%-dt);XV_U4w{f3HnHibiLb{^G&^O&b;iW8b0)HV}Ci zw@j?OW8%#{6LlY&Fg-T0_o<0=FHCfNWg_y%MCv;e1wWb?^4Y|KuO=RUH&Nx63FRLX zTmG5&p3Y2*jAq=K&78<;CP$o^-Z{<8$Zh6UUNfZ&m>E~d%<3X$-W4-bzoZ#UyqW!F z%w#BUrgKFzvC3vHRW(z%hM8ft%q*&7=4m}M)f$>nH#W1ashOY6&9rJ|#@oissdi>^ zbu`nrvzb|4&D`l`rfg3$6MCCj+t&F_Ypmb1z_~eAtX6YG(Z; zGoO;oG@fS0o^0muOfy+h%ygS;X3BgsR~MQozQoMPWoDMGF!OSinObYj=+~Rswb9Jq z&1TwdGZWll=G-nb`SzL_xZlj&gJvEaHdFDK8QBRl8&8?}a>h*4^Jbi>W{zGmlP%3m zk85V8-7s_gmYI@w&5XWpX2nA@uOFMK^URF#g_%9C%<$GshxcZ}AI)6&Y^K0BGlPGa zng7eoqd#UUV?mML!sd(?zGb%1JevhE&cgAW7UJ?)=#|exasdlB3t5OSYGG_~3#&?6 zcpGn_URev~@)q`0w2;1vg-+EhL~B^MSj$48x)z4kx3I9Gg(rKf&H`&6(DHhgEv+yz5LZew0gcJ*h=32R4_uCex-nDS;zJ(HxER1?$Vfix)uU=TF{n~=zt%cq1E&Tgvq5T&N zp>Gz>|FDq%w}nA}EzHBp!}L}vWwIjAVr5e{D_`TRG|OehmB-4ld{(j-w9>P%mFY#T z+$e6PR4FTCN?Tc3*2B}XqSz57_1(a*}Q0ai*6wlZ$0mDR(oyi2rF zf3y|LSS$O-Tgf1?(phFDrm%8JWu>sz$}qi^MMf)6%~q<}tf=i)wmGf*6s@%KTJid= zoC;dW6|vGcW@Xl7D|e<(#n<9 zR*J5(GGc?3C7Y}~-(sc4b}QPQR(9;R@_Vn9HV3Tu4_P^L#7dsyR{Ec`l5*P0y|Y%z zU$7#%Xl4CnE1%M=G`?=de$&d~+g7sNv(oK>l_`&`Tzz7t_;V{GUs_rA+RDqfR%(5) zqW@%N*B2{)zgcPb(@OBSm2-csH*w=uY-jrpx@JZfvBat9lVPBu1ovGFazM)Mvv#9lUz_puSz-$t*2Hj)S1xH;5D z{0JLkN7`65+Q!?lHtJ2VVV2m~C$o`WX`_?cMpSF#qTWU!lZ~Mk8w+hVp4e?vb=gq4 zZEW@0_~EzFGGxOOv2ikHBWIG0K2vSXoNnXx3>#%;+ZaE`#+rFH-Y>AxV6hGBQX2=B z+sL@eMwc}wM zM&dggOF!6n@ySNbuQqhwZS4GM3dp+&Z0aHKwU=glWFI2X zbC|&N5dt?x3X~cnFlL;<$_WB*Bm#Bi0w$%vUbR3voj^x}K*S`FY7rsTS5ZgBLXcZ3AmF4PD~ZZku1=ArofEZ0=MP}l%6jzZlS>H#RBh^3e;aA zU|A)we~mzf^#YwY3dA-GT-qv7c!$8ST>^{t2t3^YPBXRDr&i1ZG_kxN}vY>L$``OB zDP(7T5j&rX*=bzTjy>Ma;WBozl(*BZqMa#~?Od&Dr+5uJBWu}NR>#iEdUk3xw4-lq zXIE1@f1BHB*UC*MT{oM>mX)XoaIo!3e`bu@O2Iy-v|b}-xNV6_t#>|AizDInSz z?6EW7XXjDCPUWy2MbysbNp`*^*=at_j+kuc_)I%-DRz3zwUa#G&dr5(;+NPNyUfn2 z6?WdPvQuxZ9rJoS`!?E1zr{|cZFZtN>|ESsr_f$IL-*TRc+k$1!*;43v!gm;XX`0D zKhD@`dESmE)y~OFc52uA_%o}!Y-?CHYuATAs?W}od=lx?l4W8MtzOZxPm7R=l z?R0r>XVOPImp|Jn^3BfhA9fc1vh(bZo$5Hyq<64Aqk~_W9kkBoz!&G>bWR7k^El|2 z&%x{h4(=9mP_C$hiNzhPE9u~4yn{w%9SG$e9IEIba}@^()f^<%aFABZL9x0H66-ry z+R(v^#tv#WbD(SCU}q}_f7&=`+ulK-ql2@Z9pp`LFrd4GIXxZR@9m&MKL^qQ4mJ#O z@Og-XCc_;#5*-{FiywW+SZFFETJJ@Y?@K12i z-svDDIymofkl*iMP|(4=u!DzD2bCr}kWX>2X_|wt$qt&$a^OmFaBQxF>7e&*2Q%(ExOLw_=|>L6J#n!5nS*yP z9Mpg9!1C6?{`U?td~(qFi-XuV2bX?0DE!;Ou)hu#;pAz0C)F}JQDLlL@7rtS#&0LwP3+D><=MadNPllT0<8bgk`V za$P4^>N_dg$jOK%PL?!t^1OwU8m*mZ+dA3N-pTKdPTF*F;!kjLrn{3oy`1##<0Pe@ zlY0Z4lppLwGStcX;Z8m!I%z!GiG8e-!{eP~kvQolb23HY`N!BUORdF)=9k&PRyU2?EB&*{dXswemaT%c5?BrlS1iS49(zTVI~((vbd<4 z-GwTLi>%q->Nc4-%7%DEU{!Nr?Oj~_N^sG-hYMdX z7pMEU$lc#Xzkx1h4|Z{PsEcwVTudD4V%=yLAIG|AG{J=+adAlIBD2y(g4#ur)LciF0O5GQDU=;QCnRs-|phoP8YTJxG?N< zvHO6Fe}`POKk6cM+{O8mF7lsoG3cC&c^6zfyy&9R6&LcWE;e0v@%5&QW_Mh;?zuSj zz(w}QE_yz7G5xuV8!ugy08K!$zk1_h%sUq=Ke%}F$wl3-E==ED?EUE?-5(bn|G9{y z6G_b=QZTc~kgOsLvWq;1+n^NSU zS|pQBq^m(>vPtBMMWm=8GQuIU#3l0FEmFfLq78`b2#NfTh_sm`;!hGeGgTx{vPl1# zA}O;)?#&S?KVL+$P-OjLkxxrS8m|zsuM#=DMkLF6k!~ABrfe3ux>cn34v~?&M3(Il zdAU!d)A{+0Be7Psm z^r49JvB=S+d3Ueu)_Wi0t_%LV7nHGP((8 zc5@-Cn*woe2Iq7$KewAldEHbl;6_o%&E_I*z7=!Ryrdg3-p%ncZsN+j=~dB9a%DF+ ztGbD=;bv?tH>>Knd0Wp-y@qbgjos{P>Lz^)H=SC!iMDZbv7MVj9o-D=>}FwCH&42` zsoK+xs<)f1eck-%@22G-H=ZGGP7ZUEGto_-QEq0AadUf|n=%vKjF-AuBX{#&>863k zjaBF7fWb{hvzsnfHU&t((8HU?9_lvpU~1uEZz~V!+Ir~N-b19Lht$p< z3MP0M(%r*?o*o|e_E4pt2ju_{TLyXfKEy+d;U3(H9!`w%kYlWe-s3&YnCRh_)I({7 zhjA(ot2G|p={(doda#&1?6-QzVE543=^-Y1xa9Fr*zaLj(8Hpzho?~w)h2sTPw}vA znunjs9$L-v;7##xYOaS|3q15)EJ?uE|;diQsHkUp4(>$EH<{{5b z5B+a@NV)6b-hB_{A9;{G@v#1xhfgm&G=A;D{?^0c_a3r*^3d&zhbiAYT>asp_-_v* z|9V)4mzU|i)XL;VpT*0rY+nAxd1;r+OE8a@bNRgFE9hllVJ~xwdU;UXOT|)NWTm}q zEbHYXd2v?paDN%W3gvuAEBM$@$;am^KAKeb;i&23NNpck>-p&3z{k`^KCU(KQKGqzQ7wHe zZ|&n%TOYMM_%L+xvAc_pe+fR?_wW(w<>P!GANl+H7&Oqwyum&m4)sxKgb(>hADc$| z_&U}{vk5+25+BE8KC&x)^i=zpuJv(4@1vB-#~6!`l{O!5>^|zce3;xm_IiD!3;5_5 z@)3#nNR9a@nB-%~R38hb`*=LVN0r$=lyiJ+ndjsC0v|0F`*1JyabmfT9IJfvUgKlN zIv=+-_$a;E$GELNR&V$5Zl{m>dwf{-`PhHJM~1^bIv@2BJMQDsNgsvJ_!xH1$D#{9 zo?i4(?TQceRUg}~`}ld&N2@zNy!U*Zdf+41V;_B=`k3|H$DNlx%D(Y2;hm4QAAEfH z5q@D|9nhN=jTcWKSeY98Ije`lI(t-=kQY_w;yd@KRfdK`CZUY zn<9Sv#r&Kp;U`bLpZ;b1q?Ge>uY#ZQmHkMn`dMGy&!?Jx8rSh-ujl7*13y_B`{~xy z&y?nVuD0}3yp5lc?ffk3;OAv0Kef90(RcH+tB0Szz5KN6>nGUX&$)qq@(uAbaG0OD zBm6uV>8IitKeBOtHcs&KMdGKa+>cY~=cw9GHl3dy20znGey&^mlob4ocKBK0^7Gp5 zr;g8$G2mxU$j|?Uq{AdX;Uqs7rur$6>}T*yKl5k%c{ImQ<@tUT3;k?f?C0B3Kh0P8 z5m)&+zQ#}7dOy83`bpmG=jK*F@jLvC-Q{Q19zSpQ`Kfo%kNL2leMkMIKjEj-DL>IO zelDK#Qz+HX&`W+6Uh(tfs-LPi{HSjE*?Py%k9&SvKJ?>x?C0cDKRI9c>GR6Z%r|~+ zzw=Y(qo47g{jB-w=lyp-4SxBt{_%6*pP!8B19Zt4U{dA)m$L>a5*J{2&H#&Z2Y8k@ zK=lFvG=&0eFB0Hau>h@02JpoPI9(<{?(zZpRSYn@a)7&41C*-~U}CKR>*@sfST8`M zh5>}e0S+|{khw*GgjNBP+5|{z7ob?j0EwLgEbSWLMYjModj`<;4zROtfIs~Mv>g;6 zFeJd)VFB_c1{g3Zz??Aw?vD#lVPXKOG{6RVfX~VRO*8=kV`p( z6wVW5SiT^O3IustC`h%ULDa>AY%3Y$XMB)WWrKLj2RT(SNUkbD`c?}vt45GJwSttb z8)QQLAZr^2`Or8>!)8HjErJ|u6(m#JAYI!BncOkRmCiwmCIlJLJ;;)tL7w*xQlnoG z?SLRV1_k*&BuJa#LHvn9&Ws9@XKaxEB?sWLY@K%V>~VlY{7|1lct$$lv53?PdiDrUW@RH%Pt( zK?W`gGIvRk2g`y~Tp2{RI>^SgLB6aH(sWZ0=awKxw*|?zGf0o!L8k2ua(#c0l81tf zJ`!Zbu^_Kc1gUd6i1BQYJ?De`f5vpU93-3;w_9960*FnU$L5{x<689-cuP;H8zXiGZBS`%3AY=aqSw)Dq=|j}Z6vCV(#J+4H z(&q@#DOZSSo)8!Fg(y@o#L&Va78VWhq0-sS@I3wGcUL zhUil}#LT)OZr2Y{rcsFTO+u_`7UF%25Di*~u(l0xpnZspokDc!5@J$9h|AqW6zLUW zc%Kl9`-ONmAVl@SAv8lnY#$!tS7M0PqeJ+{hB!SwL~colezFj=6(R1bLX^{nn5Yl2 z&KTmOIYc8{2*DoWkTXPPcZdXUh$MfAv|xy0kr0Wo5KAYAcrhhJ&FLX@GeYc~72;1y zh_>@W1QvuiyC_87r6C3^4>4zDi2JKUR9F{6x*^1dO(8yS3DIPG2*=J4M|OwEx-Ufc z10kj!3UTd7h!V#`j5--&`RNd^&W5OcA%x*#h~1Y%{7Vbb{(6Ye%@F5rhsb{~#GnTu z<~<7W@JWbD&qK&xhS>Bv#MieWntcf2`V`{Wmk`;%hv@k;#Pr`GZu|{VDqWZ{8N#g0 z6y{BqFmW+dBb$fA0|>TOlsjU1&f6lQXS5e9!PW1nANSrylWe#euprYPGRL5@xL}%m;gzhORI+cbJ3TFqr~jx`x6`j)b`q3sW>H%!sLBmP`-x zd`6fWv%_fTgxN7K%aF}jK!%R6I=IY5X#m|Hpc`nSd3t?Vf3{&e$82!~SyRL`%doxVC zJ7I$N!kl{$Cg0;Q1D}SO`#j8pmtiWt2_t(KX5)u2Up|Ft`ZbL6dzhm?!({strpLc9 z)6zw_o*_cX%n?Rsjj$qngx5JD)X5#em^Z?n{1N^KaXJ)<5H1$sLWu|k;v)<$6JdV2 z2#+d6s9ZUMqH2WA)gyeX8KHTd2x7em#~Vb5YaF3h(+J7UBiw8mA-+w7vF#$P>JZ^= zrwH}BMlg4au&+mi^t~f=>Kh^2Kf=X<5ef~7Fmzaig(D(785yDKmwO(wPWp=OPqKjgWXL!qO`dUR;e( z^F{>Stq42sMEG+rLfeNC0*@n{eHtO}iwFZ=MVRv@!u@v+SG)ndsQF^wDGQCZd z8||W$>KJ8A=O`B9vk8wC-j4WAVbjucFN?eSqIb#&h6Jun)7|RO8cv&b$t)emX z#bfL$8RKt!jCN&X1k1-bS20GuDlrCDi!rxGj0d%1RID3ARzJqZhB3Z0j?uJP3}=fN zM_a|n);30u_A#b)jB&kljFJg4Mt6^~qGycPy<^nr7sEIp#-2ej{+Dn%437~`jB#O9 zi~?h03?3h2{=^uMq%kThVklHGHfv&h)5U0Rj3Jt19Jj`Zv&ZP=jFBwHxao-z?~gGy z7-Lm9#@lF&dXrUlX0Bmak04RE=Kilrm*|u$~ zvu)dM>=!#Pcu8m5?Cf>u(AnPpIpdEd5-l69D=1?`VHxhCGF}#! zQKOWMIdL*}mzD9Syo@##Wo)P{<9t;ad27fRP)mkTM@C9L8SxEeOl~YgYAWM%a~X|W z$ynY-#<6xXvUHTuy|WBeR~a|E%P7%H#;86ry!~Xn8X%+AU>WlgWb7R#b$YZ*V^%4qpP#@bIZ z&U}%P>${A;KV=wx%eennM%i?7CS;Hk$|UDQW;qSA$yt&^&f#2gGUb)iCBGbbK{?k7 z%PCq+&hQd)T&3i^h?7&joSfP5a&}de^SiQ~*45;!uOa7LEjfAW%IRNUj;W!XhmGZw zZzg9_3ptTiaz3?@)2O|iWgX=l?JOsAH#yyU$Wiu^bEA)(;{D}}94N;#SWa4koSMVs z%pECb&uBS+$I59tLC(fWaxP4flW)45fivZpXUlmsS5Acma;7Yj6I~+b%Q87lR?1ni zTF&vcayRC}+MPXP-q5b~){xayGl=T=L2( z5RfxCD90L>^F)$UDM`+>?Q)WK%K5fiPP2V-RvnOY@{pYDN9FW7E=PM(&Yjb8N}rQ6 z_JW+iB{^@C<dS$r_Vn*`g98JWl&J&KLz8nC&a2>1 zegzo|Dd=28fvlKSwRfqS@umm?L_7^7g$I0d^WDEKo;L7S-xHcVG=ex`!Fa}*4ir$AVsAZ3w)_@xRa zFIOO~RPcGVg2w9L^QQ*I(;LQyMb#5zIa96?p`wG&fDCqE5!Iq~AE0!kJYQgX0}k_^R_bSkMNv9yvaWt0>yuViQiC5}o;o>fs&wYrj-HI?kB zt>kB2B`q5$S=&g-nI=kdHCNKNr4mDHCHLDZDceEGgicCAU6g$2rldhnB};lMIowxC zrU6R23{oN=qU738B}GRl89qvhYmAZ?sd9wwK*ga!Dl#Uh=sZk?Y=nxdqf`_bt76!A70!t&o=;X$ZJLT%GgR!HrQ+8d z6|Ls0ShrBc*~KbyFH_NPg$m;;6%W>^D7Rk4#EmM#n^k<=s-mG>#Zsk;BWe}@=~Q$z zs8EYc3p~CG_@zSHBhF`@TQN`|%ia!w*ZDJ}mY*TT5hl;$rRSejxLfEe& z<)DiABPu2zQz4yD@%faB#%EP5Kd<80MHN|+Rdm0qLUmom&6_Gp+)**=o(k^+6|YiM z)Ow;~UaE?{&sF?;siNI$6`S6wxcFX0{!c0feNkcgrsDAr6%~K0nEF>m3^iZVt7)1^ z&C1MbPGnV+Er*((xzuR#sJWd_O{s!v#uQfLFRJEEaW!>HsaX)GW`9{V>EhLNsHkR3 zWi^+pswr4Q&5&AZY<1K;t*54PLp9SItJ&66&G+VNnzvH3x{aDs?bPJxsHS&kHM*{9 z?siub*GtW~K5E2%YTgY{Q*W@EMG0yS4pWn1q?%5n)g+Epb7j1m!jsetoubAuP0h0z zYO2mwGjpz*9rM-vT&Sky5;bd=sX4PkO|I2y`mR-DSg+>(Mm1%(sF{$cCL~w$L8+#J zM$HnPn!^S)nFKXmENbL7HP;+!in`Sd_o{LE)w~eZR1d3}EveZRQ}cV9n$|njtlzEX z++H<#4yfsWNR8=;nuo{Kls~Cv(rGo3vuZw_SJUW{nq|pqj$T!h`G%Tqx6~-_sJU@Z zP4S0nMm|#Gd7>sQRZYzoYUZY?+4EY>-?wVoeo(XVlbQ=()a3iFX5ddX=HF@_{Z&&T zorWnHG(x&elWZDR7ae{`elQbkx z(NJi*hJ=|K?6Wnb&ec$5frc52G;Cj@;m0x!Emmq+vs%OHwHk76(9ma-2K^Qd_YyUf zQD_*i(h$^Wc(2n?->6}+py7~3Lq@xX&Q1+7w}z`;4MhSPh6Ob^!y2AT8mc8}n6+KQ z&Yc>5?bgt0pN4e@G@L!8A@@-Y{f=uep49N*w1#r$G)%mpA$&>0$7Br+uW49%L&K3< z8veVhq3eAOiiaAmKhjX_sfH2HG`L@Ac$uc5#v2WD-f7tVLBpR<8rpo-u;IIg^FKA@ z{i9*PKMg`UEh!na#Q&#dauzL8HZ7lXXla~V%ksQhj^)>qrI42HMYO1jX}MWKONr82 zMwQXxEvMyGyp~#(w9KobWp6bt|7vJyS6j=bx>_#Q*OI@HmO)LlSej{h+(Jvm)>@{v z)e>v3X*3z@D7EOOGw+Ct|HAKspp<4XIwY(XrrOp^F3&v^L zKS4{n$yz#0)v{%}mdi7>6r7`F$UH5!1zMgi(o%V;mg&p2Y+I@2`)V!C*J)Y3LCdL4 zT5@dF(p#oQr_gd&r6o?QWt?7%Xw>pf&{EH;WszOWL8q1s9xa`GS`q_Vt^~Cdj%XPg z)#6Cf@@%`7s=Ktz+@od3J}o~FXlZ#^%i5z_&K%d0>y(zhXS5j3X}NzvOWDg>CS1`H zx~ApB4J{3BYguwv%i;T4GNowg@>q-fsg`Tcv=n`*W%w&Ct~Xj+t4%2@+9%j)|KD&-dIdw#G>-dycN23BdmKD-*w1|$( z#dUNmsY6*>$Bi;NikH_hvVsmzB^_y1bkwY_V{T0ydur?WTUSTh20Au2(s7}Qj(p8^ z3~Z^x+*-$@wmK?w&@rWxj%XJhU%KgN(o@HZ-a3x=)sc08jvj+_sE6pdHB?8*5jsYX z(%~DURzl~(DPwnj(N zIvw9O=xDZC$EvM5PRev-SL*1c)}htvxTDum+N5KwSx3OCpsU6+o99vugKI?{_e zI)-#?jp#^@>L|2LN5T#r_FXzs_vomyU&oAtI<_Cy@#CnD7AJJ9Ii=(D867##>*#Y) zhyJpTdslRnxvpdUO&!78I^N&aQU8IC#VI-tJ=T#iRY&LNI%F?(Tz#dZ$Xgx5-s^CF z)baeYj%wd@%=)2Y=Pw<<{^)3ho^|QOEYgs*t@_MdU&{M3ko)J~`xU1`VSyNAqI(p{R)3dvQoCy+#IE+#8^F}#_RD;)bnbxo?6rN%$uQS?<_t4=ICiRU(cq6dM+;3lYg0>K`ZoF zR_S@XMo-1{dZupF6Wgrk>sCEY<$6{s^_)=a$)?lO)1XIV(sSFar<6_47>6FeOV1mR zo;rR#3q(EpLweFldOF1PY}uyg@(w)(ck3ClSC4JKo~H-(R6e3-`Y}D*PU!i5N>B5% zdRCv;bLyg=9LaimU)7_#uIKJeJ#lyRjJu~te4yuDik^B;^ejr%bMU#I3~72gz1EZX zR?n69dJ2EiGxUod$2UFCe(0(CThGkDdUjyoXLLmmV7 z^BE{x(7=Sk20}#*d?;?9K`8@E;tU)vYamm+fi4vd$SWJTR@Fe!8U}{fGT^FX;6*(H z)f*a^-PpjcrUrgDH_*D3f%R<+oNH$wPe%j&I~y={HSn;zf%3f!OzLAG($B!B0R|ck zHn1$gz|mm_GLJOSZL|U9SOYi48z?@>z{n{EJkt!M%`i}Nwt=~G4eXh3;O{~MZI>9> zxXi$X6$bLHHZX9l0rPqTk2V^pu*JZXL<3Q|fiFq}O*95p=nNb;7|1FZ=wUISwi&qP zFi_HMV6@kO&u`$hXrOl3zy`oS9Rqjn87TeGz}QCy0#6LQO*K&Wg@J`> z1`fP7kp7*4jvowc{bV5di-AJl4J75R z=Q5HruaQ3ajpz#+xmVaonPNu9moO46W#oOFk^1F~ERHvFsG^aKRg845W<*xQ$kkd# ziqthStiBOvLnF@{8>!aJ$gCDdcD6F|tBsLX?TxJKXyj~XBe}a7>DR-Ev6qnteT2+k zi;*mLBi)@wRBj_Ty+%p|jEo8z@rI4Ol8n?!GBR(wk-a;O{M&7$-996m4j8$3$VmR9 zMg|=>VmWE#@o6I!&l#C|!AR_qk*~={nqD)q@`jNUw~S=FYozCWBbtXsZa*?o>Zy@2 z&y4tA7{(m@w2tXt;?FBTY0IV`9lT6Ne|5$TZnRm#HS?(@k8PX`<*H z6T|13a4j(LVv&jJOHIsPZerI;6TerRXuZzF`VA(|Z8DK(tBL+H6DEa;hbj~0wI(L% zO+<_)J_#loSxqdnn>gw;k=bLSo6m$YVB$v5MDd7;kx>(#Bok@dP1M|FV(uOjd-j?5 zd%#57!zMN!HF4p%iF~I_3_N4Pe9pw93nnUDHZkRjiRd*GUv8Laa@)j;yC#m`H<2~P zM32WN)K5*^dS;^JOB17Cnee?a@%o*K+8<5K|7>F4R}=g&(f*f-&3{Z>`e&j*dV#?i z1+4!GJjo(ZDZ9Y5oB~O?1-|7KXjVXARUv_sMFg@J7wA<|KwDbiP8osHAKyIZ#Ked2SEAT)s zP|hSU(JT!oojMyRI-X-vIk3fz60&@-u z>^>~;=cquN69OAf37kJ8koUa6fQtgcWr36{0`b=cCf^j0ZVPjQW^Pw7Q>wC=F;&g@ ztDAXK(@dQ@W){>lv%i6vbdAk)XliClb2FD)nkm@E%#e0wY#q!z?PR8MS2NSQo7vXW z%=g}An)fradVrZzgUsYeFw=XO8QlmocSo6t8*66Vcr)TeGw&vwsW;8cq8Vlm&N7o> zu9;5r%_J@~b7ira!pqDIU17$t%FMGhW~#0?GjpSv9h=Sk+-jz!+{{{~nKNoLxpZdw z8q63>X6~EKl(m_e;4l+%nfc%`)4*?LiD>3<$V?{5OqZA$`8G4xc96W7A|D9kS~XYfw?T0^H_M4&q9TQ7N!)o5G`uqOK}TLN?BMDXW@8R3t8hW^r&b- zUD?8|suoJturRuo1z#Ntuj^T;-O$4P#uoN9wLl9C?OR#c+{VJCb`}bBv@p1{1#4Fe zPr6&E)XT!OJ{FStS@<@k)DK%&ELk`dvygGSh0Z%I$aY(} zy4OOH0~UrIvfw;o;rTHO)lOQNb=tztvlf1xx6ta6g>}gm&R(^U`-X*nw=5X%Sa@*H zLb-<)CO)zdeq!Ncs)dFxEG$j4aOAax|K3^X`oV(YlZESFEEM~0VZ=`h?%x(({T6``P&l)_fxi&>dm!irSN%I7#MjmueC z9&hDXMJrjVSm|EPimHZ{o3*TzsB2|ZeJkFER$eu>QmdJjc`dB$ZDr+O8!PSFTiMjn z%EiuB@^`Z`sD~9xFDsAxSgF|G%G7~YVuP)GO|a5*xRsS7t(+KbCEGYFJttVvOtNx& zij`8+t&Evz#XsB1o4Ho%EU>a*k(K>RtfX6RrNc@qTUJ}Syw*y=4OWJ1vSQm}PQ#TCj4;VkL*&N^hqXo!iP?ua&rfm2p8UV%W+%$x6K>D~q;U zIk?kGhCNm~?X!}2z{-_FRtg`rGW56=$4M*CPFtyZ&dSUSR(4#n@-x{=%WGEF-mr4! zmX%z0t@OQb#qiL|{YO^HKD9F8nU&BBD<9IVGELI z=pQS?|5jq3l|n4QJOu531b=djT_w~h6AZJf(*BTpe4{fpQz6|?cMgpKm0 zZA>a-BT~-Br+6EUD%n_8#m3QUHZs?=(XF-(WnCLL>f0#Z$i~PfHayL2q_wb7v$c)6 zZEfsnZ{u%A8*RJT*x1d+g&sEY^|mpvuMKm58;=Iss4&FFl%Y1F!)<&SX`{&)8!N`y zI6lEf*2y+{Otqn&ZsXQW8ztx17(LI1Z-I^1i)_?hYGeL#8~aw;V2zFT>uhY^VB^vz z8wIx77%a14RoHljd4I3?P+gNkg#_9Vua;Dhm^Vo*|sf~NjY?OIvWBe-{!8bPEzq3*Qqm9L%Z5;Y) zBjXPnoqySo{jqWNpN%5v?F`Fk$N8U~=UMDj%Wh{@PCGku+xeB(POAcT))lgIwuqhF z#qIPfX~$UF&Vw>`%9Xb>v4Wj&B|9Ih*lAeZ&eEE8j?}jEUp+fr8`x1avU9zOonp=H zjA&`c-P+E}wsvZCursHVo!wpR{OM+=O;0-;dfPeQ*G}F6b_NWxBMh;VGSp7|2s@KU z*^$QB`8>`}~x=HM>WUJ&3Sf8EVMIfu^sPHJFk}8skO?^yft?A zuCw!RgPnGp?QGg==c3F`ex;p3YC9IKoyU4R6-{=gn(f4_cD~x}G9KRdXD6Fz zr)S8HCSvDy)J~~wcE;?m^Yn_H%Gd2oziDUNZ9CuZ+G+m4&gv99rykqMk!q*+b33}1cJ98i6Zh86xc7F% zk9OXDwo~t$okc(F9QF-QB^io(_KZcF?+?gY^R(oEzjIPlAK~ z!yK4KICwb9LHV%`CXIIxndsotWCx9=IaoHs!O>X`GS79;ZN3BLLI*b%J1D-)!N?U3 zJgXd}t#MFuy@R4Af9DGr)Faj+`Y!O7m+BqlRg!l=qo$9SJg?G8cxR7auTfL^ zvCPT!6;6t+b~0kE6Zd*2FE=`=vBk-pL?^rDPW~vJw9z=(pmTEG;3Ti$WPrtqU~`h< za1!r!GTG}y@;mt~I%ynsvRra9;I#KO*a&xbf5(k`&I^@KA#L25;PHLTW zGVipLy=R^LJMX03B`2Gbom{-?B>xR3gKjyo+;Q^wo|B3XolJe?B=*F~*HkA>UpQHr z=H$d{C)wUP>G{El=981#U!0Ws?qtkQC;s0~-u!h^C!LE08C>ko*pkD= z_38I91U_jw&vCS977O;o@#B z7jbo6jH~ZLZ0O=$V;A+BxmeV~#lcoCGPHHkslAKDjxMfrc2T&Si=jPSIC{Bw*2hKF z{w`(?bg^Twi=PQDS`K%ycBG3lqg~`0=c4Zf7luhL?oV-1cDjoRGhKvcyZA8IMS}${ zmMn5{c!`Tl%UyI?=|aBR#kI9Aif(W*e3J{;78frPT~t@Nn5}ZLOXK3V&P8jZi}iww za~2nQ>@NB{U6|Z19(rAr54e~VbP)-=_$0Y#l;mRBb{9u?y2!l8MYnw}lm}egIOL-E zQ5PeRyYQTJk#^ce&2uj1UU0GJl8e8|F4|smvGInB3%6Y4yX#`$eHZ43E*?E{QQ@hJ zDbHL)U%2>^=Ay|P7c1VmIR3#!*3T|_e08Dz?&8)@7bX9=82!(MFP)p$8Qj$V&&~WS zZuVt!LrypCbGzA`*UhE;ZVD7~Gq{KwYcV%ZO1P<1+Rd~wZj#Em`4;b{StU2Cs<=5> z%}w^2ZhF;rqpj=aPJK6}8@UTW(;++eYl$+Bi*zZ<7Uk`H>W4K$vN3gpQ)7{*g>88va zH{<8I2`+H+evzB{OWiD9?&i=+HyPKs>AcR3Y=fJto7@!H>SmbCjZ@*~xyns7t(#eT zH#?1PehF?`S>3F&yE*H0liTB_pU;gk;O0TlO}U7hiBUJWSe17Mq@kckyKf5{h)lHTkZo2<+qx$3K=07(j(t8+{ z(S!Ft53jO#sFmHryqq5P=JxO}uZMO8JZviD;bIXF`HOoPRMLZ`w1>xKJX9?2VQK{r zu}U7kR`JlZx`&lDJ)EfRAzM8UJsWt?H1cq}iHB0nJ&bAT!Qa}$o3vht-okoSNz( z#|#g>XL-=g@o;yZhq#3v#x3?BF7@zkxrchIJSd%FyUoLd9Uelv zJbc*Wp}~F+OAdNCeAq*#V;;Jk@E||s;o2DwMbCQ}e$j*LvWFK}JXF8#VfIZAyKZ~< zeb+Al>@=%sjOFC(*h@nrXsmeWhkJYMGJ^RlOam%oL)v@PmoV{tDRN_xo`=Vf47 zFXr-I9#!yCp|Y1LRlP*3d-+n+OOrZYR@C!yyn&ajjlJ|}>P6k$%dM7PO1AMbx}6ta z2QRNXd8ysi%lz(M_Vx5aA203udD%R`%cVhH3M6HuUFhY`VlSnac^SLHOJJ3kw`;uAUGHV#MlT08dr6<@ zrK8--R;8C@wUvzID1FEboow!6Ii@OWwA_p(OxaysNCr{twi%!_`T zmwP+Bl-ccN{9Z4?{a)T5^iuzbm&M1t96I48<7qFQ&w7!a_j2{3mmlb4BKyoA4b`S`<2 z!{1(({`GPMAOB_W(KV9~MP?t@v-&8O!^enRKHPbHyv*mLMnNBQ3j5ey)W@IVKH8M> zu_4aK`LaIp#`_ph(T7mkM@m&6@ilx*uH{3j1-b>=lVD?-$%AZK6)V!)EjG)ZwGD+sAaTk8OS*-$ftI!#-9^ zK2F7an|XeH=XNBf|wBoi6!EO!jf* zs*l1qdB6Yxc|jR z+3!9k{PYp}?c>8=9}Uv^S(3re;Y@xqW%1J`n;&@&Ki6{kDVo>M@ce#U1^v7z?5BD$ zKeJ2t*;UHV?>IlL%lTO!@8?`aKY6P7>0ix{sfM42wfvN?>t|AZKaqxhJ~j5!sF|N- zE&Lp9Y&+#RGvM%@2W2GPUYCpHu z`YE}=&*)8ld|UjyPV`e-;b*?e&pwSG^nThK{cINeT(bBnVD~fF>Bs8!^Tg|?Qozr& zpr53$pKp?%W=VclZTE9>r=RS5{Pf!AM|;4}okM;~AN4c#xSzmDKW|U_se8`P!V7*5 zT=J9til2_x{A|79C;672LU;Wn-1lRD=qL4&pDIuN%y{N!`wKrm()_e|<7dq~Kc_$V z$@$q&pRa!O-~HVC>8H#eKjZ)T38oA1K0|=|{{>i_CBUI<0W#(c&^dPiS>6Cw^9LwW zD8R5H0i4AGJTDQTTIm3@$^_V1F2Jw&0IezoSXU*$*=hlD*9_3Fb^v4D01xU1DAy>! z#3lj4%>sOE5ujn~0885jIMP1Af1Lt!?GixIEx`320gCkwFrse&cmDt{2L`AyB*2`Z z0d@}$@MmOzHe&*87#HCDgaCOb2N*ClfG|Bk%FF=qa{^4B7eHDN;PavYjh6;kzC6IO zl>xG>3DA9A0M&*7H#Y?+u{FRbSpcshz$;aNTG{~f^a1u71N;*Lw6g}-WDjuB86dwW zz#v}$OCZ4GV1SB|08^s@Vo3qMZV%9OSAdm!0-V?vAltzJJr4)a91U>$cz{x;0*pBm zz<(~ln+pNzTn@0{N`U>>0;Ibcpu_C|TkZz9d_O?JlmJ5>2e3U2@bp=L$}a;;!0OKdPJIoK<41trzXIs~1i1SzKwNr}aT!I#|3uzp5viA5WKm9$gSkaA zT z1|o(=BKMn!lx;3Dp`}QuwaACIA`Lo-Ea@b2xQj@p?jl`!ipYD5Twq4vHKQf@O&WMye zFEaX~i0`t<>nkF)uZzsTDYEaj2=_$VKM>iRB68`mNP$$5!OumkFGZfb5~=i7WZHX? zq>m!sK8rN_CbH^>$jM(K+5d|4B8WD9kUJTJl+GMvY}O!w>_Oh<3{p2wkcIhz94HVZ zec>P-iw4KWYYPQ76cndO=P%2$HjL zkUmX==$i+**D^?%HbKU>3li)QuE3oEYTS`XEa;205}h$bX4Jy2^tnltHemgA~&R8DR+GHU)WU4pPGwWR4@qZdZ^$ zo*-@fK{kj%&WD2Jm4Xb21rfFdN!bx3es_?`dxJ>(gM2<1r16m;%Z~*)b|OfY(?PnQ z4Wc?98A+z@Bxhsd=kMBgPL z49h~?UlF40>JSswh6t?>@nK_#23tZbNeppV9wL(}L>Em6xh}*tLx`e6h~btHE?bBf zju6$|A!d6+?DB{BErw_v4zXSeaV{1j&-M`gcZM+S4)Jhri1G(QOga=IawNp3V<8%y z46*EVh@)piWWErh+ocf7DAJaiVR_nX9|-wOPC(n!l-kE zxs@wS$-H4k=MUp680K~1Ftv+?nO`EzzEWW*6Q+H+Fq`AUT&ftRK$S3qtA(-F2=k;? zm`ZiSOsgLzsbQFJjl(o+7G_n8Feh7u$=)_hul8ZI9mCw|9Hw-)Fk^d!3G@o{womQd z_g7Qt+A#j-JacB4GdOUpfV6Q?0RbZ*CDM+fpn#wtAjL2ONvJ^+2!#5~pfV^(3nc`? zC<0QW#DJk?6e%H1N{FEZkrW^Vgb*OKe0|=(;rp)j{;;$5y0iC6e!ACnefGWf+V^#p zb?o(;>S&7o{(NpB>(PR(J!8D!ZlPl z7AF|K?q$Djoa?Q)Td{nO-F>&=`}d5W9`Ur)WbQwWo-t;0Nbj$_thLVmcl5E@=qEp34|2WDvwokwaj-Sv z@kf&TKd-m{*q(CPh-3G@tmokFobQCELQeK8Xz&C2;a`tb z=-eF~`>}1|Ac2*01LOH%LH27*(7$JQp8v=!b-CSb|GvKXAhId@W6GU>PCxoF(dNpZ zlgIB?nEvtd&##_GpAoFz|C;t7v;Rje#=#2#1}7&Bg73Q+EoGk@(|C9A&#$JM&!SGg zXGA>Ey>>7ik@xLIq6g%ZUn_VTC%Er^OjCC~r;~e6ne?Ew?pF`n!zbd;zRyxUcs%&& zD}mdCUhc2q9a_)m(jV7454KF_-8g^h{nvqm!CnSkNynaT(|;s|T=^tF{eC6!U|>eh zt9{f1REU8wp!DCxk&Ah$%Sh=E58-or~?8qml3QOElgU$}e z6n|*2I%LSb7CvJ%98G$FZv3E&yBt~b;Wqj5e@s^WKsUK3Uw<^c|M!^!{)yq?Q?EG& z1xrOnC*4jyIJtB%d+g=q;@Cr$=&La^r&h!AEYQE4y5E_|Ue`p-t9R zEEr_I|NQdT)(<--hvYG|jqEXU z{pqrTcn{lhrP}DRD+OZV_WG@n!H~=S(!90SOW5PZ)r|V%&_uaWMwCmWkKxdxTRJn}XgE1a&@k!YQAuQHn6xpMR8Kar># z*hBxi>GJcFFS-YXoR>!AeixjL;}Adl=Kl4kBZxrkb<5|$6-Q4gr;IX1uCGmV){^dH zAJdSlRMUMn&Tdl+9G?w&K^qj#k`2N|SWgFQQ>>3oE0Jfw}nUT8B? z)w#LR`TT{y;cN_(;uPN1#_tAIAn^>+GK2;_E`U`9_l)u8Q<4 ziQ02a5}NzO;2rD9$r7%Ww_Yu^G||6%75mI<8jp5yN~Lo_o{U zHRoTH&zPnSYp<9C>>GZA6a8snB@iqt1F7bAdd~D|2B7h?>2=;Ql8K<_+9G z%{%>a?j(fnwrEr*^lD192W+|LT?og_x7#1zjXFGcw^LJS*IzaUc6kw<<24<2e(`8n zK$WKJPT!#YIhXc#=GcFkBMv;dnHru`P#u=k-+xtGzgqM{6ZLJkkEL1vjF$NX>*?!n zTYXezVS=C|VV?^%MNo6S=09)VO~^5h4!g`9*lIO*DKaznJK1l0Hm|_BnKTu`XAMKhmv8*ZUHs4T${X1vaQ74RaWX{{v<#(z14=Xu$r*-FOe9dCD z4`pa0myrU^nWudbXp8=aQFBj1Zo%HA97t(sL{Zoj<#_dau4Y(V-;Yz-s~eD<4)rk8 z)FX3$7ilh3_04bn+CTnAlST|XlB{7c>wI9RPP0BF^p-*|te>qpnK7`nYUA=G{#p|) z|HFdEH36gWa#hT=dDO}KApb+qwbOg-vrccKe}mnuUj8$7@>{#4|2>KtUi|U6k~|(A z-PabYeROG0n&vrop5^pbJgUjIg2Anqm+Uw%KC`@N4+fu#8N^+y05N4#! zu)?~FwT7O^eui#;pVdl#?@WmuewNy?b>kQ$%E;B!68i<|teE-9IUr5=tb(+7gK#^| zsHoWr+sxG(`dRX`u=3|e7TkVkUdHG%`&Wt^>7S5B^jJ%5QMQ?-6q6AI^&1zn+;U&);}@A=OA|khS)$v3Y>(?X!x+_csU^B8_}1 zE?{H5^oOWyouL%CI+P%Lg#7%yGiLtzv)y>w4ZpXkMs*M{md|n4Qg%FxLH6Eg+15eqAoUy<RC{Y|F+pc&!Al+bb?L_G)VoIb?(^8j5Un8z@n`6`O;#&+ z(wVX|{Va8F|3=Afgwa5n1$GxLklRVNqh{6>m8F`jX7``PMbJm2k88c) z)V|pxetInZMm0Fu>Je%quov^~F^osY{=K$|d$!y-`-*lOT~bfj=mO8wk`VmTC-fOID zQ{m*L$vSSRE}rtqk_i@ial1{kF(}r({RI9!e)n&-s1W;#@6PJ7GE3FP114FdU8`QO zuwynpPLq{nqXwT-9uPkcdL$c)?ZquT{Z>_!dvEzI+%{y&rlLg6jH+ zG$ z9)K^-WRZH6k7QNUN3vO`UR(yFK*wU^>Z5*L8gVW!T$t^G>_2IsRT*>g@O5w@vrdm@ zHTqPLyWnau>0!W2DJht;oV?nD3p?q~bSRt?>s|}nFUX;MygD8feo_NuT_`Tqq`h&^ z3$KH^BI#=eiln{*)3-xc)q-MA8bs#^Hpwoniya2w=)D5_w%MzvdEqC65Y~l~HceVk zP;U6sSl8B-4FgKtKtXD|>}m-w_N3vmdEq$3Kr3aYAm)|w>RE?-Cqa7lg$wH1w6m@` zg0^axwFPs7fUT_po%>&|J~qq~WYj$kms`3ZSpf!^FBJtI=>4m0J@-!91lt!Tp4FuV z`{#r!8(r4^wlYx6b`+Ry5(_F)=dNB*YSG@dKMk)|J{7FlxvZ_-F~F_z3zpEztB8zy zC##(73$J9kB5&P2DIB@F-;fi|+`h_+ek!QnxLP}(8$S8&>i*vRRenn9NtwM>;dfP9 zG-r0MpiaZ3^*!AHEaw!gL-c7|ak=3|i7rTCiUCHRS-{v`y}Gd#e=_k~FC-9EhxTPA zM^Lun;=OnGq;mIsAvr^r_B}OEfK%p%H&9($(|)2vGA=o4cIGSkO$49+^%Exi`K5H+ zi~Qo#Ai=t^s+Px{!3U#9TX_c_20QqiAhNv&n@Ae1+=_=&4v8m1*g=DZsz;DhmmZF3 z7>DQdsRks{E}aeR$QPHGg_j@wiFd!|5&}|_pXX;1{=1bbI9__`5!X!6E>{hJR$pRG zy~ua9F$w=-rpgPITxywa%eQFO{;#DkY!TApsskJ~f~U+7i^-<`QszN29=e(_;b z#?=$0I(~zyu174UhaWDb#++!^3mG&tJl6Wr_@PdE;E9KpKPl##F8SHD=abkV!K$h% zZoTkQTSrsAglHs?HvWW@OC%ZOSXFRq;MID_U={Py`1}zhf|zfp^3Y@d_K8XRn}bxs z8NoFCC)|$Wl3LR1e3g*1f&qWkfc@M{o|wk`WxIzto9QRCGj0za)z?@Xs(Z*-zjC58 z!*@`3=Ez!K;zQGouoJGz;HyIJrTzWxeDc1jV3(?jxzOhU_A{T%^vyWkS z-(2N-AfvZPLng!aHQ8P_uebQz`WI^0auz6H&|ej}=kR zLQ8JHDGSp8)wYG32h^4&l$eO#AAO8L*M!zW$Yr{IAdyq_G1=@yAA<@p&x*Oh_~_EN z+i}g@Bo4yR3OZ)lkzjr})}JA=JA(RFu(Rv6yE#b;VenIqq1gPsR8pL|yY3Cfs>;z( z+ZSc#>L6IR!4t~Xd?>-Gtt`^Z2v%40m?Ff6IyyF&ea|)(y&^r)0=JjVut6}+lgD65 zVW?hbQ`xl^Qy9JR31xXAl;6=)2HwBJ=&?D9nql^(CPtgnryz{%#ABl!on^0AOkkNR zk16ZVLLsRy$`)K7^J;E0VuhiO&BsXhs>=)l`;OT4?GpVNi`9JfUK%7h zsc-6Qs`*OSZALKh2uT^;XaCj3+^Nf#fm}I;THEQ1cQl1fc|GRMlS0obpO=+V&%pZQ zp75kQp$O&cGIqvU*zn9_@M2!*P{uJCcc!li>|!j=^&Rq=!&>xh)x_A{HC7VdVmD8l zK?%lg;Cl_;dgZm)s#+81LoIi3g2+3WRARBOQxjw1Z|u+V8ETXjTgd*XS$ciXIPq-Y zQ0bG>)-CTE9g>GJN9d-2KlC1lP_U|gWo!w6X? zWSF>P))&1`_q1Tm5Jtj@jM6pH^%_RHyYbGH-%xjZ>6)~%#x%{#*l^0HYfAU+b zJj;y|{sODcZ7%C1lZnt(*yzm{mH0`anQtGW~Cd?af3y{*hS?L|vfhsfTh=v<) zvBtY4qXyd^VghB^xbs$|-pd*7*p(R&l$YlQUMTXOs4BK#mDa>;B^Z~c1r52+lv?z9 z)hunh8!PvkvFv>#XaUs?yjJDy7KW9HZws5u5n%Dt5LVIQ5=+HNVT@$}SXutOBC+la zd^wU1{%sqnSMj<+AAT0D;0=MHPmvv{VoQFPFvdOu>~DITWujVYIT|Wl>bVR~H1%a^ z(6OXXYeJpwP;hZEU6H~;jt5p($hc?33kgFwPYl%~|o@bviEb2~usMp(3l@ zSS*$f1>7G%dQMU*_FIG=uUx_SWnY%>4pugiE@U8o1E=T(v+iV-$T+h?)BCr;1A0E5 z(zi%tC|FVv%z9W?B3oJzdZhV*?J9g&87vcVuj&v^`30#)c~kL>PFKi>kbXV26_za~ z@byQ?(;crXm`Wd(RXbMJA1h>_UBM|czAT4Ltc;l^G?o7b9&ifw40~B&t}1NuKO_F) z24-`IaBTrBPbm_yP$Iiet@vKwO#Etqu7zo>n5jAo=ZJ^El7~pWl=_Nm5HmQPOQ$R| zk^JP&3NYUUKBGQFS*b?$?7XOeI)cO>K=jD8JFHJL#iV!Y!r*NmFlgVKwN5Q1(Un6K zDG}+oS6A_Hph@uOYZK$AK{RDQFjBFI?%?V*jepU%e$<)O&_E_ov&keM2EAuReTr&IBy_;MQR1 zzs9aFZc1}GrBUHavlQR5;3$e?GVY$Txf4uNDfP3MIa;if>U%0L*oOw<`nHZx&w%&( z-F{HkhrbUp;Vn^%gVS735odg9O`CqL+`Zzdz28oSI0e%Rdy94aU%r4egy%$^l8l>B zUIx%mQn%U#-`2Um3i0~Qg6aX2fY0@AYH78Fv*I%f=|eX^45iRAq**Y`HNkB)yR{|N z6-LiA3Yh9=aC>uZ8;UoDDNaPeB*-LS8}H`1)lw)@FV2ypPDzx3v{O|7wfD+1xaAc$ zw5L`3(*UMnm_O-b5=Y1JqSeFf21Qt5lpnsUoK)8&TCH!y#dk!tl|L(&z#Bx;fCe0D zBWeRrD&G;eh;}fI0qEbOJOf{rZ~V&1AthO9pABF_-Th@FtsKUyOIDpNx0o6J^&%3d zAt0O?^)$G%e58Z3OG&qij=9C8;BUzUFpftL)M_&34wKr}ESi=!;!^6O)IQaet0Xpx z1{}UM5nGA!c^_l7OPSJ$Goa9t%cbxlxCWE42MBTx_jtmGQ31xgQyrXV%~`Q@Y%u&5q7 zqllu!{T|p8^s)qctXcS>FFMjJfc}X-*7^=f4(_;Q25PxQUvC_5r7x1F+F)i?EqCbe zB^>03AIL{+8iX16vDR%7xq<{W^NP7c51-_;%GJnIuYAl_mb~e~o!nL>fo%UO(adQn zh>lblL#|yU$E(#tr+TA#^MiqBojOWN^O~XkhogAX7l8<;ni95GBXrm@8oam^I3yll z<0{Ban44zeJKl7kQjSGmF*znB!A#lHR>(}A8D)RK2uWRIp1ZQW)XwxNrr{IBBUK_ z5%aG|6zJ9D5=aB#a7ld~CD>q}luOVDu#iP~|Q5fx2;$WI?{W$w+pz>m*!ZHHrsS7me@SVpo-p zk@|)5iWI1W7vv6Gz~zvbKg)L|GxDw!9|zQoH~Sy$9NA~7d^ZX1K%enp8*g$()BYl? z>b1b{1Rkes0;1b;0 z!{oMVQwb!}gsSmrZQS z8EZZcDf`~+J5-L0qc1mI^>-N9_wkC&aj`%fNOC3zAI{mVEj`HfaJXh*=P^E*Q5zxX ztv`;-m~c_U^%OkQ(pDshT>J>l1(u?S@c0&&)8*|2OmUo`{CjOo*sKdIsHvd4G(teA zIj(@=TuK6a3g-M{Uc5#cgtd$hCP$w~t_J4XQ#}nvTV@75wXKo#{@m1W9jH|i!-IE& ztSnlu8&Ko8gAI1p$Z=M#eOt6a(bDi>Ns1M6+A+6_9Abdd`83$0VuPG{mYbTGWI)&9 z3}z3UAGy#{@Y*XTJhMofvOeYlvF|QeU`K_QqK;FfT`rE@e-%6gAq0QAYa2uOgUXhe zaC!7`u(-p8@b*~&4G|MAQJzQkn&oz(f(%g8!-M;YR%?Gd_g<^%{3Hw@DFfAnyJ+=mWB{ z=xfZ4*-17~rjrUb`G|1B=5g@XOc%ZFmjzXhk>L;7+F&`|B{{^#Vm~oAX3g2ae}8PS zk$T=jwvxNFN_AP@Z7cvOBg0qC@nF~ztYOYt#@=E!Io!0=@EBoO7Fk(xu*?{z1WTLi zlMIzn8_O9FrjEV4WgcUk0YaT8jZ85s9OEoA6?ojeXE5ua7q~`^Xp#I>IWA!Vwh`Ed z>nx2ENsi(Jkj1d4LCv`BLC*~V>W{yuR ztT)-R)C&LYjW5Q5ZWvnkyllo5uUJ}z9m6!>45}h)*MluHdOk9agKSXCjZAw*vSksK z!?0dCFC%W2V>UCt?a_IQ`_3^|^p1^JtkPj6%37RHPju~$v*q006r-PNjp|!rcCAri zu5G$M>ptmzkR}sV)E%Y;jVEICVA1XwxXq23X2f-;{q`m zC4QpH?&3^QjBu6`q`>g~{DS`~9z7OSL%nKp*pxq1>)wXsj5K$(#h8$qJ`NE~$Vl#) z=2UW^iF*@o=yi0vcTjtA%*UY%+GOPH>1O-R027}$-jG^Q`&w0OkmBBspJ=AO*clxO zjcE5vpRO)0-b4s<(t@<6sm0l9QBaw4AVu`bk8k_DnD-O`T?q@Kh`0QDz^{vIJR^l$ zqk)kX!$W28_EtWnIXE@lgdOr}=uPRH)=_Bl6!MCReh6pi4{jUsle{@+x3PF8E(XfM z2Z1HyetJ7`CPh=cp_0UQkmdsRh3XT?F_FMWQGLG5c)|Db@qTt613vDlCw32ogB z;%)c(A-3KYCpyMLTR?$4Wuu?oR&B9?Aa%GLSwBln_9WN5zlx`=FQ!yyg@MZ)8tU z_Mf2n`wf*~YAl?(GD%SmpnH^*N@zy3_=VF%q>{(7RlXt3YE}kY`x%0AM`;J<5?dt? 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 R)qmx_xEk_bfrJ0`{{f)SNHG8a literal 0 HcmV?d00001 From 5a57d6c9a30007aeb27b4058fb292be2824ee195 Mon Sep 17 00:00:00 2001 From: Caleb Robinson Date: Wed, 22 Dec 2021 09:06:39 -0800 Subject: [PATCH 04/26] Lower headers one step on tutorial notebook --- docs/tutorials/custom_raster_dataset.ipynb | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/tutorials/custom_raster_dataset.ipynb b/docs/tutorials/custom_raster_dataset.ipynb index 0c58b34717a..a90792f1303 100644 --- a/docs/tutorials/custom_raster_dataset.ipynb +++ b/docs/tutorials/custom_raster_dataset.ipynb @@ -22,7 +22,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Setup" + "## Setup" ] }, { @@ -38,7 +38,7 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Imports" + "## Imports" ] }, { @@ -63,14 +63,14 @@ "cell_type": "markdown", "metadata": {}, "source": [ - "# Custom RasterDataset" + "## Custom RasterDataset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ - "## Unzipping the sample xView3 data from the tests folder" + "### Unzipping the sample xView3 data from the tests folder" ] }, { From cbebc1e0dbb77fe37ce4bc8116792828fab8bc27 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 23 Dec 2021 20:10:50 -0600 Subject: [PATCH 05/26] Move DataModules to torchgeo.datamodules (#321) * Move DataModules to torchgeo.datamodules * Clean up local imports --- docs/api/datamodules.rst | 105 +++++++ docs/api/datasets.rst | 31 +- docs/index.rst | 1 + experiments/test_chesapeakecvpr_models.py | 2 +- pyproject.toml | 2 +- tests/datamodules/__init__.py | 2 + tests/datamodules/test_bigearthnet.py | 32 ++ tests/datamodules/test_chesapeake.py | 52 ++++ tests/datamodules/test_cowc.py | 30 ++ tests/datamodules/test_cyclone.py | 30 ++ tests/datamodules/test_etci2021.py | 30 ++ tests/datamodules/test_eurosat.py | 29 ++ tests/datamodules/test_fair1m.py | 30 ++ tests/datamodules/test_landcoverai.py | 29 ++ tests/datamodules/test_loveda.py | 34 ++ tests/datamodules/test_naip.py | 32 ++ tests/datamodules/test_nasa_marine_debris.py | 33 ++ tests/datamodules/test_oscd.py | 62 ++++ tests/datamodules/test_potsdam.py | 33 ++ tests/datamodules/test_resisc45.py | 29 ++ tests/datamodules/test_sen12ms.py | 32 ++ tests/datamodules/test_so2sat.py | 33 ++ tests/datamodules/test_ucmerced.py | 29 ++ tests/datamodules/test_utils.py | 25 ++ tests/datamodules/test_vaihingen.py | 33 ++ tests/datamodules/test_xview2.py | 33 ++ tests/datasets/test_bigearthnet.py | 25 +- tests/datasets/test_chesapeake.py | 43 --- tests/datasets/test_cowc.py | 24 +- tests/datasets/test_cyclone.py | 24 +- tests/datasets/test_etci2021.py | 24 +- tests/datasets/test_eurosat.py | 23 +- tests/datasets/test_fair1m.py | 24 +- tests/datasets/test_landcoverai.py | 23 +- tests/datasets/test_loveda.py | 28 +- tests/datasets/test_naip.py | 32 +- tests/datasets/test_nasa_marine_debris.py | 27 +- tests/datasets/test_oscd.py | 55 +--- tests/datasets/test_potsdam.py | 26 +- tests/datasets/test_resisc45.py | 23 +- tests/datasets/test_sen12ms.py | 25 +- tests/datasets/test_so2sat.py | 24 +- tests/datasets/test_ucmerced.py | 23 +- tests/datasets/test_utils.py | 20 -- tests/datasets/test_vaihingen.py | 26 +- tests/datasets/test_xview2.py | 26 +- tests/trainers/test_byol.py | 2 +- tests/trainers/test_chesapeake.py | 2 +- tests/trainers/test_landcoverai.py | 2 +- tests/trainers/test_naipchesapeake.py | 2 +- tests/trainers/test_regression.py | 2 +- tests/trainers/test_resisc45.py | 2 +- tests/trainers/test_segmentation.py | 2 +- torchgeo/__init__.py | 2 +- torchgeo/datamodules/__init__.py | 52 ++++ torchgeo/datamodules/bigearthnet.py | 178 +++++++++++ torchgeo/datamodules/chesapeake.py | 312 +++++++++++++++++++ torchgeo/datamodules/cowc.py | 123 ++++++++ torchgeo/datamodules/cyclone.py | 171 ++++++++++ torchgeo/datamodules/etci2021.py | 151 +++++++++ torchgeo/datamodules/eurosat.py | 148 +++++++++ torchgeo/datamodules/fair1m.py | 132 ++++++++ torchgeo/datamodules/landcoverai.py | 122 ++++++++ torchgeo/datamodules/loveda.py | 129 ++++++++ torchgeo/datamodules/naip.py | 161 ++++++++++ torchgeo/datamodules/nasa_marine_debris.py | 140 +++++++++ torchgeo/datamodules/oscd.py | 214 +++++++++++++ torchgeo/datamodules/potsdam.py | 121 +++++++ torchgeo/datamodules/resisc45.py | 123 ++++++++ torchgeo/datamodules/sen12ms.py | 202 ++++++++++++ torchgeo/datamodules/so2sat.py | 225 +++++++++++++ torchgeo/datamodules/ucmerced.py | 125 ++++++++ torchgeo/datamodules/utils.py | 33 ++ torchgeo/datamodules/vaihingen.py | 121 +++++++ torchgeo/datamodules/xview.py | 121 +++++++ torchgeo/datasets/__init__.py | 56 ++-- torchgeo/datasets/bigearthnet.py | 170 +--------- torchgeo/datasets/chesapeake.py | 304 +----------------- torchgeo/datasets/cowc.py | 117 +------ torchgeo/datasets/cyclone.py | 161 ---------- torchgeo/datasets/etci2021.py | 144 +-------- torchgeo/datasets/eurosat.py | 141 +-------- torchgeo/datasets/fair1m.py | 122 +------- torchgeo/datasets/landcoverai.py | 115 +------ torchgeo/datasets/loveda.py | 122 +------- torchgeo/datasets/naip.py | 157 ---------- torchgeo/datasets/nasa_marine_debris.py | 132 +------- torchgeo/datasets/oscd.py | 215 +------------ torchgeo/datasets/potsdam.py | 121 +------ torchgeo/datasets/resisc45.py | 116 +------ torchgeo/datasets/sen12ms.py | 194 +----------- torchgeo/datasets/so2sat.py | 217 +------------ torchgeo/datasets/spacenet.py | 4 +- torchgeo/datasets/ucmerced.py | 118 +------ torchgeo/datasets/utils.py | 27 -- torchgeo/datasets/vaihingen.py | 121 +------ torchgeo/datasets/xview.py | 116 +------ torchgeo/samplers/batch.py | 4 +- torchgeo/samplers/single.py | 4 +- torchgeo/samplers/utils.py | 2 +- 100 files changed, 3978 insertions(+), 3500 deletions(-) create mode 100644 docs/api/datamodules.rst create mode 100644 tests/datamodules/__init__.py create mode 100644 tests/datamodules/test_bigearthnet.py create mode 100644 tests/datamodules/test_chesapeake.py create mode 100644 tests/datamodules/test_cowc.py create mode 100644 tests/datamodules/test_cyclone.py create mode 100644 tests/datamodules/test_etci2021.py create mode 100644 tests/datamodules/test_eurosat.py create mode 100644 tests/datamodules/test_fair1m.py create mode 100644 tests/datamodules/test_landcoverai.py create mode 100644 tests/datamodules/test_loveda.py create mode 100644 tests/datamodules/test_naip.py create mode 100644 tests/datamodules/test_nasa_marine_debris.py create mode 100644 tests/datamodules/test_oscd.py create mode 100644 tests/datamodules/test_potsdam.py create mode 100644 tests/datamodules/test_resisc45.py create mode 100644 tests/datamodules/test_sen12ms.py create mode 100644 tests/datamodules/test_so2sat.py create mode 100644 tests/datamodules/test_ucmerced.py create mode 100644 tests/datamodules/test_utils.py create mode 100644 tests/datamodules/test_vaihingen.py create mode 100644 tests/datamodules/test_xview2.py create mode 100644 torchgeo/datamodules/__init__.py create mode 100644 torchgeo/datamodules/bigearthnet.py create mode 100644 torchgeo/datamodules/chesapeake.py create mode 100644 torchgeo/datamodules/cowc.py create mode 100644 torchgeo/datamodules/cyclone.py create mode 100644 torchgeo/datamodules/etci2021.py create mode 100644 torchgeo/datamodules/eurosat.py create mode 100644 torchgeo/datamodules/fair1m.py create mode 100644 torchgeo/datamodules/landcoverai.py create mode 100644 torchgeo/datamodules/loveda.py create mode 100644 torchgeo/datamodules/naip.py create mode 100644 torchgeo/datamodules/nasa_marine_debris.py create mode 100644 torchgeo/datamodules/oscd.py create mode 100644 torchgeo/datamodules/potsdam.py create mode 100644 torchgeo/datamodules/resisc45.py create mode 100644 torchgeo/datamodules/sen12ms.py create mode 100644 torchgeo/datamodules/so2sat.py create mode 100644 torchgeo/datamodules/ucmerced.py create mode 100644 torchgeo/datamodules/utils.py create mode 100644 torchgeo/datamodules/vaihingen.py create mode 100644 torchgeo/datamodules/xview.py diff --git a/docs/api/datamodules.rst b/docs/api/datamodules.rst new file mode 100644 index 00000000000..ad47f9cd648 --- /dev/null +++ b/docs/api/datamodules.rst @@ -0,0 +1,105 @@ +torchgeo.datamodules +==================== + +.. module:: torchgeo.datamodules + +Geospatial DataModules +---------------------- + +Chesapeake Bay High-Resolution Land Cover Project +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: ChesapeakeCVPRDataModule + +National Agriculture Imagery Program (NAIP) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: NAIPChesapeakeDataModule + +Non-geospatial DataModules +-------------------------- + +BigEarthNet +^^^^^^^^^^^ + +.. autoclass:: BigEarthNetDataModule + +Cars Overhead With Context (COWC) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: COWCCountingDataModule + +ETCI2021 Flood Detection +^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: ETCI2021DataModule + +EuroSAT +^^^^^^^ + +.. autoclass:: EuroSATDataModule + +FAIR1M (Fine-grAined object recognItion in high-Resolution imagery) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: FAIR1MDataModule + +LandCover.ai (Land Cover from Aerial Imagery) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: LandCoverAIDataModule + +LoveDA (Land-cOVEr Domain Adaptive semantic segmentation) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: LoveDADataModule + +NASA Marine Debris +^^^^^^^^^^^^^^^^^^ + +.. autoclass:: NASAMarineDebrisDataModule + +OSCD (Onera Satellite Change Detection) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: OSCDDataModule + +Potsdam +^^^^^^^ + +.. autoclass:: Potsdam2DDataModule + +RESISC45 (Remote Sensing Image Scene Classification) +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: RESISC45DataModule + +SEN12MS +^^^^^^^ + +.. autoclass:: SEN12MSDataModule + +So2Sat +^^^^^^ + +.. autoclass:: So2SatDataModule + +Tropical Cyclone Wind Estimation Competition +^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ + +.. autoclass:: CycloneDataModule + +UC Merced +^^^^^^^^^ + +.. autoclass:: UCMercedDataModule + +Vaihingen +^^^^^^^^^ + +.. autoclass:: Vaihingen2DDataModule + +xView2 +^^^^^^ + +.. autoclass:: XView2DataModule diff --git a/docs/api/datasets.rst b/docs/api/datasets.rst index 4b30c762a76..f3df706a8b4 100644 --- a/docs/api/datasets.rst +++ b/docs/api/datasets.rst @@ -31,7 +31,6 @@ Chesapeake Bay High-Resolution Land Cover Project .. autoclass:: ChesapeakeVA .. autoclass:: ChesapeakeWV .. autoclass:: ChesapeakeCVPR -.. autoclass:: ChesapeakeCVPRDataModule Cropland Data Layer (CDL) ^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -57,7 +56,6 @@ National Agriculture Imagery Program (NAIP) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: NAIP -.. autoclass:: NAIPChesapeakeDataModule Sentinel ^^^^^^^^ @@ -86,7 +84,6 @@ BigEarthNet ^^^^^^^^^^^ .. autoclass:: BigEarthNet -.. autoclass:: BigEarthNetDataModule Cars Overhead With Context (COWC) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -94,7 +91,6 @@ Cars Overhead With Context (COWC) .. autoclass:: COWC .. autoclass:: COWCCounting .. autoclass:: COWCDetection -.. autoclass:: COWCCountingDataModule CV4A Kenya Crop Type Competition ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -105,19 +101,16 @@ ETCI2021 Flood Detection ^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: ETCI2021 -.. autoclass:: ETCI2021DataModule EuroSAT -^^^^^^^^^^^^^^^^^^^^^^^^ +^^^^^^^ .. autoclass:: EuroSAT -.. autoclass:: EuroSATDataModule FAIR1M (Fine-grAined object recognItion in high-Resolution imagery) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: FAIR1M -.. autoclass:: FAIR1MDataModule GID-15 (Gaofen Image Dataset) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -133,7 +126,6 @@ LandCover.ai (Land Cover from Aerial Imagery) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: LandCoverAI -.. autoclass:: LandCoverAIDataModule LEVIR-CD+ (LEVIR Change Detection +) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ @@ -144,19 +136,16 @@ LoveDA (Land-cOVEr Domain Adaptive semantic segmentation) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: LoveDA -.. autoclass:: LoveDADataModule NASA Marine Debris ^^^^^^^^^^^^^^^^^^ .. autoclass:: NASAMarineDebris -.. autoclass:: NASAMarineDebrisDataModule OSCD (Onera Satellite Change Detection) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: OSCD -.. autoclass:: OSCDDataModule PatternNet ^^^^^^^^^^ @@ -167,13 +156,11 @@ Potsdam ^^^^^^^ .. autoclass:: Potsdam2D -.. autoclass:: Potsdam2DDataModule RESISC45 (Remote Sensing Image Scene Classification) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: RESISC45 -.. autoclass:: RESISC45DataModule Seasonal Contrast ^^^^^^^^^^^^^^^^^ @@ -184,13 +171,11 @@ SEN12MS ^^^^^^^ .. autoclass:: SEN12MS -.. autoclass:: SEN12MSDataModule So2Sat ^^^^^^ .. autoclass:: So2Sat -.. autoclass:: So2SatDataModule SpaceNet ^^^^^^^^ @@ -206,30 +191,26 @@ Tropical Cyclone Wind Estimation Competition ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ .. autoclass:: TropicalCycloneWindEstimation -.. autoclass:: CycloneDataModule + +UC Merced +^^^^^^^^^ + +.. autoclass:: UCMerced Vaihingen ^^^^^^^^^ .. autoclass:: Vaihingen2D -.. autoclass:: Vaihingen2DDataModule NWPU VHR-10 ^^^^^^^^^^^ .. autoclass:: VHR10 -UC Merced -^^^^^^^^^ - -.. autoclass:: UCMerced -.. autoclass:: UCMercedDataModule - xView2 ^^^^^^ .. autoclass:: XView2 -.. autoclass:: XView2DataModule ZueriCrop ^^^^^^^^^ diff --git a/docs/index.rst b/docs/index.rst index d8fe309a2d1..d2e85fa5d5a 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,6 +15,7 @@ torchgeo :maxdepth: 2 :caption: Package Reference + api/datamodules api/datasets api/models api/samplers diff --git a/experiments/test_chesapeakecvpr_models.py b/experiments/test_chesapeakecvpr_models.py index 249dd20bc7d..38ab24fa842 100755 --- a/experiments/test_chesapeakecvpr_models.py +++ b/experiments/test_chesapeakecvpr_models.py @@ -11,7 +11,7 @@ import pytorch_lightning as pl import torch -from torchgeo.datasets import ChesapeakeCVPRDataModule +from torchgeo.datamodules import ChesapeakeCVPRDataModule from torchgeo.trainers.chesapeake import ChesapeakeCVPRSegmentationTask ALL_TEST_SPLITS = [["de-val"], ["pa-test"], ["ny-test"], ["pa-test", "ny-test"]] diff --git a/pyproject.toml b/pyproject.toml index cfb34131556..f449ed08902 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,7 +73,7 @@ strict_equality = true [tool.pydocstyle] convention = "google" -match_dir = "(datasets|models|samplers|torchgeo|trainers|transforms)" +match_dir = "(datamodules|datasets|models|samplers|torchgeo|trainers|transforms)" [tool.pytest.ini_options] # Skip slow tests by default diff --git a/tests/datamodules/__init__.py b/tests/datamodules/__init__.py new file mode 100644 index 00000000000..5b7f7a925cc --- /dev/null +++ b/tests/datamodules/__init__.py @@ -0,0 +1,2 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. diff --git a/tests/datamodules/test_bigearthnet.py b/tests/datamodules/test_bigearthnet.py new file mode 100644 index 00000000000..b460877a76a --- /dev/null +++ b/tests/datamodules/test_bigearthnet.py @@ -0,0 +1,32 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import BigEarthNetDataModule + + +class TestBigEarthNetDataModule: + @pytest.fixture(scope="class", params=["s1", "s2", "all"]) + def datamodule(self, request: SubRequest) -> BigEarthNetDataModule: + bands = request.param + root = os.path.join("tests", "data", "bigearthnet") + num_classes = 19 + batch_size = 1 + num_workers = 0 + dm = BigEarthNetDataModule(root, bands, num_classes, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: BigEarthNetDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: BigEarthNetDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: BigEarthNetDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_chesapeake.py b/tests/datamodules/test_chesapeake.py new file mode 100644 index 00000000000..f04d470b779 --- /dev/null +++ b/tests/datamodules/test_chesapeake.py @@ -0,0 +1,52 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +import torch +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import ChesapeakeCVPRDataModule + + +class TestChesapeakeCVPRDataModule: + @pytest.fixture(scope="class", params=[5, 7]) + def datamodule(self, request: SubRequest) -> ChesapeakeCVPRDataModule: + dm = ChesapeakeCVPRDataModule( + os.path.join("tests", "data", "chesapeake", "cvpr"), + ["de-test"], + ["de-test"], + ["de-test"], + patch_size=32, + patches_per_tile=2, + batch_size=2, + num_workers=0, + class_set=request.param, + ) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: + next(iter(datamodule.test_dataloader())) + + def test_nodata_check(self, datamodule: ChesapeakeCVPRDataModule) -> None: + nodata_check = datamodule.nodata_check(4) + sample = { + "image": torch.ones(1, 2, 2), # type: ignore[attr-defined] + "mask": torch.ones(2, 2), # type: ignore[attr-defined] + } + out = nodata_check(sample) + assert torch.equal( # type: ignore[attr-defined] + out["image"], torch.zeros(1, 4, 4) # type: ignore[attr-defined] + ) + assert torch.equal( # type: ignore[attr-defined] + out["mask"], torch.zeros(4, 4) # type: ignore[attr-defined] + ) diff --git a/tests/datamodules/test_cowc.py b/tests/datamodules/test_cowc.py new file mode 100644 index 00000000000..8b6e974f35b --- /dev/null +++ b/tests/datamodules/test_cowc.py @@ -0,0 +1,30 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import COWCCountingDataModule + + +class TestCOWCCountingDataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> COWCCountingDataModule: + root = os.path.join("tests", "data", "cowc_counting") + seed = 0 + batch_size = 1 + num_workers = 0 + dm = COWCCountingDataModule(root, seed, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: COWCCountingDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: COWCCountingDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: COWCCountingDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_cyclone.py b/tests/datamodules/test_cyclone.py new file mode 100644 index 00000000000..843cc1656ed --- /dev/null +++ b/tests/datamodules/test_cyclone.py @@ -0,0 +1,30 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import CycloneDataModule + + +class TestCycloneDataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> CycloneDataModule: + root = os.path.join("tests", "data", "cyclone") + seed = 0 + batch_size = 1 + num_workers = 0 + dm = CycloneDataModule(root, seed, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: CycloneDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: CycloneDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: CycloneDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_etci2021.py b/tests/datamodules/test_etci2021.py new file mode 100644 index 00000000000..b51e8daf1b1 --- /dev/null +++ b/tests/datamodules/test_etci2021.py @@ -0,0 +1,30 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import ETCI2021DataModule + + +class TestETCI2021DataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> ETCI2021DataModule: + root = os.path.join("tests", "data", "etci2021") + seed = 0 + batch_size = 2 + num_workers = 0 + dm = ETCI2021DataModule(root, seed, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: ETCI2021DataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: ETCI2021DataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: ETCI2021DataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_eurosat.py b/tests/datamodules/test_eurosat.py new file mode 100644 index 00000000000..a8a51cd7b53 --- /dev/null +++ b/tests/datamodules/test_eurosat.py @@ -0,0 +1,29 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import EuroSATDataModule + + +class TestEuroSATDataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> EuroSATDataModule: + root = os.path.join("tests", "data", "eurosat") + batch_size = 1 + num_workers = 0 + dm = EuroSATDataModule(root, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: EuroSATDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: EuroSATDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: EuroSATDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_fair1m.py b/tests/datamodules/test_fair1m.py new file mode 100644 index 00000000000..1f19922f1eb --- /dev/null +++ b/tests/datamodules/test_fair1m.py @@ -0,0 +1,30 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import FAIR1MDataModule + + +class TestFAIR1MDataModule: + @pytest.fixture(scope="class", params=[True, False]) + def datamodule(self) -> FAIR1MDataModule: + root = os.path.join("tests", "data", "fair1m") + batch_size = 2 + num_workers = 0 + dm = FAIR1MDataModule( + root, batch_size, num_workers, val_split_pct=0.33, test_split_pct=0.33 + ) + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: FAIR1MDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: FAIR1MDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: FAIR1MDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_landcoverai.py b/tests/datamodules/test_landcoverai.py new file mode 100644 index 00000000000..1d4f2e43150 --- /dev/null +++ b/tests/datamodules/test_landcoverai.py @@ -0,0 +1,29 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import LandCoverAIDataModule + + +class TestLandCoverAIDataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> LandCoverAIDataModule: + root = os.path.join("tests", "data", "landcoverai") + batch_size = 2 + num_workers = 0 + dm = LandCoverAIDataModule(root, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: LandCoverAIDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: LandCoverAIDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: LandCoverAIDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_loveda.py b/tests/datamodules/test_loveda.py new file mode 100644 index 00000000000..c19e8cb0ab9 --- /dev/null +++ b/tests/datamodules/test_loveda.py @@ -0,0 +1,34 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import LoveDADataModule + + +class TestLoveDADataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> LoveDADataModule: + root = os.path.join("tests", "data", "loveda") + batch_size = 2 + num_workers = 0 + scene = ["rural", "urban"] + + dm = LoveDADataModule( + root_dir=root, scene=scene, batch_size=batch_size, num_workers=num_workers + ) + + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: LoveDADataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: LoveDADataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: LoveDADataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_naip.py b/tests/datamodules/test_naip.py new file mode 100644 index 00000000000..5f9d676f2ba --- /dev/null +++ b/tests/datamodules/test_naip.py @@ -0,0 +1,32 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import NAIPChesapeakeDataModule + + +class TestNAIPChesapeakeDataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> NAIPChesapeakeDataModule: + dm = NAIPChesapeakeDataModule( + os.path.join("tests", "data", "naip"), + os.path.join("tests", "data", "chesapeake", "BAYWIDE"), + batch_size=2, + num_workers=0, + ) + dm.patch_size = 32 + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_nasa_marine_debris.py b/tests/datamodules/test_nasa_marine_debris.py new file mode 100644 index 00000000000..eff571f953c --- /dev/null +++ b/tests/datamodules/test_nasa_marine_debris.py @@ -0,0 +1,33 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import NASAMarineDebrisDataModule + + +class TestNASAMarineDebrisDataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> NASAMarineDebrisDataModule: + root = os.path.join("tests", "data", "nasa_marine_debris") + batch_size = 2 + num_workers = 0 + val_split_pct = 0.3 + test_split_pct = 0.3 + dm = NASAMarineDebrisDataModule( + root, batch_size, num_workers, val_split_pct, test_split_pct + ) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: NASAMarineDebrisDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: NASAMarineDebrisDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: NASAMarineDebrisDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_oscd.py b/tests/datamodules/test_oscd.py new file mode 100644 index 00000000000..7d090f99c97 --- /dev/null +++ b/tests/datamodules/test_oscd.py @@ -0,0 +1,62 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import OSCDDataModule + + +class TestOSCDDataModule: + @pytest.fixture(scope="class", params=zip(["all", "rgb"], [0.0, 0.5])) + def datamodule(self, request: SubRequest) -> OSCDDataModule: + bands, val_split_pct = request.param + patch_size = (2, 2) + num_patches_per_tile = 2 + root = os.path.join("tests", "data", "oscd") + batch_size = 1 + num_workers = 0 + dm = OSCDDataModule( + root, + bands, + batch_size, + num_workers, + val_split_pct, + patch_size, + num_patches_per_tile, + ) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: OSCDDataModule) -> None: + sample = next(iter(datamodule.train_dataloader())) + assert sample["image"].shape[-2:] == sample["mask"].shape[-2:] == (2, 2) + assert sample["image"].shape[0] == sample["mask"].shape[0] == 2 + if datamodule.bands == "all": + assert sample["image"].shape[1] == 26 + else: + assert sample["image"].shape[1] == 6 + + def test_val_dataloader(self, datamodule: OSCDDataModule) -> None: + sample = next(iter(datamodule.val_dataloader())) + if datamodule.val_split_pct > 0.0: + assert ( + sample["image"].shape[-2:] == sample["mask"].shape[-2:] == (1280, 1280) + ) + assert sample["image"].shape[0] == sample["mask"].shape[0] == 1 + if datamodule.bands == "all": + assert sample["image"].shape[1] == 26 + else: + assert sample["image"].shape[1] == 6 + + def test_test_dataloader(self, datamodule: OSCDDataModule) -> None: + sample = next(iter(datamodule.test_dataloader())) + assert sample["image"].shape[-2:] == sample["mask"].shape[-2:] == (1280, 1280) + assert sample["image"].shape[0] == sample["mask"].shape[0] == 1 + if datamodule.bands == "all": + assert sample["image"].shape[1] == 26 + else: + assert sample["image"].shape[1] == 6 diff --git a/tests/datamodules/test_potsdam.py b/tests/datamodules/test_potsdam.py new file mode 100644 index 00000000000..f67be0fea7c --- /dev/null +++ b/tests/datamodules/test_potsdam.py @@ -0,0 +1,33 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import Potsdam2DDataModule + + +class TestPotsdam2DDataModule: + @pytest.fixture(scope="class", params=[0.0, 0.5]) + def datamodule(self, request: SubRequest) -> Potsdam2DDataModule: + root = os.path.join("tests", "data", "potsdam") + batch_size = 1 + num_workers = 0 + val_split_size = request.param + dm = Potsdam2DDataModule( + root, batch_size, num_workers, val_split_pct=val_split_size + ) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: Potsdam2DDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: Potsdam2DDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: Potsdam2DDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_resisc45.py b/tests/datamodules/test_resisc45.py new file mode 100644 index 00000000000..e1b9baa83f5 --- /dev/null +++ b/tests/datamodules/test_resisc45.py @@ -0,0 +1,29 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import RESISC45DataModule + + +class TestRESISC45DataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> RESISC45DataModule: + root = os.path.join("tests", "data", "resisc45") + batch_size = 2 + num_workers = 0 + dm = RESISC45DataModule(root, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: RESISC45DataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: RESISC45DataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: RESISC45DataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_sen12ms.py b/tests/datamodules/test_sen12ms.py new file mode 100644 index 00000000000..7cd6df73857 --- /dev/null +++ b/tests/datamodules/test_sen12ms.py @@ -0,0 +1,32 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import SEN12MSDataModule + + +class TestSEN12MSDataModule: + @pytest.fixture(scope="class", params=["all", "s1", "s2-all", "s2-reduced"]) + def datamodule(self, request: SubRequest) -> SEN12MSDataModule: + root = os.path.join("tests", "data", "sen12ms") + seed = 0 + bands = request.param + batch_size = 1 + num_workers = 0 + dm = SEN12MSDataModule(root, seed, bands, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: SEN12MSDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: SEN12MSDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: SEN12MSDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_so2sat.py b/tests/datamodules/test_so2sat.py new file mode 100644 index 00000000000..2f732306901 --- /dev/null +++ b/tests/datamodules/test_so2sat.py @@ -0,0 +1,33 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import So2SatDataModule + +pytest.importorskip("h5py") + + +class TestSo2SatDataModule: + @pytest.fixture(scope="class", params=zip([True, False], ["rgb", "s2"])) + def datamodule(self, request: SubRequest) -> So2SatDataModule: + unsupervised_mode, bands = request.param + root = os.path.join("tests", "data", "so2sat") + batch_size = 2 + num_workers = 0 + dm = So2SatDataModule(root, batch_size, num_workers, bands, unsupervised_mode) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: So2SatDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: So2SatDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: So2SatDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_ucmerced.py b/tests/datamodules/test_ucmerced.py new file mode 100644 index 00000000000..8dd7ab83360 --- /dev/null +++ b/tests/datamodules/test_ucmerced.py @@ -0,0 +1,29 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest + +from torchgeo.datamodules import UCMercedDataModule + + +class TestUCMercedDataModule: + @pytest.fixture(scope="class") + def datamodule(self) -> UCMercedDataModule: + root = os.path.join("tests", "data", "ucmerced") + batch_size = 2 + num_workers = 0 + dm = UCMercedDataModule(root, batch_size, num_workers) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: UCMercedDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: UCMercedDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: UCMercedDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_utils.py b/tests/datamodules/test_utils.py new file mode 100644 index 00000000000..e5bc527f6c3 --- /dev/null +++ b/tests/datamodules/test_utils.py @@ -0,0 +1,25 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import torch +from torch.utils.data import TensorDataset + +from torchgeo.datamodules.utils import dataset_split + + +def test_dataset_split() -> None: + num_samples = 24 + x = torch.ones(num_samples, 5) # type: ignore[attr-defined] + y = torch.randint(low=0, high=2, size=(num_samples,)) # type: ignore[attr-defined] + ds = TensorDataset(x, y) + + # Test only train/val set split + train_ds, val_ds = dataset_split(ds, val_pct=1 / 2) + assert len(train_ds) == num_samples // 2 + assert len(val_ds) == num_samples // 2 + + # Test train/val/test set split + train_ds, val_ds, test_ds = dataset_split(ds, val_pct=1 / 3, test_pct=1 / 3) + assert len(train_ds) == num_samples // 3 + assert len(val_ds) == num_samples // 3 + assert len(test_ds) == num_samples // 3 diff --git a/tests/datamodules/test_vaihingen.py b/tests/datamodules/test_vaihingen.py new file mode 100644 index 00000000000..453a987ecef --- /dev/null +++ b/tests/datamodules/test_vaihingen.py @@ -0,0 +1,33 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import Vaihingen2DDataModule + + +class TestVaihingen2DDataModule: + @pytest.fixture(scope="class", params=[0.0, 0.5]) + def datamodule(self, request: SubRequest) -> Vaihingen2DDataModule: + root = os.path.join("tests", "data", "vaihingen") + batch_size = 1 + num_workers = 0 + val_split_size = request.param + dm = Vaihingen2DDataModule( + root, batch_size, num_workers, val_split_pct=val_split_size + ) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: Vaihingen2DDataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: Vaihingen2DDataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: Vaihingen2DDataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_xview2.py b/tests/datamodules/test_xview2.py new file mode 100644 index 00000000000..5e1637533d6 --- /dev/null +++ b/tests/datamodules/test_xview2.py @@ -0,0 +1,33 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import os + +import pytest +from _pytest.fixtures import SubRequest + +from torchgeo.datamodules import XView2DataModule + + +class TestXView2DataModule: + @pytest.fixture(scope="class", params=[0.0, 0.5]) + def datamodule(self, request: SubRequest) -> XView2DataModule: + root = os.path.join("tests", "data", "xview2") + batch_size = 1 + num_workers = 0 + val_split_size = request.param + dm = XView2DataModule( + root, batch_size, num_workers, val_split_pct=val_split_size + ) + dm.prepare_data() + dm.setup() + return dm + + def test_train_dataloader(self, datamodule: XView2DataModule) -> None: + next(iter(datamodule.train_dataloader())) + + def test_val_dataloader(self, datamodule: XView2DataModule) -> None: + next(iter(datamodule.val_dataloader())) + + def test_test_dataloader(self, datamodule: XView2DataModule) -> None: + next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_bigearthnet.py b/tests/datasets/test_bigearthnet.py index 2561eb9f8e5..d1f9ca80f68 100644 --- a/tests/datasets/test_bigearthnet.py +++ b/tests/datasets/test_bigearthnet.py @@ -13,7 +13,7 @@ from _pytest.monkeypatch import MonkeyPatch import torchgeo.datasets.utils -from torchgeo.datasets import BigEarthNet, BigEarthNetDataModule +from torchgeo.datasets import BigEarthNet def download_url(url: str, root: str, *args: str, **kwargs: str) -> None: @@ -148,26 +148,3 @@ def test_not_downloaded(self, tmp_path: Path) -> None: "to automaticaly download the dataset." with pytest.raises(RuntimeError, match=err): BigEarthNet(str(tmp_path)) - - -class TestBigEarthNetDataModule: - @pytest.fixture(scope="class", params=["s1", "s2", "all"]) - def datamodule(self, request: SubRequest) -> BigEarthNetDataModule: - bands = request.param - root = os.path.join("tests", "data", "bigearthnet") - num_classes = 19 - batch_size = 1 - num_workers = 0 - dm = BigEarthNetDataModule(root, bands, num_classes, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: BigEarthNetDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: BigEarthNetDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: BigEarthNetDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_chesapeake.py b/tests/datasets/test_chesapeake.py index 573719ce9f3..2f321967be9 100644 --- a/tests/datasets/test_chesapeake.py +++ b/tests/datasets/test_chesapeake.py @@ -19,7 +19,6 @@ BoundingBox, Chesapeake13, ChesapeakeCVPR, - ChesapeakeCVPRDataModule, IntersectionDataset, UnionDataset, ) @@ -179,45 +178,3 @@ def test_multiple_hits_query(self, dataset: ChesapeakeCVPR) -> None: IndexError, match="query: .* spans multiple tiles which is not valid" ): ds[dataset.bounds] - - -class TestChesapeakeCVPRDataModule: - @pytest.fixture(scope="class", params=[5, 7]) - def datamodule(self, request: SubRequest) -> ChesapeakeCVPRDataModule: - dm = ChesapeakeCVPRDataModule( - os.path.join("tests", "data", "chesapeake", "cvpr"), - ["de-test"], - ["de-test"], - ["de-test"], - patch_size=32, - patches_per_tile=2, - batch_size=2, - num_workers=0, - class_set=request.param, - ) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: - next(iter(datamodule.test_dataloader())) - - def test_nodata_check(self, datamodule: ChesapeakeCVPRDataModule) -> None: - nodata_check = datamodule.nodata_check(4) - sample = { - "image": torch.ones(1, 2, 2), # type: ignore[attr-defined] - "mask": torch.ones(2, 2), # type: ignore[attr-defined] - } - out = nodata_check(sample) - assert torch.equal( # type: ignore[attr-defined] - out["image"], torch.zeros(1, 4, 4) # type: ignore[attr-defined] - ) - assert torch.equal( # type: ignore[attr-defined] - out["mask"], torch.zeros(4, 4) # type: ignore[attr-defined] - ) diff --git a/tests/datasets/test_cowc.py b/tests/datasets/test_cowc.py index 6ec7b533007..11cc3744cea 100644 --- a/tests/datasets/test_cowc.py +++ b/tests/datasets/test_cowc.py @@ -14,7 +14,7 @@ from torch.utils.data import ConcatDataset import torchgeo.datasets.utils -from torchgeo.datasets import COWCCounting, COWCCountingDataModule, COWCDetection +from torchgeo.datasets import COWCCounting, COWCDetection from torchgeo.datasets.cowc import COWC @@ -148,25 +148,3 @@ def test_invalid_split(self) -> None: def test_not_downloaded(self, tmp_path: Path) -> None: with pytest.raises(RuntimeError, match="Dataset not found or corrupted."): COWCDetection(str(tmp_path)) - - -class TestCOWCCountingDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> COWCCountingDataModule: - root = os.path.join("tests", "data", "cowc_counting") - seed = 0 - batch_size = 1 - num_workers = 0 - dm = COWCCountingDataModule(root, seed, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: COWCCountingDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: COWCCountingDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: COWCCountingDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_cyclone.py b/tests/datasets/test_cyclone.py index 6955143a1fb..c9bb803c856 100644 --- a/tests/datasets/test_cyclone.py +++ b/tests/datasets/test_cyclone.py @@ -15,7 +15,7 @@ from _pytest.monkeypatch import MonkeyPatch from torch.utils.data import ConcatDataset -from torchgeo.datasets import CycloneDataModule, TropicalCycloneWindEstimation +from torchgeo.datasets import TropicalCycloneWindEstimation class Dataset: @@ -103,25 +103,3 @@ def test_plot(self, dataset: TropicalCycloneWindEstimation) -> None: ) dataset.plot(sample) plt.close() - - -class TestCycloneDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> CycloneDataModule: - root = os.path.join("tests", "data", "cyclone") - seed = 0 - batch_size = 1 - num_workers = 0 - dm = CycloneDataModule(root, seed, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: CycloneDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: CycloneDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: CycloneDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_etci2021.py b/tests/datasets/test_etci2021.py index 0aaee918be8..89750dd0d1c 100644 --- a/tests/datasets/test_etci2021.py +++ b/tests/datasets/test_etci2021.py @@ -14,7 +14,7 @@ from _pytest.monkeypatch import MonkeyPatch import torchgeo.datasets.utils -from torchgeo.datasets import ETCI2021, ETCI2021DataModule +from torchgeo.datasets import ETCI2021 def download_url(url: str, root: str, *args: str) -> None: @@ -95,25 +95,3 @@ def test_plot(self, dataset: ETCI2021) -> None: x["prediction"] = x["mask"][0].clone() dataset.plot(x) plt.close() - - -class TestETCI2021DataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> ETCI2021DataModule: - root = os.path.join("tests", "data", "etci2021") - seed = 0 - batch_size = 2 - num_workers = 0 - dm = ETCI2021DataModule(root, seed, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: ETCI2021DataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: ETCI2021DataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: ETCI2021DataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_eurosat.py b/tests/datasets/test_eurosat.py index 008195bb72a..a8b47ea2561 100644 --- a/tests/datasets/test_eurosat.py +++ b/tests/datasets/test_eurosat.py @@ -15,7 +15,7 @@ from torch.utils.data import ConcatDataset import torchgeo.datasets.utils -from torchgeo.datasets import EuroSAT, EuroSATDataModule +from torchgeo.datasets import EuroSAT def download_url(url: str, root: str, *args: str, **kwargs: str) -> None: @@ -100,24 +100,3 @@ def test_plot(self, dataset: EuroSAT) -> None: x["prediction"] = x["label"].clone() dataset.plot(x) plt.close() - - -class TestEuroSATDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> EuroSATDataModule: - root = os.path.join("tests", "data", "eurosat") - batch_size = 1 - num_workers = 0 - dm = EuroSATDataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: EuroSATDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: EuroSATDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: EuroSATDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_fair1m.py b/tests/datasets/test_fair1m.py index 9b175c649a0..3f188ebb6e1 100644 --- a/tests/datasets/test_fair1m.py +++ b/tests/datasets/test_fair1m.py @@ -12,7 +12,7 @@ import torch.nn as nn from _pytest.monkeypatch import MonkeyPatch -from torchgeo.datasets import FAIR1M, FAIR1MDataModule +from torchgeo.datasets import FAIR1M class TestFAIR1M: @@ -73,25 +73,3 @@ def test_plot(self, dataset: FAIR1M) -> None: x["prediction_boxes"] = x["boxes"].clone() dataset.plot(x) plt.close() - - -class TestFAIR1MDataModule: - @pytest.fixture(scope="class", params=[True, False]) - def datamodule(self) -> FAIR1MDataModule: - root = os.path.join("tests", "data", "fair1m") - batch_size = 2 - num_workers = 0 - dm = FAIR1MDataModule( - root, batch_size, num_workers, val_split_pct=0.33, test_split_pct=0.33 - ) - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: FAIR1MDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: FAIR1MDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: FAIR1MDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_landcoverai.py b/tests/datasets/test_landcoverai.py index 8a6942e5800..e971f88ae7f 100644 --- a/tests/datasets/test_landcoverai.py +++ b/tests/datasets/test_landcoverai.py @@ -15,7 +15,7 @@ from torch.utils.data import ConcatDataset import torchgeo.datasets.utils -from torchgeo.datasets import LandCoverAI, LandCoverAIDataModule +from torchgeo.datasets import LandCoverAI def download_url(url: str, root: str, *args: str) -> None: @@ -78,24 +78,3 @@ def test_plot(self, dataset: LandCoverAI) -> None: x["prediction"] = x["mask"].clone() dataset.plot(x) plt.close() - - -class TestLandCoverAIDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> LandCoverAIDataModule: - root = os.path.join("tests", "data", "landcoverai") - batch_size = 2 - num_workers = 0 - dm = LandCoverAIDataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: LandCoverAIDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: LandCoverAIDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: LandCoverAIDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_loveda.py b/tests/datasets/test_loveda.py index 0bfca7bc6c2..e445ae9d3d4 100644 --- a/tests/datasets/test_loveda.py +++ b/tests/datasets/test_loveda.py @@ -14,7 +14,7 @@ from _pytest.monkeypatch import MonkeyPatch import torchgeo.datasets.utils -from torchgeo.datasets import LoveDA, LoveDADataModule +from torchgeo.datasets import LoveDA def download_url(url: str, root: str, *args: str) -> None: @@ -99,29 +99,3 @@ def test_not_downloaded(self, tmp_path: Path) -> None: def test_plot(self, dataset: LoveDA) -> None: dataset.plot(dataset[0], suptitle="Test") plt.close() - - -class TestLoveDADataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> LoveDADataModule: - root = os.path.join("tests", "data", "loveda") - batch_size = 2 - num_workers = 0 - scene = ["rural", "urban"] - - dm = LoveDADataModule( - root_dir=root, scene=scene, batch_size=batch_size, num_workers=num_workers - ) - - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: LoveDADataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: LoveDADataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: LoveDADataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_naip.py b/tests/datasets/test_naip.py index 4ef17e7cfc7..2089d09ac45 100644 --- a/tests/datasets/test_naip.py +++ b/tests/datasets/test_naip.py @@ -12,13 +12,7 @@ from _pytest.monkeypatch import MonkeyPatch from rasterio.crs import CRS -from torchgeo.datasets import ( - NAIP, - BoundingBox, - IntersectionDataset, - NAIPChesapeakeDataModule, - UnionDataset, -) +from torchgeo.datasets import NAIP, BoundingBox, IntersectionDataset, UnionDataset class TestNAIP: @@ -60,27 +54,3 @@ def test_invalid_query(self, dataset: NAIP) -> None: IndexError, match="query: .* not found in index with bounds:" ): dataset[query] - - -class TestNAIPChesapeakeDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> NAIPChesapeakeDataModule: - dm = NAIPChesapeakeDataModule( - os.path.join("tests", "data", "naip"), - os.path.join("tests", "data", "chesapeake", "BAYWIDE"), - batch_size=2, - num_workers=0, - ) - dm.patch_size = 32 - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_nasa_marine_debris.py b/tests/datasets/test_nasa_marine_debris.py index a8b20c2cd29..deb8366ddfd 100644 --- a/tests/datasets/test_nasa_marine_debris.py +++ b/tests/datasets/test_nasa_marine_debris.py @@ -13,7 +13,7 @@ import torch.nn as nn from _pytest.monkeypatch import MonkeyPatch -from torchgeo.datasets import NASAMarineDebris, NASAMarineDebrisDataModule +from torchgeo.datasets import NASAMarineDebris class Dataset: @@ -85,28 +85,3 @@ def test_plot(self, dataset: NASAMarineDebris) -> None: x["prediction_boxes"] = x["boxes"].clone() dataset.plot(x) plt.close() - - -class TestNASAMarineDebrisDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> NASAMarineDebrisDataModule: - root = os.path.join("tests", "data", "nasa_marine_debris") - batch_size = 2 - num_workers = 0 - val_split_pct = 0.3 - test_split_pct = 0.3 - dm = NASAMarineDebrisDataModule( - root, batch_size, num_workers, val_split_pct, test_split_pct - ) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: NASAMarineDebrisDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: NASAMarineDebrisDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: NASAMarineDebrisDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_oscd.py b/tests/datasets/test_oscd.py index 2bfaf25d50d..be61d08b8e0 100644 --- a/tests/datasets/test_oscd.py +++ b/tests/datasets/test_oscd.py @@ -16,7 +16,7 @@ from torch.utils.data import ConcatDataset import torchgeo.datasets.utils -from torchgeo.datasets import OSCD, OSCDDataModule +from torchgeo.datasets import OSCD def download_url(url: str, root: str, *args: str, **kwargs: str) -> None: @@ -105,56 +105,3 @@ def test_not_downloaded(self, tmp_path: Path) -> None: def test_plot(self, dataset: OSCD) -> None: dataset.plot(dataset[0], suptitle="Test") plt.close() - - -class TestOSCDDataModule: - @pytest.fixture(scope="class", params=zip(["all", "rgb"], [0.0, 0.5])) - def datamodule(self, request: SubRequest) -> OSCDDataModule: - bands, val_split_pct = request.param - patch_size = (2, 2) - num_patches_per_tile = 2 - root = os.path.join("tests", "data", "oscd") - batch_size = 1 - num_workers = 0 - dm = OSCDDataModule( - root, - bands, - batch_size, - num_workers, - val_split_pct, - patch_size, - num_patches_per_tile, - ) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: OSCDDataModule) -> None: - sample = next(iter(datamodule.train_dataloader())) - assert sample["image"].shape[-2:] == sample["mask"].shape[-2:] == (2, 2) - assert sample["image"].shape[0] == sample["mask"].shape[0] == 2 - if datamodule.bands == "all": - assert sample["image"].shape[1] == 26 - else: - assert sample["image"].shape[1] == 6 - - def test_val_dataloader(self, datamodule: OSCDDataModule) -> None: - sample = next(iter(datamodule.val_dataloader())) - if datamodule.val_split_pct > 0.0: - assert ( - sample["image"].shape[-2:] == sample["mask"].shape[-2:] == (1280, 1280) - ) - assert sample["image"].shape[0] == sample["mask"].shape[0] == 1 - if datamodule.bands == "all": - assert sample["image"].shape[1] == 26 - else: - assert sample["image"].shape[1] == 6 - - def test_test_dataloader(self, datamodule: OSCDDataModule) -> None: - sample = next(iter(datamodule.test_dataloader())) - assert sample["image"].shape[-2:] == sample["mask"].shape[-2:] == (1280, 1280) - assert sample["image"].shape[0] == sample["mask"].shape[0] == 1 - if datamodule.bands == "all": - assert sample["image"].shape[1] == 26 - else: - assert sample["image"].shape[1] == 6 diff --git a/tests/datasets/test_potsdam.py b/tests/datasets/test_potsdam.py index b11d0dc138e..6a298baf359 100644 --- a/tests/datasets/test_potsdam.py +++ b/tests/datasets/test_potsdam.py @@ -13,7 +13,7 @@ from _pytest.fixtures import SubRequest from _pytest.monkeypatch import MonkeyPatch -from torchgeo.datasets import Potsdam2D, Potsdam2DDataModule +from torchgeo.datasets import Potsdam2D class TestPotsdam2D: @@ -75,27 +75,3 @@ def test_plot(self, dataset: Potsdam2D) -> None: x["prediction"] = x["mask"].clone() dataset.plot(x) plt.close() - - -class TestPotsdam2DDataModule: - @pytest.fixture(scope="class", params=[0.0, 0.5]) - def datamodule(self, request: SubRequest) -> Potsdam2DDataModule: - root = os.path.join("tests", "data", "potsdam") - batch_size = 1 - num_workers = 0 - val_split_size = request.param - dm = Potsdam2DDataModule( - root, batch_size, num_workers, val_split_pct=val_split_size - ) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: Potsdam2DDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: Potsdam2DDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: Potsdam2DDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_resisc45.py b/tests/datasets/test_resisc45.py index 75ed6ee2d58..c8f4d9157d1 100644 --- a/tests/datasets/test_resisc45.py +++ b/tests/datasets/test_resisc45.py @@ -15,7 +15,7 @@ from _pytest.monkeypatch import MonkeyPatch import torchgeo.datasets.utils -from torchgeo.datasets import RESISC45, RESISC45DataModule +from torchgeo.datasets import RESISC45 def download_url(url: str, root: str, *args: str, **kwargs: str) -> None: @@ -101,24 +101,3 @@ def test_plot(self, dataset: RESISC45) -> None: x["prediction"] = x["label"].clone() dataset.plot(x) plt.close() - - -class TestRESISC45DataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> RESISC45DataModule: - root = os.path.join("tests", "data", "resisc45") - batch_size = 2 - num_workers = 0 - dm = RESISC45DataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: RESISC45DataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: RESISC45DataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: RESISC45DataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_sen12ms.py b/tests/datasets/test_sen12ms.py index 2332e70f39d..94c7964340d 100644 --- a/tests/datasets/test_sen12ms.py +++ b/tests/datasets/test_sen12ms.py @@ -12,7 +12,7 @@ from _pytest.monkeypatch import MonkeyPatch from torch.utils.data import ConcatDataset -from torchgeo.datasets import SEN12MS, SEN12MSDataModule +from torchgeo.datasets import SEN12MS class TestSEN12MS: @@ -82,26 +82,3 @@ def test_band_subsets(self) -> None: ds = SEN12MS(root, bands=bands, checksum=False) x = ds[0]["image"] assert x.shape[0] == len(bands) - - -class TestSEN12MSDataModule: - @pytest.fixture(scope="class", params=["all", "s1", "s2-all", "s2-reduced"]) - def datamodule(self, request: SubRequest) -> SEN12MSDataModule: - root = os.path.join("tests", "data", "sen12ms") - seed = 0 - bands = request.param - batch_size = 1 - num_workers = 0 - dm = SEN12MSDataModule(root, seed, bands, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: SEN12MSDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: SEN12MSDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: SEN12MSDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_so2sat.py b/tests/datasets/test_so2sat.py index ab4085ba5e8..7df9fe5dd2b 100644 --- a/tests/datasets/test_so2sat.py +++ b/tests/datasets/test_so2sat.py @@ -13,7 +13,7 @@ from _pytest.fixtures import SubRequest from _pytest.monkeypatch import MonkeyPatch -from torchgeo.datasets import So2Sat, So2SatDataModule +from torchgeo.datasets import So2Sat pytest.importorskip("h5py") @@ -91,25 +91,3 @@ def test_mock_missing_module( match="h5py is not installed and is required to use this dataset", ): So2Sat(dataset.root) - - -class TestSo2SatDataModule: - @pytest.fixture(scope="class", params=zip([True, False], ["rgb", "s2"])) - def datamodule(self, request: SubRequest) -> So2SatDataModule: - unsupervised_mode, bands = request.param - root = os.path.join("tests", "data", "so2sat") - batch_size = 2 - num_workers = 0 - dm = So2SatDataModule(root, batch_size, num_workers, bands, unsupervised_mode) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: So2SatDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: So2SatDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: So2SatDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_ucmerced.py b/tests/datasets/test_ucmerced.py index ad6efb6628b..600c2595d4d 100644 --- a/tests/datasets/test_ucmerced.py +++ b/tests/datasets/test_ucmerced.py @@ -15,7 +15,7 @@ from torch.utils.data import ConcatDataset import torchgeo.datasets.utils -from torchgeo.datasets import UCMerced, UCMercedDataModule +from torchgeo.datasets import UCMerced def download_url(url: str, root: str, *args: str, **kwargs: str) -> None: @@ -102,24 +102,3 @@ def test_plot(self, dataset: UCMerced) -> None: x["prediction"] = x["label"].clone() dataset.plot(x) plt.close() - - -class TestUCMercedDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> UCMercedDataModule: - root = os.path.join("tests", "data", "ucmerced") - batch_size = 2 - num_workers = 0 - dm = UCMercedDataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: UCMercedDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: UCMercedDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: UCMercedDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_utils.py b/tests/datasets/test_utils.py index 9e8732deac4..631897bb7f2 100644 --- a/tests/datasets/test_utils.py +++ b/tests/datasets/test_utils.py @@ -18,13 +18,11 @@ import torch from _pytest.monkeypatch import MonkeyPatch from rasterio.crs import CRS -from torch.utils.data import TensorDataset import torchgeo.datasets.utils from torchgeo.datasets.utils import ( BoundingBox, concat_samples, - dataset_split, disambiguate_timestamp, download_and_extract_archive, download_radiant_mlhub_collection, @@ -563,24 +561,6 @@ def test_nonexisting_directory(tmp_path: Path) -> None: assert subdir.cwd() == subdir -def test_dataset_split() -> None: - num_samples = 24 - x = torch.ones(num_samples, 5) # type: ignore[attr-defined] - y = torch.randint(low=0, high=2, size=(num_samples,)) # type: ignore[attr-defined] - ds = TensorDataset(x, y) - - # Test only train/val set split - train_ds, val_ds = dataset_split(ds, val_pct=1 / 2) - assert len(train_ds) == num_samples // 2 - assert len(val_ds) == num_samples // 2 - - # Test train/val/test set split - train_ds, val_ds, test_ds = dataset_split(ds, val_pct=1 / 3, test_pct=1 / 3) - assert len(train_ds) == num_samples // 3 - assert len(val_ds) == num_samples // 3 - assert len(test_ds) == num_samples // 3 - - def test_percentile_normalization() -> None: img = np.array([[1, 2], [98, 100]]) diff --git a/tests/datasets/test_vaihingen.py b/tests/datasets/test_vaihingen.py index 531dd24e592..033017ea0ee 100644 --- a/tests/datasets/test_vaihingen.py +++ b/tests/datasets/test_vaihingen.py @@ -13,7 +13,7 @@ from _pytest.fixtures import SubRequest from _pytest.monkeypatch import MonkeyPatch -from torchgeo.datasets import Vaihingen2D, Vaihingen2DDataModule +from torchgeo.datasets import Vaihingen2D class TestVaihingen2D: @@ -84,27 +84,3 @@ def test_plot(self, dataset: Vaihingen2D) -> None: x["prediction"] = x["mask"].clone() dataset.plot(x) plt.close() - - -class TestVaihingen2DDataModule: - @pytest.fixture(scope="class", params=[0.0, 0.5]) - def datamodule(self, request: SubRequest) -> Vaihingen2DDataModule: - root = os.path.join("tests", "data", "vaihingen") - batch_size = 1 - num_workers = 0 - val_split_size = request.param - dm = Vaihingen2DDataModule( - root, batch_size, num_workers, val_split_pct=val_split_size - ) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: Vaihingen2DDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: Vaihingen2DDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: Vaihingen2DDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_xview2.py b/tests/datasets/test_xview2.py index b358337617c..92e00f4c7fd 100644 --- a/tests/datasets/test_xview2.py +++ b/tests/datasets/test_xview2.py @@ -13,7 +13,7 @@ from _pytest.fixtures import SubRequest from _pytest.monkeypatch import MonkeyPatch -from torchgeo.datasets import XView2, XView2DataModule +from torchgeo.datasets import XView2 class TestXView2: @@ -95,27 +95,3 @@ def test_plot(self, dataset: XView2) -> None: x["prediction"] = x["mask"][0].clone() dataset.plot(x) plt.close() - - -class TestXView2DataModule: - @pytest.fixture(scope="class", params=[0.0, 0.5]) - def datamodule(self, request: SubRequest) -> XView2DataModule: - root = os.path.join("tests", "data", "xview2") - batch_size = 1 - num_workers = 0 - val_split_size = request.param - dm = XView2DataModule( - root, batch_size, num_workers, val_split_pct=val_split_size - ) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: XView2DataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: XView2DataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: XView2DataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/trainers/test_byol.py b/tests/trainers/test_byol.py index ac5e9e2b792..304d4a5bf17 100644 --- a/tests/trainers/test_byol.py +++ b/tests/trainers/test_byol.py @@ -12,7 +12,7 @@ from pytorch_lightning.core.lightning import LightningModule from torchvision.models import resnet18 -from torchgeo.datasets import ChesapeakeCVPRDataModule +from torchgeo.datamodules import ChesapeakeCVPRDataModule from torchgeo.trainers import BYOLTask from torchgeo.trainers.byol import BYOL, SimCLRAugmentation diff --git a/tests/trainers/test_chesapeake.py b/tests/trainers/test_chesapeake.py index a9c95907dbc..920936802a7 100644 --- a/tests/trainers/test_chesapeake.py +++ b/tests/trainers/test_chesapeake.py @@ -9,7 +9,7 @@ from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf -from torchgeo.datasets import ChesapeakeCVPRDataModule +from torchgeo.datamodules import ChesapeakeCVPRDataModule from torchgeo.trainers.chesapeake import ChesapeakeCVPRSegmentationTask from .test_utils import FakeTrainer, mocked_log diff --git a/tests/trainers/test_landcoverai.py b/tests/trainers/test_landcoverai.py index b14d5b46684..d3e70dfb098 100644 --- a/tests/trainers/test_landcoverai.py +++ b/tests/trainers/test_landcoverai.py @@ -8,7 +8,7 @@ from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf -from torchgeo.datasets import LandCoverAIDataModule +from torchgeo.datamodules import LandCoverAIDataModule from torchgeo.trainers.landcoverai import LandCoverAISegmentationTask from .test_utils import FakeTrainer, mocked_log diff --git a/tests/trainers/test_naipchesapeake.py b/tests/trainers/test_naipchesapeake.py index 3b8cce5aca0..37d94cb0ed8 100644 --- a/tests/trainers/test_naipchesapeake.py +++ b/tests/trainers/test_naipchesapeake.py @@ -8,7 +8,7 @@ from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf -from torchgeo.datasets import NAIPChesapeakeDataModule +from torchgeo.datamodules import NAIPChesapeakeDataModule from torchgeo.trainers.naipchesapeake import NAIPChesapeakeSegmentationTask from .test_utils import FakeTrainer, mocked_log diff --git a/tests/trainers/test_regression.py b/tests/trainers/test_regression.py index cfa7e16924b..ed3af3a3b63 100644 --- a/tests/trainers/test_regression.py +++ b/tests/trainers/test_regression.py @@ -8,7 +8,7 @@ from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf -from torchgeo.datasets import CycloneDataModule +from torchgeo.datamodules import CycloneDataModule from torchgeo.trainers import RegressionTask from .test_utils import mocked_log diff --git a/tests/trainers/test_resisc45.py b/tests/trainers/test_resisc45.py index 0b832295faf..1eec36e2fee 100644 --- a/tests/trainers/test_resisc45.py +++ b/tests/trainers/test_resisc45.py @@ -7,7 +7,7 @@ import pytest from _pytest.monkeypatch import MonkeyPatch -from torchgeo.datasets import RESISC45DataModule +from torchgeo.datamodules import RESISC45DataModule from torchgeo.trainers.resisc45 import RESISC45ClassificationTask from .test_utils import FakeTrainer, mocked_log diff --git a/tests/trainers/test_segmentation.py b/tests/trainers/test_segmentation.py index 058f94170b7..658e4870f57 100644 --- a/tests/trainers/test_segmentation.py +++ b/tests/trainers/test_segmentation.py @@ -9,7 +9,7 @@ from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf -from torchgeo.datasets import ChesapeakeCVPRDataModule +from torchgeo.datamodules import ChesapeakeCVPRDataModule from torchgeo.trainers import SemanticSegmentationTask from .test_utils import FakeTrainer, mocked_log diff --git a/torchgeo/__init__.py b/torchgeo/__init__.py index cc1b2abb965..a447a5f873f 100644 --- a/torchgeo/__init__.py +++ b/torchgeo/__init__.py @@ -13,7 +13,7 @@ import pytorch_lightning as pl -from .datasets import ( +from .datamodules import ( BigEarthNetDataModule, ChesapeakeCVPRDataModule, COWCCountingDataModule, diff --git a/torchgeo/datamodules/__init__.py b/torchgeo/datamodules/__init__.py new file mode 100644 index 00000000000..e09fe0ab378 --- /dev/null +++ b/torchgeo/datamodules/__init__.py @@ -0,0 +1,52 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""TorchGeo datamodules.""" + +from .bigearthnet import BigEarthNetDataModule +from .chesapeake import ChesapeakeCVPRDataModule +from .cowc import COWCCountingDataModule +from .cyclone import CycloneDataModule +from .etci2021 import ETCI2021DataModule +from .eurosat import EuroSATDataModule +from .fair1m import FAIR1MDataModule +from .landcoverai import LandCoverAIDataModule +from .loveda import LoveDADataModule +from .naip import NAIPChesapeakeDataModule +from .nasa_marine_debris import NASAMarineDebrisDataModule +from .oscd import OSCDDataModule +from .potsdam import Potsdam2DDataModule +from .resisc45 import RESISC45DataModule +from .sen12ms import SEN12MSDataModule +from .so2sat import So2SatDataModule +from .ucmerced import UCMercedDataModule +from .vaihingen import Vaihingen2DDataModule +from .xview import XView2DataModule + +__all__ = ( + # GeoDataset + "ChesapeakeCVPRDataModule", + "NAIPChesapeakeDataModule", + # VisionDataset + "BigEarthNetDataModule", + "COWCCountingDataModule", + "ETCI2021DataModule", + "EuroSATDataModule", + "FAIR1MDataModule", + "LandCoverAIDataModule", + "LoveDADataModule", + "NASAMarineDebrisDataModule", + "OSCDDataModule", + "Potsdam2DDataModule", + "RESISC45DataModule", + "SEN12MSDataModule", + "So2SatDataModule", + "CycloneDataModule", + "UCMercedDataModule", + "Vaihingen2DDataModule", + "XView2DataModule", +) + +# https://stackoverflow.com/questions/40018681 +for module in __all__: + globals()[module].__module__ = "torchgeo.datamodules" diff --git a/torchgeo/datamodules/bigearthnet.py b/torchgeo/datamodules/bigearthnet.py new file mode 100644 index 00000000000..11c2e4ed9ab --- /dev/null +++ b/torchgeo/datamodules/bigearthnet.py @@ -0,0 +1,178 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""BigEarthNet datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +import torch +from torch.utils.data import DataLoader +from torchvision.transforms import Compose + +from ..datasets import BigEarthNet + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class BigEarthNetDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the BigEarthNet dataset. + + Uses the train/val/test splits from the dataset. + """ + + # (VV, VH, B01, B02, B03, B04, B05, B06, B07, B08, B8A, B09, B11, B12) + # min/max band statistics computed on 100k random samples + band_mins_raw = torch.tensor( # type: ignore[attr-defined] + [-70.0, -72.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0] + ) + band_maxs_raw = torch.tensor( # type: ignore[attr-defined] + [ + 31.0, + 35.0, + 18556.0, + 20528.0, + 18976.0, + 17874.0, + 16611.0, + 16512.0, + 16394.0, + 16672.0, + 16141.0, + 16097.0, + 15336.0, + 15203.0, + ] + ) + + # min/max band statistics computed by percentile clipping the + # above to samples to [2, 98] + band_mins = torch.tensor( # type: ignore[attr-defined] + [-48.0, -42.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] + ) + band_maxs = torch.tensor( # type: ignore[attr-defined] + [ + 6.0, + 16.0, + 9859.0, + 12872.0, + 13163.0, + 14445.0, + 12477.0, + 12563.0, + 12289.0, + 15596.0, + 12183.0, + 9458.0, + 5897.0, + 5544.0, + ] + ) + + def __init__( + self, + root_dir: str, + bands: str = "all", + num_classes: int = 19, + batch_size: int = 64, + num_workers: int = 0, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for BigEarthNet based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the BigEarthNet Dataset classes + bands: load Sentinel-1 bands, Sentinel-2, or both. one of {s1, s2, all} + num_classes: number of classes to load in target. one of {19, 43} + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.bands = bands + self.num_classes = num_classes + self.batch_size = batch_size + self.num_workers = num_workers + + if bands == "all": + self.mins = self.band_mins[:, None, None] + self.maxs = self.band_maxs[:, None, None] + elif bands == "s1": + self.mins = self.band_mins[:2, None, None] + self.maxs = self.band_maxs[:2, None, None] + else: + self.mins = self.band_mins[2:, None, None] + self.maxs = self.band_maxs[2:, None, None] + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset.""" + sample["image"] = sample["image"].float() + sample["image"] = (sample["image"] - self.mins) / (self.maxs - self.mins) + sample["image"] = torch.clip( # type: ignore[attr-defined] + sample["image"], min=0.0, max=1.0 + ) + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + BigEarthNet(self.root_dir, split="train", bands=self.bands, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + """ + transforms = Compose([self.preprocess]) + self.train_dataset = BigEarthNet( + self.root_dir, + split="train", + bands=self.bands, + num_classes=self.num_classes, + transforms=transforms, + ) + self.val_dataset = BigEarthNet( + self.root_dir, + split="val", + bands=self.bands, + num_classes=self.num_classes, + transforms=transforms, + ) + self.test_dataset = BigEarthNet( + self.root_dir, + split="test", + bands=self.bands, + num_classes=self.num_classes, + transforms=transforms, + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training.""" + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation.""" + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing.""" + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/chesapeake.py b/torchgeo/datamodules/chesapeake.py new file mode 100644 index 00000000000..225f4c31169 --- /dev/null +++ b/torchgeo/datamodules/chesapeake.py @@ -0,0 +1,312 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""Chesapeake Bay High-Resolution Land Cover Project datamodule.""" + +from typing import Any, Callable, Dict, List, Optional + +import torch +import torch.nn.functional as F +from pytorch_lightning.core.datamodule import LightningDataModule +from torch import Tensor +from torch.utils.data import DataLoader +from torchvision.transforms import Compose + +from ..datasets import ChesapeakeCVPR, stack_samples +from ..samplers.batch import RandomBatchGeoSampler +from ..samplers.single import GridGeoSampler + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class ChesapeakeCVPRDataModule(LightningDataModule): + """LightningDataModule implementation for the Chesapeake CVPR Land Cover dataset. + + Uses the random splits defined per state to partition tiles into train, val, + and test sets. + """ + + def __init__( + self, + root_dir: str, + train_splits: List[str], + val_splits: List[str], + test_splits: List[str], + patches_per_tile: int = 200, + patch_size: int = 256, + batch_size: int = 64, + num_workers: int = 0, + class_set: int = 7, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for Chesapeake CVPR based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the ChesapeakeCVPR Dataset + classes + train_splits: The splits used to train the model, e.g. ["ny-train"] + val_splits: The splits used to validate the model, e.g. ["ny-val"] + test_splits: The splits used to test the model, e.g. ["ny-test"] + patches_per_tile: The number of patches per tile to sample + patch_size: The size of each patch in pixels (test patches will be 1.5 times + this size) + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + class_set: The high-resolution land cover class set to use - 5 or 7 + """ + super().__init__() # type: ignore[no-untyped-call] + for state in train_splits + val_splits + test_splits: + assert state in ChesapeakeCVPR.splits + assert class_set in [5, 7] + + self.root_dir = root_dir + self.train_splits = train_splits + self.val_splits = val_splits + self.test_splits = test_splits + self.layers = ["naip-new", "lc"] + self.patches_per_tile = patches_per_tile + self.patch_size = patch_size + # This is a rough estimate of how large of a patch we will need to sample in + # EPSG:3857 in order to guarantee a large enough patch in the local CRS. + self.original_patch_size = int(patch_size * 2.0) + self.batch_size = batch_size + self.num_workers = num_workers + self.class_set = class_set + + def pad_to( + self, size: int = 512, image_value: int = 0, mask_value: int = 0 + ) -> Callable[[Dict[str, Tensor]], Dict[str, Tensor]]: + """Returns a function to perform a padding transform on a single sample. + + Args: + size: output image size + image_value: value to pad image with + mask_value: value to pad mask with + + Returns: + function to perform padding + """ + + def pad_inner(sample: Dict[str, Tensor]) -> Dict[str, Tensor]: + _, height, width = sample["image"].shape + assert height <= size and width <= size + + height_pad = size - height + width_pad = size - width + + # See https://pytorch.org/docs/stable/generated/torch.nn.functional.pad.html + # for a description of the format of the padding tuple + sample["image"] = F.pad( + sample["image"], + (0, width_pad, 0, height_pad), + mode="constant", + value=image_value, + ) + sample["mask"] = F.pad( + sample["mask"], + (0, width_pad, 0, height_pad), + mode="constant", + value=mask_value, + ) + return sample + + return pad_inner + + def center_crop( + self, size: int = 512 + ) -> Callable[[Dict[str, Tensor]], Dict[str, Tensor]]: + """Returns a function to perform a center crop transform on a single sample. + + Args: + size: output image size + + Returns: + function to perform center crop + """ + + def center_crop_inner(sample: Dict[str, Tensor]) -> Dict[str, Tensor]: + _, height, width = sample["image"].shape + + y1 = (height - size) // 2 + x1 = (width - size) // 2 + sample["image"] = sample["image"][:, y1 : y1 + size, x1 : x1 + size] + sample["mask"] = sample["mask"][:, y1 : y1 + size, x1 : x1 + size] + + return sample + + return center_crop_inner + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Preprocesses a single sample. + + Args: + sample: sample dictionary containing image and mask + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"] / 255.0 + sample["mask"] = sample["mask"] + sample["mask"] = sample["mask"].squeeze() + + if self.class_set == 5: + sample["mask"][sample["mask"] == 5] = 4 + sample["mask"][sample["mask"] == 6] = 4 + + sample["image"] = sample["image"].float() + sample["mask"] = sample["mask"].long() + + return sample + + def nodata_check( + self, size: int = 512 + ) -> Callable[[Dict[str, Tensor]], Dict[str, Tensor]]: + """Returns a function to check for nodata or mis-sized input. + + Args: + size: output image size + + Returns: + function to check for nodata values + """ + + def nodata_check_inner(sample: Dict[str, Tensor]) -> Dict[str, Tensor]: + num_channels, height, width = sample["image"].shape + + if height < size or width < size: + sample["image"] = torch.zeros( # type: ignore[attr-defined] + (num_channels, size, size) + ) + sample["mask"] = torch.zeros((size, size)) # type: ignore[attr-defined] + + return sample + + return nodata_check_inner + + def prepare_data(self) -> None: + """Confirms that the dataset is downloaded on the local node. + + This method is called once per node, while :func:`setup` is called once per GPU. + """ + ChesapeakeCVPR( + self.root_dir, + splits=self.train_splits, + layers=self.layers, + transforms=None, + download=False, + checksum=False, + ) + + def setup(self, stage: Optional[str] = None) -> None: + """Create the train/val/test splits based on the original Dataset objects. + + The splits should be done here vs. in :func:`__init__` per the docs: + https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. + + Args: + stage: stage to set up + """ + train_transforms = Compose( + [ + self.center_crop(self.patch_size), + self.nodata_check(self.patch_size), + self.preprocess, + ] + ) + val_transforms = Compose( + [ + self.center_crop(self.patch_size), + self.nodata_check(self.patch_size), + self.preprocess, + ] + ) + test_transforms = Compose( + [ + self.pad_to(self.original_patch_size, image_value=0, mask_value=0), + self.preprocess, + ] + ) + + self.train_dataset = ChesapeakeCVPR( + self.root_dir, + splits=self.train_splits, + layers=self.layers, + transforms=train_transforms, + download=False, + checksum=False, + ) + self.val_dataset = ChesapeakeCVPR( + self.root_dir, + splits=self.val_splits, + layers=self.layers, + transforms=val_transforms, + download=False, + checksum=False, + ) + self.test_dataset = ChesapeakeCVPR( + self.root_dir, + splits=self.test_splits, + layers=self.layers, + transforms=test_transforms, + download=False, + checksum=False, + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + sampler = RandomBatchGeoSampler( + self.train_dataset, + size=self.original_patch_size, + batch_size=self.batch_size, + length=self.patches_per_tile * len(self.train_dataset), + ) + return DataLoader( + self.train_dataset, + batch_sampler=sampler, + num_workers=self.num_workers, + collate_fn=stack_samples, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + sampler = GridGeoSampler( + self.val_dataset, + size=self.original_patch_size, + stride=self.original_patch_size, + ) + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + sampler=sampler, + num_workers=self.num_workers, + collate_fn=stack_samples, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + sampler = GridGeoSampler( + self.test_dataset, + size=self.original_patch_size, + stride=self.original_patch_size, + ) + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + sampler=sampler, + num_workers=self.num_workers, + collate_fn=stack_samples, + ) diff --git a/torchgeo/datamodules/cowc.py b/torchgeo/datamodules/cowc.py new file mode 100644 index 00000000000..4d6e4a7cdb8 --- /dev/null +++ b/torchgeo/datamodules/cowc.py @@ -0,0 +1,123 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""COWC datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +from torch import Generator # type: ignore[attr-defined] +from torch.utils.data import DataLoader, random_split + +from ..datasets import COWCCounting + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class COWCCountingDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the COWC Counting dataset.""" + + def __init__( + self, + root_dir: str, + seed: int, + batch_size: int = 64, + num_workers: int = 0, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for COWC Counting based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the COWCCounting Dataset class + seed: The seed value to use when doing the dataset random_split + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.seed = seed + self.batch_size = batch_size + self.num_workers = num_workers + + def custom_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: dictionary containing image and target + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"] / 255.0 # scale to [0, 1] + sample["label"] = sample["label"].float() + return sample + + def prepare_data(self) -> None: + """Initialize the main ``Dataset`` objects for use in :func:`setup`. + + This includes optionally downloading the dataset. This is done once per node, + while :func:`setup` is done once per GPU. + """ + COWCCounting(self.root_dir, download=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Create the train/val/test splits based on the original Dataset objects. + + The splits should be done here vs. in :func:`__init__` per the docs: + https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. + + Args: + stage: stage to set up + """ + train_val_dataset = COWCCounting( + self.root_dir, split="train", transforms=self.custom_transform + ) + self.test_dataset = COWCCounting( + self.root_dir, split="test", transforms=self.custom_transform + ) + self.train_dataset, self.val_dataset = random_split( + train_val_dataset, + [len(train_val_dataset) - len(self.test_dataset), len(self.test_dataset)], + generator=Generator().manual_seed(self.seed), + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/cyclone.py b/torchgeo/datamodules/cyclone.py new file mode 100644 index 00000000000..929628e7c37 --- /dev/null +++ b/torchgeo/datamodules/cyclone.py @@ -0,0 +1,171 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""Tropical Cyclone Wind Estimation Competition datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +import torch +from sklearn.model_selection import GroupShuffleSplit +from torch.utils.data import DataLoader, Subset + +from ..datasets import TropicalCycloneWindEstimation + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class CycloneDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the NASA Cyclone dataset. + + Implements 80/20 train/val splits based on hurricane storm ids. + See :func:`setup` for more details. + """ + + def __init__( + self, + root_dir: str, + seed: int, + batch_size: int = 64, + num_workers: int = 0, + api_key: Optional[str] = None, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for NASA Cyclone based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the + TropicalCycloneWindEstimation Datasets classes + seed: The seed value to use when doing the sklearn based GroupShuffleSplit + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + api_key: The RadiantEarth MLHub API key to use if the dataset needs to be + downloaded + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.seed = seed + self.batch_size = batch_size + self.num_workers = num_workers + self.api_key = api_key + + def custom_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: dictionary containing image and target + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"] / 255.0 # scale to [0,1] + sample["image"] = ( + sample["image"].unsqueeze(0).repeat(3, 1, 1) + ) # convert to 3 channel + sample["label"] = torch.as_tensor( # type: ignore[attr-defined] + sample["label"] + ).float() + + return sample + + def prepare_data(self) -> None: + """Initialize the main ``Dataset`` objects for use in :func:`setup`. + + This includes optionally downloading the dataset. This is done once per node, + while :func:`setup` is done once per GPU. + """ + TropicalCycloneWindEstimation( + self.root_dir, + split="train", + transforms=self.custom_transform, + download=self.api_key is not None, + api_key=self.api_key, + ) + + def setup(self, stage: Optional[str] = None) -> None: + """Create the train/val/test splits based on the original Dataset objects. + + The splits should be done here vs. in :func:`__init__` per the docs: + https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. + + We split samples between train/val by the ``storm_id`` property. I.e. all + samples with the same ``storm_id`` value will be either in the train or the val + split. This is important to test one type of generalizability -- given a new + storm, can we predict its windspeed. The test set, however, contains *some* + storms from the training set (specifically, the latter parts of the storms) as + well as some novel storms. + + Args: + stage: stage to set up + """ + self.all_train_dataset = TropicalCycloneWindEstimation( + self.root_dir, + split="train", + transforms=self.custom_transform, + download=False, + ) + + self.all_test_dataset = TropicalCycloneWindEstimation( + self.root_dir, + split="test", + transforms=self.custom_transform, + download=False, + ) + + storm_ids = [] + for item in self.all_train_dataset.collection: + storm_id = item["href"].split("/")[0].split("_")[-2] + storm_ids.append(storm_id) + + train_indices, val_indices = next( + GroupShuffleSplit(test_size=0.2, n_splits=2, random_state=self.seed).split( + storm_ids, groups=storm_ids + ) + ) + + self.train_dataset = Subset(self.all_train_dataset, train_indices) + self.val_dataset = Subset(self.all_train_dataset, val_indices) + self.test_dataset = Subset( + self.all_test_dataset, range(len(self.all_test_dataset)) + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/etci2021.py b/torchgeo/datamodules/etci2021.py new file mode 100644 index 00000000000..5db89a07379 --- /dev/null +++ b/torchgeo/datamodules/etci2021.py @@ -0,0 +1,151 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""ETCI 2021 datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +import torch +from torch import Generator # type: ignore[attr-defined] +from torch.utils.data import DataLoader, random_split +from torchvision.transforms import Normalize + +from ..datasets import ETCI2021 + + +class ETCI2021DataModule(pl.LightningDataModule): + """LightningDataModule implementation for the ETCI2021 dataset. + + Splits the existing train split from the dataset into train/val with 80/20 + proportions, then uses the existing val dataset as the test data. + + .. versionadded:: 0.2 + """ + + band_means = torch.tensor( # type: ignore[attr-defined] + [0.52253931, 0.52253931, 0.52253931, 0.61221701, 0.61221701, 0.61221701, 0] + ) + + band_stds = torch.tensor( # type: ignore[attr-defined] + [0.35221376, 0.35221376, 0.35221376, 0.37364622, 0.37364622, 0.37364622, 1] + ) + + def __init__( + self, + root_dir: str, + seed: int = 0, + batch_size: int = 64, + num_workers: int = 0, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for ETCI2021 based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the ETCI2021 Dataset classes + seed: The seed value to use when doing the dataset random_split + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.seed = seed + self.batch_size = batch_size + self.num_workers = num_workers + + self.norm = Normalize(self.band_means, self.band_stds) + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Notably, moves the given water mask to act as an input layer. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + image = sample["image"] + water_mask = sample["mask"][0].unsqueeze(0) + flood_mask = sample["mask"][1] + flood_mask = (flood_mask > 0).long() + + sample["image"] = torch.cat( # type: ignore[attr-defined] + [image, water_mask], dim=0 + ).float() + sample["image"] /= 255.0 + sample["image"] = self.norm(sample["image"]) + sample["mask"] = flood_mask + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + ETCI2021(self.root_dir, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + train_val_dataset = ETCI2021( + self.root_dir, split="train", transforms=self.preprocess + ) + self.test_dataset = ETCI2021( + self.root_dir, split="val", transforms=self.preprocess + ) + + size_train_val = len(train_val_dataset) + size_train = int(0.8 * size_train_val) + size_val = size_train_val - size_train + + self.train_dataset, self.val_dataset = random_split( + train_val_dataset, + [size_train, size_val], + generator=Generator().manual_seed(self.seed), + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/eurosat.py b/torchgeo/datamodules/eurosat.py new file mode 100644 index 00000000000..72708e07019 --- /dev/null +++ b/torchgeo/datamodules/eurosat.py @@ -0,0 +1,148 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""EuroSAT datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +import torch +from torch.utils.data import DataLoader +from torchvision.transforms import Compose, Normalize + +from ..datasets import EuroSAT + + +class EuroSATDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the EuroSAT dataset. + + Uses the train/val/test splits from the dataset. + + .. versionadded:: 0.2 + """ + + band_means = torch.tensor( # type: ignore[attr-defined] + [ + 1354.40546513, + 1118.24399958, + 1042.92983953, + 947.62620298, + 1199.47283961, + 1999.79090914, + 2369.22292565, + 2296.82608323, + 732.08340178, + 12.11327804, + 1819.01027855, + 1118.92391149, + 2594.14080798, + ] + ) + + band_stds = torch.tensor( # type: ignore[attr-defined] + [ + 245.71762908, + 333.00778264, + 395.09249139, + 593.75055589, + 566.4170017, + 861.18399006, + 1086.63139075, + 1117.98170791, + 404.91978886, + 4.77584468, + 1002.58768311, + 761.30323499, + 1231.58581042, + ] + ) + + def __init__( + self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any + ) -> None: + """Initialize a LightningDataModule for EuroSAT based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the EuroSAT Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + + self.norm = Normalize(self.band_means, self.band_stds) + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] = self.norm(sample["image"]) + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + EuroSAT(self.root_dir) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + self.train_dataset = EuroSAT(self.root_dir, "train", transforms=transforms) + self.val_dataset = EuroSAT(self.root_dir, "val", transforms=transforms) + self.test_dataset = EuroSAT(self.root_dir, "test", transforms=transforms) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/fair1m.py b/torchgeo/datamodules/fair1m.py new file mode 100644 index 00000000000..15a8cbfca52 --- /dev/null +++ b/torchgeo/datamodules/fair1m.py @@ -0,0 +1,132 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""FAIR1M datamodule.""" + +from typing import Any, Dict, List, Optional + +import pytorch_lightning as pl +import torch +from torch import Tensor +from torch.utils.data import DataLoader +from torchvision.transforms import Compose + +from ..datasets import FAIR1M +from .utils import dataset_split + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +def collate_fn(batch: List[Dict[str, Tensor]]) -> Dict[str, Any]: + """Custom object detection collate fn to handle variable number of boxes. + + Args: + batch: list of sample dicts return by dataset + Returns: + batch dict output + """ + output: Dict[str, Any] = {} + output["image"] = torch.stack([sample["image"] for sample in batch]) + output["boxes"] = [sample["boxes"] for sample in batch] + return output + + +class FAIR1MDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the FAIR1M dataset.""" + + def __init__( + self, + root_dir: str, + batch_size: int = 64, + num_workers: int = 0, + val_split_pct: float = 0.2, + test_split_pct: float = 0.2, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for FAIR1M based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the FAIR1M Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + val_split_pct: What percentage of the dataset to use as a validation set + test_split_pct: What percentage of the dataset to use as a test set + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + self.val_split_pct = val_split_pct + self.test_split_pct = test_split_pct + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] /= 255.0 + return sample + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + dataset = FAIR1M(self.root_dir, transforms=transforms) + self.train_dataset, self.val_dataset, self.test_dataset = dataset_split( + dataset, val_pct=self.val_split_pct, test_pct=self.test_split_pct + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + collate_fn=collate_fn, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + collate_fn=collate_fn, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + collate_fn=collate_fn, + ) diff --git a/torchgeo/datamodules/landcoverai.py b/torchgeo/datamodules/landcoverai.py new file mode 100644 index 00000000000..95256dffe5a --- /dev/null +++ b/torchgeo/datamodules/landcoverai.py @@ -0,0 +1,122 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""LandCover.ai datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +from torch.utils.data import DataLoader + +from ..datasets import LandCoverAI + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class LandCoverAIDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the LandCover.ai dataset. + + Uses the train/val/test splits from the dataset. + """ + + def __init__( + self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any + ) -> None: + """Initialize a LightningDataModule for LandCover.ai based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the Landcover.AI Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: dictionary containing image and mask + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"] / 255.0 + + sample["image"] = sample["image"].float() + sample["mask"] = sample["mask"].float().unsqueeze(0) + 1 + + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + _ = LandCoverAI(self.root_dir, download=False, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + train_transforms = self.preprocess + val_test_transforms = self.preprocess + + self.train_dataset = LandCoverAI( + self.root_dir, split="train", transforms=train_transforms + ) + + self.val_dataset = LandCoverAI( + self.root_dir, split="val", transforms=val_test_transforms + ) + + self.test_dataset = LandCoverAI( + self.root_dir, split="test", transforms=val_test_transforms + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/loveda.py b/torchgeo/datamodules/loveda.py new file mode 100644 index 00000000000..4aeae5323b6 --- /dev/null +++ b/torchgeo/datamodules/loveda.py @@ -0,0 +1,129 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""LoveDA datamodule.""" + +from typing import Any, Dict, List, Optional + +import pytorch_lightning as pl +from torch.utils.data import DataLoader + +from ..datasets import LoveDA + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class LoveDADataModule(pl.LightningDataModule): + """LightningDataModule implementation for the LoveDA dataset. + + Uses the train/val/test splits from the dataset. + """ + + def __init__( + self, + root_dir: str, + scene: List[str], + batch_size: int = 32, + num_workers: int = 0, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for LoveDA based DataLoaders. + + Args: + root_dir: The ``root`` argument to pass to LoveDA Dataset classes + scene: specify whether to load only 'urban', only 'rural' or both + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.scene = scene + self.batch_size = batch_size + self.num_workers = num_workers + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: dictionary containing image and mask + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"] / 255.0 + + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + _ = LoveDA(self.root_dir, scene=self.scene, download=False, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + train_transforms = self.preprocess + val_test_transforms = self.preprocess + + self.train_dataset = LoveDA( + self.root_dir, split="train", scene=self.scene, transforms=train_transforms + ) + + self.val_dataset = LoveDA( + self.root_dir, split="val", scene=self.scene, transforms=val_test_transforms + ) + + self.test_dataset = LoveDA( + self.root_dir, + split="test", + scene=self.scene, + transforms=val_test_transforms, + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/naip.py b/torchgeo/datamodules/naip.py new file mode 100644 index 00000000000..b00d142edee --- /dev/null +++ b/torchgeo/datamodules/naip.py @@ -0,0 +1,161 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""National Agriculture Imagery Program (NAIP) datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +from torch.utils.data import DataLoader + +from ..datasets import NAIP, BoundingBox, Chesapeake13, stack_samples +from ..samplers.batch import RandomBatchGeoSampler +from ..samplers.single import GridGeoSampler + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class NAIPChesapeakeDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the NAIP and Chesapeake datasets. + + Uses the train/val/test splits from the dataset. + """ + + # TODO: tune these hyperparams + length = 1000 + stride = 128 + + def __init__( + self, + naip_root_dir: str, + chesapeake_root_dir: str, + batch_size: int = 64, + num_workers: int = 0, + patch_size: int = 256, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for NAIP and Chesapeake based DataLoaders. + + Args: + naip_root_dir: directory containing NAIP data + chesapeake_root_dir: directory containing Chesapeake data + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + patch_size: size of patches to sample + """ + super().__init__() # type: ignore[no-untyped-call] + self.naip_root_dir = naip_root_dir + self.chesapeake_root_dir = chesapeake_root_dir + self.batch_size = batch_size + self.num_workers = num_workers + self.patch_size = patch_size + + def naip_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the NAIP Dataset. + + Args: + sample: NAIP image dictionary + + Returns: + preprocessed NAIP data + """ + sample["image"] = sample["image"] / 255.0 + sample["image"] = sample["image"].float() + return sample + + def chesapeake_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Chesapeake Dataset. + + Args: + sample: Chesapeake mask dictionary + + Returns: + preprocessed Chesapeake data + """ + sample["mask"] = sample["mask"].long()[0] + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + Chesapeake13(self.chesapeake_root_dir, download=False, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: state to set up + """ + # TODO: these transforms will be applied independently, this won't work if we + # add things like random horizontal flip + chesapeake = Chesapeake13( + self.chesapeake_root_dir, transforms=self.chesapeake_transform + ) + naip = NAIP( + self.naip_root_dir, + chesapeake.crs, + chesapeake.res, + transforms=self.naip_transform, + ) + self.dataset = chesapeake & naip + + # TODO: figure out better train/val/test split + roi = self.dataset.bounds + midx = roi.minx + (roi.maxx - roi.minx) / 2 + midy = roi.miny + (roi.maxy - roi.miny) / 2 + train_roi = BoundingBox(roi.minx, midx, roi.miny, roi.maxy, roi.mint, roi.maxt) + val_roi = BoundingBox(midx, roi.maxx, roi.miny, midy, roi.mint, roi.maxt) + test_roi = BoundingBox(roi.minx, roi.maxx, midy, roi.maxy, roi.mint, roi.maxt) + + self.train_sampler = RandomBatchGeoSampler( + naip, self.patch_size, self.batch_size, self.length, train_roi + ) + self.val_sampler = GridGeoSampler(naip, self.patch_size, self.stride, val_roi) + self.test_sampler = GridGeoSampler(naip, self.patch_size, self.stride, test_roi) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.dataset, + batch_sampler=self.train_sampler, + num_workers=self.num_workers, + collate_fn=stack_samples, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.dataset, + batch_size=self.batch_size, + sampler=self.val_sampler, + num_workers=self.num_workers, + collate_fn=stack_samples, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.dataset, + batch_size=self.batch_size, + sampler=self.test_sampler, + num_workers=self.num_workers, + collate_fn=stack_samples, + ) diff --git a/torchgeo/datamodules/nasa_marine_debris.py b/torchgeo/datamodules/nasa_marine_debris.py new file mode 100644 index 00000000000..e6337e9fb6a --- /dev/null +++ b/torchgeo/datamodules/nasa_marine_debris.py @@ -0,0 +1,140 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""NASA Marine Debris datamodule.""" + +from typing import Any, Dict, List, Optional + +import pytorch_lightning as pl +import torch +from torch import Tensor +from torch.utils.data import DataLoader +from torchvision.transforms import Compose + +from ..datasets import NASAMarineDebris +from .utils import dataset_split + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +def collate_fn(batch: List[Dict[str, Tensor]]) -> Dict[str, Any]: + """Custom object detection collate fn to handle variable boxes. + + Args: + batch: list of sample dicts return by dataset + + Returns: + batch dict output + """ + output: Dict[str, Any] = {} + output["image"] = torch.stack([sample["image"] for sample in batch]) + output["boxes"] = [sample["boxes"] for sample in batch] + return output + + +class NASAMarineDebrisDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the NASA Marine Debris dataset.""" + + def __init__( + self, + root_dir: str, + batch_size: int = 64, + num_workers: int = 0, + val_split_pct: float = 0.2, + test_split_pct: float = 0.2, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for NASA Marine Debris based DataLoaders. + + Args: + root_dir: The ``root`` argument to pass to the Dataset class + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + val_split_pct: What percentage of the dataset to use as a validation set + test_split_pct: What percentage of the dataset to use as a test set + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + self.val_split_pct = val_split_pct + self.test_split_pct = test_split_pct + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] /= 255.0 + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + NASAMarineDebris(self.root_dir, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + dataset = NASAMarineDebris(self.root_dir, transforms=transforms) + self.train_dataset, self.val_dataset, self.test_dataset = dataset_split( + dataset, val_pct=self.val_split_pct, test_pct=self.test_split_pct + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + collate_fn=collate_fn, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + collate_fn=collate_fn, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + collate_fn=collate_fn, + ) diff --git a/torchgeo/datamodules/oscd.py b/torchgeo/datamodules/oscd.py new file mode 100644 index 00000000000..f77f95310f7 --- /dev/null +++ b/torchgeo/datamodules/oscd.py @@ -0,0 +1,214 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""OSCD datamodule.""" + +from typing import Any, Dict, List, Optional, Tuple + +import kornia.augmentation as K +import pytorch_lightning as pl +import torch +from einops import repeat +from torch.utils.data import DataLoader, Dataset +from torch.utils.data._utils.collate import default_collate +from torchvision.transforms import Compose, Normalize + +from ..datasets import OSCD +from .utils import dataset_split + + +class OSCDDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the OSCD dataset. + + Uses the train/test splits from the dataset and further splits + the train split into train/val splits. + + .. versionadded: 0.2 + """ + + band_means = torch.tensor( # type: ignore[attr-defined] + [ + 1583.0741, + 1374.3202, + 1294.1616, + 1325.6158, + 1478.7408, + 1933.0822, + 2166.0608, + 2076.4868, + 2306.0652, + 690.9814, + 16.2360, + 2080.3347, + 1524.6930, + ] + ) + + band_stds = torch.tensor( # type: ignore[attr-defined] + [ + 52.1937, + 83.4168, + 105.6966, + 151.1401, + 147.4615, + 115.9289, + 123.1974, + 114.6483, + 141.4530, + 73.2758, + 4.8368, + 213.4821, + 179.4793, + ] + ) + + def __init__( + self, + root_dir: str, + bands: str = "all", + train_batch_size: int = 32, + num_workers: int = 0, + val_split_pct: float = 0.2, + patch_size: Tuple[int, int] = (64, 64), + num_patches_per_tile: int = 32, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for OSCD based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the OSCD Dataset classes + bands: "rgb" or "all" + train_batch_size: The batch size used in the train DataLoader + (val_batch_size == test_batch_size == 1) + num_workers: The number of workers to use in all created DataLoaders + val_split_pct: What percentage of the dataset to use as a validation set + patch_size: Size of random patch from image and mask (height, width) + num_patches_per_tile: number of random patches per sample + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.bands = bands + self.train_batch_size = train_batch_size + self.num_workers = num_workers + self.val_split_pct = val_split_pct + self.patch_size = patch_size + self.num_patches_per_tile = num_patches_per_tile + + if bands == "rgb": + self.band_means = self.band_means[[3, 2, 1], None, None] + self.band_stds = self.band_stds[[3, 2, 1], None, None] + else: + self.band_means = self.band_means[:, None, None] + self.band_stds = self.band_stds[:, None, None] + + self.norm = Normalize(self.band_means, self.band_stds) + self.rcrop = K.AugmentationSequential( + K.RandomCrop(patch_size), data_keys=["input", "mask"], same_on_batch=True + ) + self.padto = K.PadTo((1280, 1280)) + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset.""" + sample["image"] = sample["image"].float() + sample["mask"] = sample["mask"] + sample["image"] = self.norm(sample["image"]) + sample["image"] = torch.flatten( # type: ignore[attr-defined] + sample["image"], 0, 1 + ) + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + OSCD(self.root_dir, split="train", bands=self.bands, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + """ + + def n_random_crop(sample: Dict[str, Any]) -> Dict[str, Any]: + images, masks = [], [] + for i in range(self.num_patches_per_tile): + mask = repeat(sample["mask"], "h w -> t h w", t=2).float() + image, mask = self.rcrop(sample["image"], mask) + mask = mask.squeeze()[0] + images.append(image.squeeze()) + masks.append(mask.long()) + sample["image"] = torch.stack(images) + sample["mask"] = torch.stack(masks) + return sample + + def pad_to(sample: Dict[str, Any]) -> Dict[str, Any]: + sample["image"] = self.padto(sample["image"])[0] + sample["mask"] = self.padto(sample["mask"].float()).long()[0, 0] + return sample + + train_transforms = Compose([self.preprocess, n_random_crop]) + # for testing and validation we pad all inputs to a fixed size to avoid issues + # with the upsampling paths in encoder-decoder architectures + test_transforms = Compose([self.preprocess, pad_to]) + + train_dataset = OSCD( + self.root_dir, split="train", bands=self.bands, transforms=train_transforms + ) + + self.train_dataset: Dataset[Any] + self.val_dataset: Dataset[Any] + + if self.val_split_pct > 0.0: + val_dataset = OSCD( + self.root_dir, + split="train", + bands=self.bands, + transforms=test_transforms, + ) + self.train_dataset, self.val_dataset, _ = dataset_split( + train_dataset, val_pct=self.val_split_pct, test_pct=0.0 + ) + self.val_dataset.dataset = val_dataset + else: + self.train_dataset = train_dataset + self.val_dataset = train_dataset + + self.test_dataset = OSCD( + self.root_dir, split="test", bands=self.bands, transforms=test_transforms + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training.""" + + def collate_wrapper(batch: List[Dict[str, Any]]) -> Dict[str, Any]: + r_batch: Dict[str, Any] = default_collate( # type: ignore[no-untyped-call] + batch + ) + r_batch["image"] = torch.flatten( # type: ignore[attr-defined] + r_batch["image"], 0, 1 + ) + r_batch["mask"] = torch.flatten( # type: ignore[attr-defined] + r_batch["mask"], 0, 1 + ) + return r_batch + + return DataLoader( + self.train_dataset, + batch_size=self.train_batch_size, + num_workers=self.num_workers, + collate_fn=collate_wrapper, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation.""" + return DataLoader( + self.val_dataset, batch_size=1, num_workers=self.num_workers, shuffle=False + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing.""" + return DataLoader( + self.test_dataset, batch_size=1, num_workers=self.num_workers, shuffle=False + ) diff --git a/torchgeo/datamodules/potsdam.py b/torchgeo/datamodules/potsdam.py new file mode 100644 index 00000000000..0ddbd2dba9b --- /dev/null +++ b/torchgeo/datamodules/potsdam.py @@ -0,0 +1,121 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""Potsdam datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +from torch.utils.data import DataLoader, Dataset +from torchvision.transforms import Compose + +from ..datasets import Potsdam2D +from .utils import dataset_split + + +class Potsdam2DDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the Potsdam2D dataset. + + Uses the train/test splits from the dataset. + + .. versionadded: 0.2 + """ + + def __init__( + self, + root_dir: str, + batch_size: int = 64, + num_workers: int = 0, + val_split_pct: float = 0.2, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for Potsdam2D based DataLoaders. + + Args: + root_dir: The ``root`` argument to pass to the Potsdam2D Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + val_split_pct: What percentage of the dataset to use as a validation set + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + self.val_split_pct = val_split_pct + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] /= 255.0 + return sample + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + dataset = Potsdam2D(self.root_dir, "train", transforms=transforms) + + self.train_dataset: Dataset[Any] + self.val_dataset: Dataset[Any] + + if self.val_split_pct > 0.0: + self.train_dataset, self.val_dataset, _ = dataset_split( + dataset, val_pct=self.val_split_pct, test_pct=0.0 + ) + else: + self.train_dataset = dataset + self.val_dataset = dataset + + self.test_dataset = Potsdam2D(self.root_dir, "test", transforms=transforms) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/resisc45.py b/torchgeo/datamodules/resisc45.py new file mode 100644 index 00000000000..844ee0968a9 --- /dev/null +++ b/torchgeo/datamodules/resisc45.py @@ -0,0 +1,123 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""RESISC45 datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +import torch +from torch.utils.data import DataLoader +from torchvision.transforms import Compose, Normalize + +from ..datasets import RESISC45 + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class RESISC45DataModule(pl.LightningDataModule): + """LightningDataModule implementation for the RESISC45 dataset. + + Uses the train/val/test splits from the dataset. + """ + + band_means = torch.tensor( # type: ignore[attr-defined] + [0.36801773, 0.38097873, 0.343583] + ) + + band_stds = torch.tensor( # type: ignore[attr-defined] + [0.14540215, 0.13558227, 0.13203649] + ) + + def __init__( + self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any + ) -> None: + """Initialize a LightningDataModule for RESISC45 based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the RESISC45 Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + + self.norm = Normalize(self.band_means, self.band_stds) + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] /= 255.0 + sample["image"] = self.norm(sample["image"]) + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + RESISC45(self.root_dir, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + self.train_dataset = RESISC45(self.root_dir, "train", transforms=transforms) + self.val_dataset = RESISC45(self.root_dir, "val", transforms=transforms) + self.test_dataset = RESISC45(self.root_dir, "test", transforms=transforms) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/sen12ms.py b/torchgeo/datamodules/sen12ms.py new file mode 100644 index 00000000000..cfe5900c478 --- /dev/null +++ b/torchgeo/datamodules/sen12ms.py @@ -0,0 +1,202 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""SEN12MS datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +import torch +from sklearn.model_selection import GroupShuffleSplit +from torch.utils.data import DataLoader, Subset + +from ..datasets import SEN12MS + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class SEN12MSDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the SEN12MS dataset. + + Implements 80/20 geographic train/val splits and uses the test split from the + classification dataset definitions. See :func:`setup` for more details. + + Uses the Simplified IGBP scheme defined in the 2020 Data Fusion Competition. See + https://arxiv.org/abs/2002.08254. + """ + + #: Mapping from the IGBP class definitions to the DFC2020, taken from the dataloader + #: here https://github.com/lukasliebel/dfc2020_baseline. + DFC2020_CLASS_MAPPING = torch.tensor( # type: ignore[attr-defined] + [ + 0, # maps 0s to 0 + 1, # maps 1s to 1 + 1, # maps 2s to 1 + 1, # ... + 1, + 1, + 2, + 2, + 3, + 3, + 4, + 5, + 6, + 7, + 6, + 8, + 9, + 10, + ] + ) + + def __init__( + self, + root_dir: str, + seed: int, + band_set: str = "all", + batch_size: int = 64, + num_workers: int = 0, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for SEN12MS based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the SEN12MS Dataset classes + seed: The seed value to use when doing the sklearn based ShuffleSplit + band_set: The subset of S1/S2 bands to use. Options are: "all", + "s1", "s2-all", and "s2-reduced" where the "s2-reduced" set includes: + B2, B3, B4, B8, B11, and B12. + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + assert band_set in SEN12MS.BAND_SETS.keys() + + self.root_dir = root_dir + self.seed = seed + self.band_set = band_set + self.band_indices = SEN12MS.BAND_SETS[band_set] + self.batch_size = batch_size + self.num_workers = num_workers + + def custom_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: dictionary containing image and mask + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + + if self.band_set == "all": + sample["image"][:2] = sample["image"][:2].clamp(-25, 0) / -25 + sample["image"][2:] = sample["image"][2:].clamp(0, 10000) / 10000 + elif self.band_set == "s1": + sample["image"][:2] = sample["image"][:2].clamp(-25, 0) / -25 + else: + sample["image"][:] = sample["image"][:].clamp(0, 10000) / 10000 + + sample["mask"] = sample["mask"][0, :, :].long() + sample["mask"] = torch.take( # type: ignore[attr-defined] + self.DFC2020_CLASS_MAPPING, sample["mask"] + ) + + return sample + + def setup(self, stage: Optional[str] = None) -> None: + """Create the train/val/test splits based on the original Dataset objects. + + The splits should be done here vs. in :func:`__init__` per the docs: + https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. + + We split samples between train and val geographically with proportions of 80/20. + This mimics the geographic test set split. + + Args: + stage: stage to set up + """ + season_to_int = {"winter": 0, "spring": 1000, "summer": 2000, "fall": 3000} + + self.all_train_dataset = SEN12MS( + self.root_dir, + split="train", + bands=self.band_indices, + transforms=self.custom_transform, + checksum=False, + ) + + self.all_test_dataset = SEN12MS( + self.root_dir, + split="test", + bands=self.band_indices, + transforms=self.custom_transform, + checksum=False, + ) + + # A patch is a filename like: "ROIs{num}_{season}_s2_{scene_id}_p{patch_id}.tif" + # This patch will belong to the scene that is uniquelly identified by its + # (season, scene_id) tuple. Because the largest scene_id is 149, we can simply + # give each season a large number and representing a `unique_scene_id` as + # `season_id + scene_id`. + scenes = [] + for scene_fn in self.all_train_dataset.ids: + parts = scene_fn.split("_") + season_id = season_to_int[parts[1]] + scene_id = int(parts[3]) + scenes.append(season_id + scene_id) + + train_indices, val_indices = next( + GroupShuffleSplit(test_size=0.2, n_splits=2, random_state=self.seed).split( + scenes, groups=scenes + ) + ) + + self.train_dataset = Subset(self.all_train_dataset, train_indices) + self.val_dataset = Subset(self.all_train_dataset, val_indices) + self.test_dataset = Subset( + self.all_test_dataset, range(len(self.all_test_dataset)) + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/so2sat.py b/torchgeo/datamodules/so2sat.py new file mode 100644 index 00000000000..9f072edbf43 --- /dev/null +++ b/torchgeo/datamodules/so2sat.py @@ -0,0 +1,225 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""So2Sat datamodule.""" + +from typing import Any, Dict, Optional, cast + +import pytorch_lightning as pl +import torch +from torch.utils.data import DataLoader +from torchvision.transforms import Compose + +from ..datasets import So2Sat + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class So2SatDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the So2Sat dataset. + + Uses the train/val/test splits from the dataset. + """ + + band_means = torch.tensor( # type: ignore[attr-defined] + [ + -3.591224256609313e-05, + -7.658561276843396e-06, + 5.9373857475971184e-05, + 2.5166231537121083e-05, + 0.04420110659759328, + 0.25761027084996196, + 0.0007556743372573258, + 0.0013503466830024448, + 0.12375696117681859, + 0.1092774636368323, + 0.1010855203267882, + 0.1142398616114001, + 0.1592656692023089, + 0.18147236008771792, + 0.1745740312291377, + 0.19501607349635292, + 0.15428468872076637, + 0.10905050699570007, + ] + ).reshape(18, 1, 1) + + band_stds = torch.tensor( # type: ignore[attr-defined] + [ + 0.17555201137417686, + 0.17556463274968204, + 0.45998793417834255, + 0.455988755730148, + 2.8559909213125763, + 8.324800606439833, + 2.4498757382563103, + 1.4647352984509094, + 0.03958795985905458, + 0.047778262752410296, + 0.06636616706371974, + 0.06358874912497474, + 0.07744387147984592, + 0.09101635085921553, + 0.09218466562387101, + 0.10164581233948201, + 0.09991773043519253, + 0.08780632509122865, + ] + ).reshape(18, 1, 1) + + # this reorders the bands to put S2 RGB first, then remainder of S2, then S1 + reindex_to_rgb_first = [ + 10, + 9, + 8, + 11, + 12, + 13, + 14, + 15, + 16, + 17, + # 0, + # 1, + # 2, + # 3, + # 4, + # 5, + # 6, + # 7, + ] + + def __init__( + self, + root_dir: str, + batch_size: int = 64, + num_workers: int = 0, + bands: str = "rgb", + unsupervised_mode: bool = False, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for So2Sat based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the So2Sat Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + bands: Either "rgb" or "s2" + unsupervised_mode: Makes the train dataloader return imagery from the train, + val, and test sets + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + self.bands = bands + self.unsupervised_mode = unsupervised_mode + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: dictionary containing image + + Returns: + preprocessed sample + """ + # sample["image"] = (sample["image"] - self.band_means) / self.band_stds + sample["image"] = sample["image"].float() + sample["image"] = sample["image"][self.reindex_to_rgb_first, :, :] + + if self.bands == "rgb": + sample["image"] = sample["image"][:3, :, :] + + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + So2Sat(self.root_dir, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + train_transforms = Compose([self.preprocess]) + val_test_transforms = self.preprocess + + if not self.unsupervised_mode: + + self.train_dataset = So2Sat( + self.root_dir, split="train", transforms=train_transforms + ) + + self.val_dataset = So2Sat( + self.root_dir, split="validation", transforms=val_test_transforms + ) + + self.test_dataset = So2Sat( + self.root_dir, split="test", transforms=val_test_transforms + ) + + else: + + temp_train = So2Sat( + self.root_dir, split="train", transforms=train_transforms + ) + + self.val_dataset = So2Sat( + self.root_dir, split="validation", transforms=train_transforms + ) + + self.test_dataset = So2Sat( + self.root_dir, split="test", transforms=train_transforms + ) + + self.train_dataset = cast( + So2Sat, temp_train + self.val_dataset + self.test_dataset + ) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/ucmerced.py b/torchgeo/datamodules/ucmerced.py new file mode 100644 index 00000000000..69cd9773384 --- /dev/null +++ b/torchgeo/datamodules/ucmerced.py @@ -0,0 +1,125 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""UC Merced datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +import torch +import torchvision +from torch.utils.data import DataLoader +from torchvision.transforms import Compose, Normalize + +from ..datasets import UCMerced + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +DataLoader.__module__ = "torch.utils.data" + + +class UCMercedDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the UC Merced dataset. + + Uses random train/val/test splits. + """ + + band_means = torch.tensor([0, 0, 0]) # type: ignore[attr-defined] + + band_stds = torch.tensor([1, 1, 1]) # type: ignore[attr-defined] + + def __init__( + self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any + ) -> None: + """Initialize a LightningDataModule for UCMerced based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the UCMerced Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + + self.norm = Normalize(self.band_means, self.band_stds) + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: dictionary containing image + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] /= 255.0 + c, h, w = sample["image"].shape + if h != 256 or w != 256: + sample["image"] = torchvision.transforms.functional.resize( + sample["image"], size=(256, 256) + ) + sample["image"] = self.norm(sample["image"]) + return sample + + def prepare_data(self) -> None: + """Make sure that the dataset is downloaded. + + This method is only called once per run. + """ + UCMerced(self.root_dir, download=False, checksum=False) + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + self.train_dataset = UCMerced(self.root_dir, "train", transforms=transforms) + self.val_dataset = UCMerced(self.root_dir, "val", transforms=transforms) + self.test_dataset = UCMerced(self.root_dir, "test", transforms=transforms) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/utils.py b/torchgeo/datamodules/utils.py new file mode 100644 index 00000000000..ff1f571c2b6 --- /dev/null +++ b/torchgeo/datamodules/utils.py @@ -0,0 +1,33 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""Common datamodule utilities.""" + +from typing import Any, List, Optional + +from torch.utils.data import Dataset, Subset, random_split + + +def dataset_split( + dataset: Dataset[Any], val_pct: float, test_pct: Optional[float] = None +) -> List[Subset[Any]]: + """Split a torch Dataset into train/val/test sets. + + If ``test_pct`` is not set then only train and validation splits are returned. + + Args: + dataset: dataset to be split into train/val or train/val/test subsets + val_pct: percentage of samples to be in validation set + test_pct: (Optional) percentage of samples to be in test set + Returns: + a list of the subset datasets. Either [train, val] or [train, val, test] + """ + if test_pct is None: + val_length = int(len(dataset) * val_pct) + train_length = len(dataset) - val_length + return random_split(dataset, [train_length, val_length]) + else: + val_length = int(len(dataset) * val_pct) + test_length = int(len(dataset) * test_pct) + train_length = len(dataset) - (val_length + test_length) + return random_split(dataset, [train_length, val_length, test_length]) diff --git a/torchgeo/datamodules/vaihingen.py b/torchgeo/datamodules/vaihingen.py new file mode 100644 index 00000000000..afc36892c10 --- /dev/null +++ b/torchgeo/datamodules/vaihingen.py @@ -0,0 +1,121 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""Vaihingen datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +from torch.utils.data import DataLoader, Dataset +from torchvision.transforms import Compose + +from ..datasets import Vaihingen2D +from .utils import dataset_split + + +class Vaihingen2DDataModule(pl.LightningDataModule): + """LightningDataModule implementation for the Vaihingen2D dataset. + + Uses the train/test splits from the dataset. + + .. versionadded: 0.2 + """ + + def __init__( + self, + root_dir: str, + batch_size: int = 64, + num_workers: int = 0, + val_split_pct: float = 0.2, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for Vaihingen2D based DataLoaders. + + Args: + root_dir: The ``root`` argument to pass to the Vaihingen Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + val_split_pct: What percentage of the dataset to use as a validation set + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + self.val_split_pct = val_split_pct + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] /= 255.0 + return sample + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + dataset = Vaihingen2D(self.root_dir, "train", transforms=transforms) + + self.train_dataset: Dataset[Any] + self.val_dataset: Dataset[Any] + + if self.val_split_pct > 0.0: + self.train_dataset, self.val_dataset, _ = dataset_split( + dataset, val_pct=self.val_split_pct, test_pct=0.0 + ) + else: + self.train_dataset = dataset + self.val_dataset = dataset + + self.test_dataset = Vaihingen2D(self.root_dir, "test", transforms=transforms) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datamodules/xview.py b/torchgeo/datamodules/xview.py new file mode 100644 index 00000000000..a8b5e118835 --- /dev/null +++ b/torchgeo/datamodules/xview.py @@ -0,0 +1,121 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""xView2 datamodule.""" + +from typing import Any, Dict, Optional + +import pytorch_lightning as pl +from torch.utils.data import DataLoader, Dataset +from torchvision.transforms import Compose + +from ..datasets import XView2 +from .utils import dataset_split + + +class XView2DataModule(pl.LightningDataModule): + """LightningDataModule implementation for the xView2 dataset. + + Uses the train/val/test splits from the dataset. + + .. versionadded: 0.2 + """ + + def __init__( + self, + root_dir: str, + batch_size: int = 64, + num_workers: int = 0, + val_split_pct: float = 0.2, + **kwargs: Any, + ) -> None: + """Initialize a LightningDataModule for xView2 based DataLoaders. + + Args: + root_dir: The ``root`` arugment to pass to the xView2 Dataset classes + batch_size: The batch size to use in all created DataLoaders + num_workers: The number of workers to use in all created DataLoaders + val_split_pct: What percentage of the dataset to use as a validation set + """ + super().__init__() # type: ignore[no-untyped-call] + self.root_dir = root_dir + self.batch_size = batch_size + self.num_workers = num_workers + self.val_split_pct = val_split_pct + + def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: + """Transform a single sample from the Dataset. + + Args: + sample: input image dictionary + + Returns: + preprocessed sample + """ + sample["image"] = sample["image"].float() + sample["image"] /= 255.0 + return sample + + def setup(self, stage: Optional[str] = None) -> None: + """Initialize the main ``Dataset`` objects. + + This method is called once per GPU per run. + + Args: + stage: stage to set up + """ + transforms = Compose([self.preprocess]) + + dataset = XView2(self.root_dir, "train", transforms=transforms) + + self.train_dataset: Dataset[Any] + self.val_dataset: Dataset[Any] + + if self.val_split_pct > 0.0: + self.train_dataset, self.val_dataset, _ = dataset_split( + dataset, val_pct=self.val_split_pct, test_pct=0.0 + ) + else: + self.train_dataset = dataset + self.val_dataset = dataset + + self.test_dataset = XView2(self.root_dir, "test", transforms=transforms) + + def train_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for training. + + Returns: + training data loader + """ + return DataLoader( + self.train_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=True, + ) + + def val_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for validation. + + Returns: + validation data loader + """ + return DataLoader( + self.val_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) + + def test_dataloader(self) -> DataLoader[Any]: + """Return a DataLoader for testing. + + Returns: + testing data loader + """ + return DataLoader( + self.test_dataset, + batch_size=self.batch_size, + num_workers=self.num_workers, + shuffle=False, + ) diff --git a/torchgeo/datasets/__init__.py b/torchgeo/datasets/__init__.py index 0f5e24b38cf..7e3cf7811c2 100644 --- a/torchgeo/datasets/__init__.py +++ b/torchgeo/datasets/__init__.py @@ -5,7 +5,7 @@ from .advance import ADVANCE from .benin_cashews import BeninSmallHolderCashews -from .bigearthnet import BigEarthNet, BigEarthNetDataModule +from .bigearthnet import BigEarthNet from .cbf import CanadianBuildingFootprints from .cdl import CDL from .chesapeake import ( @@ -13,7 +13,6 @@ Chesapeake7, Chesapeake13, ChesapeakeCVPR, - ChesapeakeCVPRDataModule, ChesapeakeDC, ChesapeakeDE, ChesapeakeMD, @@ -22,12 +21,12 @@ ChesapeakeVA, ChesapeakeWV, ) -from .cowc import COWC, COWCCounting, COWCCountingDataModule, COWCDetection +from .cowc import COWC, COWCCounting, COWCDetection from .cv4a_kenya_crop_type import CV4AKenyaCropType -from .cyclone import CycloneDataModule, TropicalCycloneWindEstimation -from .etci2021 import ETCI2021, ETCI2021DataModule -from .eurosat import EuroSAT, EuroSATDataModule -from .fair1m import FAIR1M, FAIR1MDataModule +from .cyclone import TropicalCycloneWindEstimation +from .etci2021 import ETCI2021 +from .eurosat import EuroSAT +from .fair1m import FAIR1M from .geo import ( GeoDataset, IntersectionDataset, @@ -39,7 +38,7 @@ ) from .gid15 import GID15 from .idtrees import IDTReeS -from .landcoverai import LandCoverAI, LandCoverAIDataModule +from .landcoverai import LandCoverAI from .landsat import ( Landsat, Landsat1, @@ -54,23 +53,23 @@ Landsat9, ) from .levircd import LEVIRCDPlus -from .loveda import LoveDA, LoveDADataModule -from .naip import NAIP, NAIPChesapeakeDataModule -from .nasa_marine_debris import NASAMarineDebris, NASAMarineDebrisDataModule +from .loveda import LoveDA +from .naip import NAIP +from .nasa_marine_debris import NASAMarineDebris from .nwpu import VHR10 -from .oscd import OSCD, OSCDDataModule +from .oscd import OSCD from .patternnet import PatternNet -from .potsdam import Potsdam2D, Potsdam2DDataModule -from .resisc45 import RESISC45, RESISC45DataModule +from .potsdam import Potsdam2D +from .resisc45 import RESISC45 from .seco import SeasonalContrastS2 -from .sen12ms import SEN12MS, SEN12MSDataModule +from .sen12ms import SEN12MS from .sentinel import Sentinel, Sentinel2 -from .so2sat import So2Sat, So2SatDataModule +from .so2sat import So2Sat from .spacenet import SpaceNet, SpaceNet1, SpaceNet2, SpaceNet4, SpaceNet5, SpaceNet7 -from .ucmerced import UCMerced, UCMercedDataModule +from .ucmerced import UCMerced from .utils import BoundingBox, concat_samples, merge_samples, stack_samples -from .vaihingen import Vaihingen2D, Vaihingen2DDataModule -from .xview import XView2, XView2DataModule +from .vaihingen import Vaihingen2D +from .xview import XView2 from .zuericrop import ZueriCrop __all__ = ( @@ -88,7 +87,6 @@ "ChesapeakeVA", "ChesapeakeWV", "ChesapeakeCVPR", - "ChesapeakeCVPRDataModule", "Landsat", "Landsat1", "Landsat2", @@ -101,46 +99,32 @@ "Landsat8", "Landsat9", "NAIP", - "NAIPChesapeakeDataModule", "Sentinel", "Sentinel2", # VisionDataset "ADVANCE", "BeninSmallHolderCashews", "BigEarthNet", - "BigEarthNetDataModule", "COWC", "COWCCounting", "COWCDetection", - "COWCCountingDataModule", "CV4AKenyaCropType", "ETCI2021", - "ETCI2021DataModule", "EuroSAT", - "EuroSATDataModule", "FAIR1M", - "FAIR1MDataModule", "GID15", "IDTReeS", "LandCoverAI", - "LandCoverAIDataModule", "LEVIRCDPlus", "LoveDA", - "LoveDADataModule", "NASAMarineDebris", - "NASAMarineDebrisDataModule", "OSCD", - "OSCDDataModule", "PatternNet", "Potsdam2D", - "Potsdam2DDataModule", "RESISC45", - "RESISC45DataModule", "SeasonalContrastS2", "SEN12MS", - "SEN12MSDataModule", "So2Sat", - "So2SatDataModule", "SpaceNet", "SpaceNet1", "SpaceNet2", @@ -148,14 +132,10 @@ "SpaceNet5", "SpaceNet7", "TropicalCycloneWindEstimation", - "CycloneDataModule", "UCMerced", - "UCMercedDataModule", "Vaihingen2D", - "Vaihingen2DDataModule", "VHR10", "XView2", - "XView2DataModule", "ZueriCrop", # Base classes "GeoDataset", diff --git a/torchgeo/datasets/bigearthnet.py b/torchgeo/datasets/bigearthnet.py index 409e0b82230..48d24766553 100644 --- a/torchgeo/datasets/bigearthnet.py +++ b/torchgeo/datasets/bigearthnet.py @@ -6,24 +6,17 @@ import glob import json import os -from typing import Any, Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional import numpy as np -import pytorch_lightning as pl import rasterio import torch from rasterio.enums import Resampling from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose from .geo import VisionDataset from .utils import download_url, extract_archive, sort_sentinel2_bands -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class BigEarthNet(VisionDataset): """BigEarthNet dataset. @@ -511,164 +504,3 @@ def _extract(self, filepath: str) -> None: """ if not filepath.endswith(".csv"): extract_archive(filepath) - - -class BigEarthNetDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the BigEarthNet dataset. - - Uses the train/val/test splits from the dataset. - """ - - # (VV, VH, B01, B02, B03, B04, B05, B06, B07, B08, B8A, B09, B11, B12) - # min/max band statistics computed on 100k random samples - band_mins_raw = torch.tensor( # type: ignore[attr-defined] - [-70.0, -72.0, 1.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 1.0, 0.0, 0.0] - ) - band_maxs_raw = torch.tensor( # type: ignore[attr-defined] - [ - 31.0, - 35.0, - 18556.0, - 20528.0, - 18976.0, - 17874.0, - 16611.0, - 16512.0, - 16394.0, - 16672.0, - 16141.0, - 16097.0, - 15336.0, - 15203.0, - ] - ) - - # min/max band statistics computed by percentile clipping the - # above to samples to [2, 98] - band_mins = torch.tensor( # type: ignore[attr-defined] - [-48.0, -42.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0] - ) - band_maxs = torch.tensor( # type: ignore[attr-defined] - [ - 6.0, - 16.0, - 9859.0, - 12872.0, - 13163.0, - 14445.0, - 12477.0, - 12563.0, - 12289.0, - 15596.0, - 12183.0, - 9458.0, - 5897.0, - 5544.0, - ] - ) - - def __init__( - self, - root_dir: str, - bands: str = "all", - num_classes: int = 19, - batch_size: int = 64, - num_workers: int = 0, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for BigEarthNet based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the BigEarthNet Dataset classes - bands: load Sentinel-1 bands, Sentinel-2, or both. one of {s1, s2, all} - num_classes: number of classes to load in target. one of {19, 43} - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.bands = bands - self.num_classes = num_classes - self.batch_size = batch_size - self.num_workers = num_workers - - if bands == "all": - self.mins = self.band_mins[:, None, None] - self.maxs = self.band_maxs[:, None, None] - elif bands == "s1": - self.mins = self.band_mins[:2, None, None] - self.maxs = self.band_maxs[:2, None, None] - else: - self.mins = self.band_mins[2:, None, None] - self.maxs = self.band_maxs[2:, None, None] - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset.""" - sample["image"] = sample["image"].float() - sample["image"] = (sample["image"] - self.mins) / (self.maxs - self.mins) - sample["image"] = torch.clip( # type: ignore[attr-defined] - sample["image"], min=0.0, max=1.0 - ) - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - BigEarthNet(self.root_dir, split="train", bands=self.bands, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - """ - transforms = Compose([self.preprocess]) - self.train_dataset = BigEarthNet( - self.root_dir, - split="train", - bands=self.bands, - num_classes=self.num_classes, - transforms=transforms, - ) - self.val_dataset = BigEarthNet( - self.root_dir, - split="val", - bands=self.bands, - num_classes=self.num_classes, - transforms=transforms, - ) - self.test_dataset = BigEarthNet( - self.root_dir, - split="test", - bands=self.bands, - num_classes=self.num_classes, - transforms=transforms, - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training.""" - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation.""" - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing.""" - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/chesapeake.py b/torchgeo/datasets/chesapeake.py index 1709b1a9e13..d697d96dea8 100644 --- a/torchgeo/datasets/chesapeake.py +++ b/torchgeo/datasets/chesapeake.py @@ -16,21 +16,10 @@ import shapely.geometry import shapely.ops import torch -import torch.nn.functional as F -from pytorch_lightning.core.datamodule import LightningDataModule from rasterio.crs import CRS -from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose -from ..samplers.batch import RandomBatchGeoSampler -from ..samplers.single import GridGeoSampler from .geo import GeoDataset, RasterDataset -from .utils import BoundingBox, download_url, extract_archive, stack_samples - -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" +from .utils import BoundingBox, download_url, extract_archive class Chesapeake(RasterDataset, abc.ABC): @@ -537,294 +526,3 @@ def _download(self) -> None: def _extract(self) -> None: """Extract the dataset.""" extract_archive(os.path.join(self.root, self.filename)) - - -class ChesapeakeCVPRDataModule(LightningDataModule): - """LightningDataModule implementation for the Chesapeake CVPR Land Cover dataset. - - Uses the random splits defined per state to partition tiles into train, val, - and test sets. - """ - - def __init__( - self, - root_dir: str, - train_splits: List[str], - val_splits: List[str], - test_splits: List[str], - patches_per_tile: int = 200, - patch_size: int = 256, - batch_size: int = 64, - num_workers: int = 0, - class_set: int = 7, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for Chesapeake CVPR based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the ChesapeakeCVPR Dataset - classes - train_splits: The splits used to train the model, e.g. ["ny-train"] - val_splits: The splits used to validate the model, e.g. ["ny-val"] - test_splits: The splits used to test the model, e.g. ["ny-test"] - patches_per_tile: The number of patches per tile to sample - patch_size: The size of each patch in pixels (test patches will be 1.5 times - this size) - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - class_set: The high-resolution land cover class set to use - 5 or 7 - """ - super().__init__() # type: ignore[no-untyped-call] - for state in train_splits + val_splits + test_splits: - assert state in ChesapeakeCVPR.splits - assert class_set in [5, 7] - - self.root_dir = root_dir - self.train_splits = train_splits - self.val_splits = val_splits - self.test_splits = test_splits - self.layers = ["naip-new", "lc"] - self.patches_per_tile = patches_per_tile - self.patch_size = patch_size - # This is a rough estimate of how large of a patch we will need to sample in - # EPSG:3857 in order to guarantee a large enough patch in the local CRS. - self.original_patch_size = int(patch_size * 2.0) - self.batch_size = batch_size - self.num_workers = num_workers - self.class_set = class_set - - def pad_to( - self, size: int = 512, image_value: int = 0, mask_value: int = 0 - ) -> Callable[[Dict[str, Tensor]], Dict[str, Tensor]]: - """Returns a function to perform a padding transform on a single sample. - - Args: - size: output image size - image_value: value to pad image with - mask_value: value to pad mask with - - Returns: - function to perform padding - """ - - def pad_inner(sample: Dict[str, Tensor]) -> Dict[str, Tensor]: - _, height, width = sample["image"].shape - assert height <= size and width <= size - - height_pad = size - height - width_pad = size - width - - # See https://pytorch.org/docs/stable/generated/torch.nn.functional.pad.html - # for a description of the format of the padding tuple - sample["image"] = F.pad( - sample["image"], - (0, width_pad, 0, height_pad), - mode="constant", - value=image_value, - ) - sample["mask"] = F.pad( - sample["mask"], - (0, width_pad, 0, height_pad), - mode="constant", - value=mask_value, - ) - return sample - - return pad_inner - - def center_crop( - self, size: int = 512 - ) -> Callable[[Dict[str, Tensor]], Dict[str, Tensor]]: - """Returns a function to perform a center crop transform on a single sample. - - Args: - size: output image size - - Returns: - function to perform center crop - """ - - def center_crop_inner(sample: Dict[str, Tensor]) -> Dict[str, Tensor]: - _, height, width = sample["image"].shape - - y1 = (height - size) // 2 - x1 = (width - size) // 2 - sample["image"] = sample["image"][:, y1 : y1 + size, x1 : x1 + size] - sample["mask"] = sample["mask"][:, y1 : y1 + size, x1 : x1 + size] - - return sample - - return center_crop_inner - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Preprocesses a single sample. - - Args: - sample: sample dictionary containing image and mask - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"] / 255.0 - sample["mask"] = sample["mask"] - sample["mask"] = sample["mask"].squeeze() - - if self.class_set == 5: - sample["mask"][sample["mask"] == 5] = 4 - sample["mask"][sample["mask"] == 6] = 4 - - sample["image"] = sample["image"].float() - sample["mask"] = sample["mask"].long() - - return sample - - def nodata_check( - self, size: int = 512 - ) -> Callable[[Dict[str, Tensor]], Dict[str, Tensor]]: - """Returns a function to check for nodata or mis-sized input. - - Args: - size: output image size - - Returns: - function to check for nodata values - """ - - def nodata_check_inner(sample: Dict[str, Tensor]) -> Dict[str, Tensor]: - num_channels, height, width = sample["image"].shape - - if height < size or width < size: - sample["image"] = torch.zeros( # type: ignore[attr-defined] - (num_channels, size, size) - ) - sample["mask"] = torch.zeros((size, size)) # type: ignore[attr-defined] - - return sample - - return nodata_check_inner - - def prepare_data(self) -> None: - """Confirms that the dataset is downloaded on the local node. - - This method is called once per node, while :func:`setup` is called once per GPU. - """ - ChesapeakeCVPR( - self.root_dir, - splits=self.train_splits, - layers=self.layers, - transforms=None, - download=False, - checksum=False, - ) - - def setup(self, stage: Optional[str] = None) -> None: - """Create the train/val/test splits based on the original Dataset objects. - - The splits should be done here vs. in :func:`__init__` per the docs: - https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. - - Args: - stage: stage to set up - """ - train_transforms = Compose( - [ - self.center_crop(self.patch_size), - self.nodata_check(self.patch_size), - self.preprocess, - ] - ) - val_transforms = Compose( - [ - self.center_crop(self.patch_size), - self.nodata_check(self.patch_size), - self.preprocess, - ] - ) - test_transforms = Compose( - [ - self.pad_to(self.original_patch_size, image_value=0, mask_value=0), - self.preprocess, - ] - ) - - self.train_dataset = ChesapeakeCVPR( - self.root_dir, - splits=self.train_splits, - layers=self.layers, - transforms=train_transforms, - download=False, - checksum=False, - ) - self.val_dataset = ChesapeakeCVPR( - self.root_dir, - splits=self.val_splits, - layers=self.layers, - transforms=val_transforms, - download=False, - checksum=False, - ) - self.test_dataset = ChesapeakeCVPR( - self.root_dir, - splits=self.test_splits, - layers=self.layers, - transforms=test_transforms, - download=False, - checksum=False, - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - sampler = RandomBatchGeoSampler( - self.train_dataset, - size=self.original_patch_size, - batch_size=self.batch_size, - length=self.patches_per_tile * len(self.train_dataset), - ) - return DataLoader( - self.train_dataset, - batch_sampler=sampler, - num_workers=self.num_workers, - collate_fn=stack_samples, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - sampler = GridGeoSampler( - self.val_dataset, - size=self.original_patch_size, - stride=self.original_patch_size, - ) - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - sampler=sampler, - num_workers=self.num_workers, - collate_fn=stack_samples, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - sampler = GridGeoSampler( - self.test_dataset, - size=self.original_patch_size, - stride=self.original_patch_size, - ) - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - sampler=sampler, - num_workers=self.num_workers, - collate_fn=stack_samples, - ) diff --git a/torchgeo/datasets/cowc.py b/torchgeo/datasets/cowc.py index 35bbdc54be6..f16448824b3 100644 --- a/torchgeo/datasets/cowc.py +++ b/torchgeo/datasets/cowc.py @@ -6,22 +6,16 @@ import abc import csv import os -from typing import Any, Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional import numpy as np -import pytorch_lightning as pl import torch from PIL import Image -from torch import Generator, Tensor # type: ignore[attr-defined] -from torch.utils.data import DataLoader, random_split +from torch import Tensor from .geo import VisionDataset from .utils import check_integrity, download_and_extract_archive -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class COWC(VisionDataset, abc.ABC): """Abstract base class for the COWC dataset. @@ -268,110 +262,3 @@ class COWCDetection(COWC): # 4. Unknown # # May need new abstract base class. Will need subclasses for different patch sizes. - - -class COWCCountingDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the COWC Counting dataset.""" - - def __init__( - self, - root_dir: str, - seed: int, - batch_size: int = 64, - num_workers: int = 0, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for COWC Counting based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the COWCCounting Dataset class - seed: The seed value to use when doing the dataset random_split - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.seed = seed - self.batch_size = batch_size - self.num_workers = num_workers - - def custom_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: dictionary containing image and target - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"] / 255.0 # scale to [0, 1] - sample["label"] = sample["label"].float() - return sample - - def prepare_data(self) -> None: - """Initialize the main ``Dataset`` objects for use in :func:`setup`. - - This includes optionally downloading the dataset. This is done once per node, - while :func:`setup` is done once per GPU. - """ - COWCCounting(self.root_dir, download=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Create the train/val/test splits based on the original Dataset objects. - - The splits should be done here vs. in :func:`__init__` per the docs: - https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. - - Args: - stage: stage to set up - """ - train_val_dataset = COWCCounting( - self.root_dir, split="train", transforms=self.custom_transform - ) - self.test_dataset = COWCCounting( - self.root_dir, split="test", transforms=self.custom_transform - ) - self.train_dataset, self.val_dataset = random_split( - train_val_dataset, - [len(train_val_dataset) - len(self.test_dataset), len(self.test_dataset)], - generator=Generator().manual_seed(self.seed), - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/cyclone.py b/torchgeo/datasets/cyclone.py index 37c20ca42d6..0229f1f85dc 100644 --- a/torchgeo/datasets/cyclone.py +++ b/torchgeo/datasets/cyclone.py @@ -10,20 +10,13 @@ import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from PIL import Image -from sklearn.model_selection import GroupShuffleSplit from torch import Tensor -from torch.utils.data import DataLoader, Subset from .geo import VisionDataset from .utils import check_integrity, download_radiant_mlhub_dataset, extract_archive -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class TropicalCycloneWindEstimation(VisionDataset): """Tropical Cyclone Wind Estimation Competition dataset. @@ -254,157 +247,3 @@ def plot( plt.suptitle(suptitle) return fig - - -class CycloneDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the NASA Cyclone dataset. - - Implements 80/20 train/val splits based on hurricane storm ids. - See :func:`setup` for more details. - """ - - def __init__( - self, - root_dir: str, - seed: int, - batch_size: int = 64, - num_workers: int = 0, - api_key: Optional[str] = None, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for NASA Cyclone based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the - TropicalCycloneWindEstimation Datasets classes - seed: The seed value to use when doing the sklearn based GroupShuffleSplit - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - api_key: The RadiantEarth MLHub API key to use if the dataset needs to be - downloaded - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.seed = seed - self.batch_size = batch_size - self.num_workers = num_workers - self.api_key = api_key - - def custom_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: dictionary containing image and target - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"] / 255.0 # scale to [0,1] - sample["image"] = ( - sample["image"].unsqueeze(0).repeat(3, 1, 1) - ) # convert to 3 channel - sample["label"] = torch.as_tensor( # type: ignore[attr-defined] - sample["label"] - ).float() - - return sample - - def prepare_data(self) -> None: - """Initialize the main ``Dataset`` objects for use in :func:`setup`. - - This includes optionally downloading the dataset. This is done once per node, - while :func:`setup` is done once per GPU. - """ - TropicalCycloneWindEstimation( - self.root_dir, - split="train", - transforms=self.custom_transform, - download=self.api_key is not None, - api_key=self.api_key, - ) - - def setup(self, stage: Optional[str] = None) -> None: - """Create the train/val/test splits based on the original Dataset objects. - - The splits should be done here vs. in :func:`__init__` per the docs: - https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. - - We split samples between train/val by the ``storm_id`` property. I.e. all - samples with the same ``storm_id`` value will be either in the train or the val - split. This is important to test one type of generalizability -- given a new - storm, can we predict its windspeed. The test set, however, contains *some* - storms from the training set (specifically, the latter parts of the storms) as - well as some novel storms. - - Args: - stage: stage to set up - """ - self.all_train_dataset = TropicalCycloneWindEstimation( - self.root_dir, - split="train", - transforms=self.custom_transform, - download=False, - ) - - self.all_test_dataset = TropicalCycloneWindEstimation( - self.root_dir, - split="test", - transforms=self.custom_transform, - download=False, - ) - - storm_ids = [] - for item in self.all_train_dataset.collection: - storm_id = item["href"].split("/")[0].split("_")[-2] - storm_ids.append(storm_id) - - train_indices, val_indices = next( - GroupShuffleSplit(test_size=0.2, n_splits=2, random_state=self.seed).split( - storm_ids, groups=storm_ids - ) - ) - - self.train_dataset = Subset(self.all_train_dataset, train_indices) - self.val_dataset = Subset(self.all_train_dataset, val_indices) - self.test_dataset = Subset( - self.all_test_dataset, range(len(self.all_test_dataset)) - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/etci2021.py b/torchgeo/datasets/etci2021.py index bb10da22bff..dbcf667ce95 100644 --- a/torchgeo/datasets/etci2021.py +++ b/torchgeo/datasets/etci2021.py @@ -5,16 +5,13 @@ import glob import os -from typing import Any, Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from PIL import Image -from torch import Generator, Tensor # type: ignore[attr-defined] -from torch.utils.data import DataLoader, random_split -from torchvision.transforms import Normalize +from torch import Tensor from .geo import VisionDataset from .utils import download_and_extract_archive @@ -320,140 +317,3 @@ def plot( if suptitle is not None: plt.suptitle(suptitle) return fig - - -class ETCI2021DataModule(pl.LightningDataModule): - """LightningDataModule implementation for the ETCI2021 dataset. - - Splits the existing train split from the dataset into train/val with 80/20 - proportions, then uses the existing val dataset as the test data. - - .. versionadded:: 0.2 - """ - - band_means = torch.tensor( # type: ignore[attr-defined] - [0.52253931, 0.52253931, 0.52253931, 0.61221701, 0.61221701, 0.61221701, 0] - ) - - band_stds = torch.tensor( # type: ignore[attr-defined] - [0.35221376, 0.35221376, 0.35221376, 0.37364622, 0.37364622, 0.37364622, 1] - ) - - def __init__( - self, - root_dir: str, - seed: int = 0, - batch_size: int = 64, - num_workers: int = 0, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for ETCI2021 based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the ETCI2021 Dataset classes - seed: The seed value to use when doing the dataset random_split - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.seed = seed - self.batch_size = batch_size - self.num_workers = num_workers - - self.norm = Normalize(self.band_means, self.band_stds) - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Notably, moves the given water mask to act as an input layer. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - image = sample["image"] - water_mask = sample["mask"][0].unsqueeze(0) - flood_mask = sample["mask"][1] - flood_mask = (flood_mask > 0).long() - - sample["image"] = torch.cat( # type: ignore[attr-defined] - [image, water_mask], dim=0 - ).float() - sample["image"] /= 255.0 - sample["image"] = self.norm(sample["image"]) - sample["mask"] = flood_mask - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - ETCI2021(self.root_dir, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - train_val_dataset = ETCI2021( - self.root_dir, split="train", transforms=self.preprocess - ) - self.test_dataset = ETCI2021( - self.root_dir, split="val", transforms=self.preprocess - ) - - size_train_val = len(train_val_dataset) - size_train = int(0.8 * size_train_val) - size_val = size_train_val - size_train - - self.train_dataset, self.val_dataset = random_split( - train_val_dataset, - [size_train, size_val], - generator=Generator().manual_seed(self.seed), - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/eurosat.py b/torchgeo/datasets/eurosat.py index 9ba06c1c683..e1e14072039 100644 --- a/torchgeo/datasets/eurosat.py +++ b/torchgeo/datasets/eurosat.py @@ -4,15 +4,11 @@ """EuroSAT dataset.""" import os -from typing import Any, Callable, Dict, Optional, cast +from typing import Callable, Dict, Optional, cast import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl -import torch from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose, Normalize from .geo import VisionClassificationDataset from .utils import check_integrity, download_url, extract_archive, rasterio_loader @@ -229,138 +225,3 @@ def plot( if suptitle is not None: plt.suptitle(suptitle) return fig - - -class EuroSATDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the EuroSAT dataset. - - Uses the train/val/test splits from the dataset. - - .. versionadded:: 0.2 - """ - - band_means = torch.tensor( # type: ignore[attr-defined] - [ - 1354.40546513, - 1118.24399958, - 1042.92983953, - 947.62620298, - 1199.47283961, - 1999.79090914, - 2369.22292565, - 2296.82608323, - 732.08340178, - 12.11327804, - 1819.01027855, - 1118.92391149, - 2594.14080798, - ] - ) - - band_stds = torch.tensor( # type: ignore[attr-defined] - [ - 245.71762908, - 333.00778264, - 395.09249139, - 593.75055589, - 566.4170017, - 861.18399006, - 1086.63139075, - 1117.98170791, - 404.91978886, - 4.77584468, - 1002.58768311, - 761.30323499, - 1231.58581042, - ] - ) - - def __init__( - self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any - ) -> None: - """Initialize a LightningDataModule for EuroSAT based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the EuroSAT Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - - self.norm = Normalize(self.band_means, self.band_stds) - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] = self.norm(sample["image"]) - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - EuroSAT(self.root_dir) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - self.train_dataset = EuroSAT(self.root_dir, "train", transforms=transforms) - self.val_dataset = EuroSAT(self.root_dir, "val", transforms=transforms) - self.test_dataset = EuroSAT(self.root_dir, "test", transforms=transforms) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/fair1m.py b/torchgeo/datasets/fair1m.py index e75f27be35f..c8e2184f23a 100644 --- a/torchgeo/datasets/fair1m.py +++ b/torchgeo/datasets/fair1m.py @@ -11,33 +11,12 @@ import matplotlib.patches as patches import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from PIL import Image from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose -from ..datasets.utils import check_integrity, dataset_split, extract_archive from .geo import VisionDataset - -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - - -def collate_fn(batch: List[Dict[str, Tensor]]) -> Dict[str, Any]: - """Custom object detection collate fn to handle variable number of boxes. - - Args: - batch: list of sample dicts return by dataset - Returns: - batch dict output - """ - output: Dict[str, Any] = {} - output["image"] = torch.stack([sample["image"] for sample in batch]) - output["boxes"] = [sample["boxes"] for sample in batch] - return output +from .utils import check_integrity, extract_archive def parse_pascal_voc(path: str) -> Dict[str, Any]: @@ -350,102 +329,3 @@ def plot( plt.suptitle(suptitle) return fig - - -class FAIR1MDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the FAIR1M dataset.""" - - def __init__( - self, - root_dir: str, - batch_size: int = 64, - num_workers: int = 0, - val_split_pct: float = 0.2, - test_split_pct: float = 0.2, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for FAIR1M based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the FAIR1M Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - val_split_pct: What percentage of the dataset to use as a validation set - test_split_pct: What percentage of the dataset to use as a test set - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - self.val_split_pct = val_split_pct - self.test_split_pct = test_split_pct - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] /= 255.0 - return sample - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - dataset = FAIR1M(self.root_dir, transforms=transforms) - self.train_dataset, self.val_dataset, self.test_dataset = dataset_split( - dataset, val_pct=self.val_split_pct, test_pct=self.test_split_pct - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - collate_fn=collate_fn, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - collate_fn=collate_fn, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - collate_fn=collate_fn, - ) diff --git a/torchgeo/datasets/landcoverai.py b/torchgeo/datasets/landcoverai.py index e579d668d63..2fecb5d6e10 100644 --- a/torchgeo/datasets/landcoverai.py +++ b/torchgeo/datasets/landcoverai.py @@ -6,24 +6,18 @@ import hashlib import os from functools import lru_cache -from typing import Any, Callable, Dict, Optional +from typing import Callable, Dict, Optional import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from matplotlib.colors import ListedColormap from PIL import Image from torch import Tensor -from torch.utils.data import DataLoader from .geo import VisionDataset from .utils import check_integrity, download_and_extract_archive, working_dir -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class LandCoverAI(VisionDataset): r"""LandCover.ai dataset. @@ -266,110 +260,3 @@ def plot( if suptitle is not None: plt.suptitle(suptitle) return fig - - -class LandCoverAIDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the LandCover.ai dataset. - - Uses the train/val/test splits from the dataset. - """ - - def __init__( - self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any - ) -> None: - """Initialize a LightningDataModule for LandCover.ai based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the Landcover.AI Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: dictionary containing image and mask - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"] / 255.0 - - sample["image"] = sample["image"].float() - sample["mask"] = sample["mask"].float().unsqueeze(0) + 1 - - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - _ = LandCoverAI(self.root_dir, download=False, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - train_transforms = self.preprocess - val_test_transforms = self.preprocess - - self.train_dataset = LandCoverAI( - self.root_dir, split="train", transforms=train_transforms - ) - - self.val_dataset = LandCoverAI( - self.root_dir, split="val", transforms=val_test_transforms - ) - - self.test_dataset = LandCoverAI( - self.root_dir, split="test", transforms=val_test_transforms - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/loveda.py b/torchgeo/datasets/loveda.py index b3a0a52e8ca..30fe98adfb4 100644 --- a/torchgeo/datasets/loveda.py +++ b/torchgeo/datasets/loveda.py @@ -5,23 +5,17 @@ import glob import os -from typing import Any, Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from PIL import Image from torch import Tensor -from torch.utils.data import DataLoader from .geo import VisionDataset from .utils import download_and_extract_archive -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class LoveDA(VisionDataset): """LoveDA dataset. @@ -305,117 +299,3 @@ def plot( plt.suptitle(suptitle) return fig - - -class LoveDADataModule(pl.LightningDataModule): - """LightningDataModule implementation for the LoveDA dataset. - - Uses the train/val/test splits from the dataset. - """ - - def __init__( - self, - root_dir: str, - scene: List[str], - batch_size: int = 32, - num_workers: int = 0, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for LoveDA based DataLoaders. - - Args: - root_dir: The ``root`` argument to pass to LoveDA Dataset classes - scene: specify whether to load only 'urban', only 'rural' or both - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.scene = scene - self.batch_size = batch_size - self.num_workers = num_workers - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: dictionary containing image and mask - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"] / 255.0 - - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - _ = LoveDA(self.root_dir, scene=self.scene, download=False, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - train_transforms = self.preprocess - val_test_transforms = self.preprocess - - self.train_dataset = LoveDA( - self.root_dir, split="train", scene=self.scene, transforms=train_transforms - ) - - self.val_dataset = LoveDA( - self.root_dir, split="val", scene=self.scene, transforms=val_test_transforms - ) - - self.test_dataset = LoveDA( - self.root_dir, - split="test", - scene=self.scene, - transforms=val_test_transforms, - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/naip.py b/torchgeo/datasets/naip.py index 02cfe1e33f6..b6b4bceceb3 100644 --- a/torchgeo/datasets/naip.py +++ b/torchgeo/datasets/naip.py @@ -3,20 +3,7 @@ """National Agriculture Imagery Program (NAIP) dataset.""" -from typing import Any, Dict, Optional - -import pytorch_lightning as pl -from torch.utils.data import DataLoader - -from ..samplers.batch import RandomBatchGeoSampler -from ..samplers.single import GridGeoSampler -from .chesapeake import Chesapeake13 from .geo import RasterDataset -from .utils import BoundingBox, stack_samples - -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" class NAIP(RasterDataset): @@ -55,147 +42,3 @@ class NAIP(RasterDataset): # Plotting all_bands = ["R", "G", "B", "NIR"] rgb_bands = ["R", "G", "B"] - - -class NAIPChesapeakeDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the NAIP and Chesapeake datasets. - - Uses the train/val/test splits from the dataset. - """ - - # TODO: tune these hyperparams - length = 1000 - stride = 128 - - def __init__( - self, - naip_root_dir: str, - chesapeake_root_dir: str, - batch_size: int = 64, - num_workers: int = 0, - patch_size: int = 256, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for NAIP and Chesapeake based DataLoaders. - - Args: - naip_root_dir: directory containing NAIP data - chesapeake_root_dir: directory containing Chesapeake data - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - patch_size: size of patches to sample - """ - super().__init__() # type: ignore[no-untyped-call] - self.naip_root_dir = naip_root_dir - self.chesapeake_root_dir = chesapeake_root_dir - self.batch_size = batch_size - self.num_workers = num_workers - self.patch_size = patch_size - - def naip_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the NAIP Dataset. - - Args: - sample: NAIP image dictionary - - Returns: - preprocessed NAIP data - """ - sample["image"] = sample["image"] / 255.0 - sample["image"] = sample["image"].float() - return sample - - def chesapeake_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Chesapeake Dataset. - - Args: - sample: Chesapeake mask dictionary - - Returns: - preprocessed Chesapeake data - """ - sample["mask"] = sample["mask"].long()[0] - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - Chesapeake13(self.chesapeake_root_dir, download=False, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: state to set up - """ - # TODO: these transforms will be applied independently, this won't work if we - # add things like random horizontal flip - chesapeake = Chesapeake13( - self.chesapeake_root_dir, transforms=self.chesapeake_transform - ) - naip = NAIP( - self.naip_root_dir, - chesapeake.crs, - chesapeake.res, - transforms=self.naip_transform, - ) - self.dataset = chesapeake & naip - - # TODO: figure out better train/val/test split - roi = self.dataset.bounds - midx = roi.minx + (roi.maxx - roi.minx) / 2 - midy = roi.miny + (roi.maxy - roi.miny) / 2 - train_roi = BoundingBox(roi.minx, midx, roi.miny, roi.maxy, roi.mint, roi.maxt) - val_roi = BoundingBox(midx, roi.maxx, roi.miny, midy, roi.mint, roi.maxt) - test_roi = BoundingBox(roi.minx, roi.maxx, midy, roi.maxy, roi.mint, roi.maxt) - - self.train_sampler = RandomBatchGeoSampler( - naip, self.patch_size, self.batch_size, self.length, train_roi - ) - self.val_sampler = GridGeoSampler(naip, self.patch_size, self.stride, val_roi) - self.test_sampler = GridGeoSampler(naip, self.patch_size, self.stride, test_roi) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.dataset, - batch_sampler=self.train_sampler, - num_workers=self.num_workers, - collate_fn=stack_samples, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.dataset, - batch_size=self.batch_size, - sampler=self.val_sampler, - num_workers=self.num_workers, - collate_fn=stack_samples, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.dataset, - batch_size=self.batch_size, - sampler=self.test_sampler, - num_workers=self.num_workers, - collate_fn=stack_samples, - ) diff --git a/torchgeo/datasets/nasa_marine_debris.py b/torchgeo/datasets/nasa_marine_debris.py index bd239e65847..2b502751920 100644 --- a/torchgeo/datasets/nasa_marine_debris.py +++ b/torchgeo/datasets/nasa_marine_debris.py @@ -4,39 +4,17 @@ """NASA Marine Debris dataset.""" import os -from typing import Any, Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import rasterio import torch from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose from torchvision.utils import draw_bounding_boxes from .geo import VisionDataset -from .utils import dataset_split, download_radiant_mlhub_dataset, extract_archive - -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - - -def collate_fn(batch: List[Dict[str, Tensor]]) -> Dict[str, Any]: - """Custom object detection collate fn to handle variable boxes. - - Args: - batch: list of sample dicts return by dataset - - Returns: - batch dict output - """ - output: Dict[str, Any] = {} - output["image"] = torch.stack([sample["image"] for sample in batch]) - output["boxes"] = [sample["boxes"] for sample in batch] - return output +from .utils import download_radiant_mlhub_dataset, extract_archive class NASAMarineDebris(VisionDataset): @@ -279,109 +257,3 @@ def plot( plt.suptitle(suptitle) return fig - - -class NASAMarineDebrisDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the NASA Marine Debris dataset.""" - - def __init__( - self, - root_dir: str, - batch_size: int = 64, - num_workers: int = 0, - val_split_pct: float = 0.2, - test_split_pct: float = 0.2, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for NASA Marine Debris based DataLoaders. - - Args: - root_dir: The ``root`` argument to pass to the Dataset class - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - val_split_pct: What percentage of the dataset to use as a validation set - test_split_pct: What percentage of the dataset to use as a test set - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - self.val_split_pct = val_split_pct - self.test_split_pct = test_split_pct - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] /= 255.0 - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - NASAMarineDebris(self.root_dir, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - dataset = NASAMarineDebris(self.root_dir, transforms=transforms) - self.train_dataset, self.val_dataset, self.test_dataset = dataset_split( - dataset, val_pct=self.val_split_pct, test_pct=self.test_split_pct - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - collate_fn=collate_fn, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - collate_fn=collate_fn, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - collate_fn=collate_fn, - ) diff --git a/torchgeo/datasets/oscd.py b/torchgeo/datasets/oscd.py index c2f807b490e..803d7405c09 100644 --- a/torchgeo/datasets/oscd.py +++ b/torchgeo/datasets/oscd.py @@ -5,25 +5,23 @@ import glob import os -from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, Union +from typing import Callable, Dict, List, Optional, Sequence, Union -import kornia.augmentation as K import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch -from einops import repeat from matplotlib.figure import Figure from numpy import ndarray as Array from PIL import Image from torch import Tensor -from torch.utils.data import DataLoader -from torch.utils.data._utils.collate import default_collate -from torchvision.transforms import Compose, Normalize -from ..datasets.utils import dataset_split, draw_semantic_segmentation_masks from .geo import VisionDataset -from .utils import download_url, extract_archive, sort_sentinel2_bands +from .utils import ( + download_url, + draw_semantic_segmentation_masks, + extract_archive, + sort_sentinel2_bands, +) class OSCD(VisionDataset): @@ -317,202 +315,3 @@ def get_masked(img: Tensor) -> Array: # type: ignore[type-arg] plt.suptitle(suptitle) return fig - - -class OSCDDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the OSCD dataset. - - Uses the train/test splits from the dataset and further splits - the train split into train/val splits. - - .. versionadded: 0.2 - """ - - band_means = torch.tensor( # type: ignore[attr-defined] - [ - 1583.0741, - 1374.3202, - 1294.1616, - 1325.6158, - 1478.7408, - 1933.0822, - 2166.0608, - 2076.4868, - 2306.0652, - 690.9814, - 16.2360, - 2080.3347, - 1524.6930, - ] - ) - - band_stds = torch.tensor( # type: ignore[attr-defined] - [ - 52.1937, - 83.4168, - 105.6966, - 151.1401, - 147.4615, - 115.9289, - 123.1974, - 114.6483, - 141.4530, - 73.2758, - 4.8368, - 213.4821, - 179.4793, - ] - ) - - def __init__( - self, - root_dir: str, - bands: str = "all", - train_batch_size: int = 32, - num_workers: int = 0, - val_split_pct: float = 0.2, - patch_size: Tuple[int, int] = (64, 64), - num_patches_per_tile: int = 32, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for OSCD based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the OSCD Dataset classes - bands: "rgb" or "all" - train_batch_size: The batch size used in the train DataLoader - (val_batch_size == test_batch_size == 1) - num_workers: The number of workers to use in all created DataLoaders - val_split_pct: What percentage of the dataset to use as a validation set - patch_size: Size of random patch from image and mask (height, width) - num_patches_per_tile: number of random patches per sample - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.bands = bands - self.train_batch_size = train_batch_size - self.num_workers = num_workers - self.val_split_pct = val_split_pct - self.patch_size = patch_size - self.num_patches_per_tile = num_patches_per_tile - - if bands == "rgb": - self.band_means = self.band_means[[3, 2, 1], None, None] - self.band_stds = self.band_stds[[3, 2, 1], None, None] - else: - self.band_means = self.band_means[:, None, None] - self.band_stds = self.band_stds[:, None, None] - - self.norm = Normalize(self.band_means, self.band_stds) - self.rcrop = K.AugmentationSequential( - K.RandomCrop(patch_size), data_keys=["input", "mask"], same_on_batch=True - ) - self.padto = K.PadTo((1280, 1280)) - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset.""" - sample["image"] = sample["image"].float() - sample["mask"] = sample["mask"] - sample["image"] = self.norm(sample["image"]) - sample["image"] = torch.flatten( # type: ignore[attr-defined] - sample["image"], 0, 1 - ) - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - OSCD(self.root_dir, split="train", bands=self.bands, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - """ - - def n_random_crop(sample: Dict[str, Any]) -> Dict[str, Any]: - images, masks = [], [] - for i in range(self.num_patches_per_tile): - mask = repeat(sample["mask"], "h w -> t h w", t=2).float() - image, mask = self.rcrop(sample["image"], mask) - mask = mask.squeeze()[0] - images.append(image.squeeze()) - masks.append(mask.long()) - sample["image"] = torch.stack(images) - sample["mask"] = torch.stack(masks) - return sample - - def pad_to(sample: Dict[str, Any]) -> Dict[str, Any]: - sample["image"] = self.padto(sample["image"])[0] - sample["mask"] = self.padto(sample["mask"].float()).long()[0, 0] - return sample - - train_transforms = Compose([self.preprocess, n_random_crop]) - # for testing and validation we pad all inputs to a fixed size to avoid issues - # with the upsampling paths in encoder-decoder architectures - test_transforms = Compose([self.preprocess, pad_to]) - - train_dataset = OSCD( - self.root_dir, split="train", bands=self.bands, transforms=train_transforms - ) - if self.val_split_pct > 0.0: - val_dataset = OSCD( - self.root_dir, - split="train", - bands=self.bands, - transforms=test_transforms, - ) - self.train_dataset, self.val_dataset, _ = dataset_split( - train_dataset, val_pct=self.val_split_pct, test_pct=0.0 - ) - self.val_dataset.dataset = val_dataset - else: - self.train_dataset = train_dataset # type: ignore[assignment] - self.val_dataset = None # type: ignore[assignment] - - self.test_dataset = OSCD( - self.root_dir, split="test", bands=self.bands, transforms=test_transforms - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training.""" - - def collate_wrapper(batch: List[Dict[str, Any]]) -> Dict[str, Any]: - r_batch: Dict[str, Any] = default_collate( # type: ignore[no-untyped-call] - batch - ) - r_batch["image"] = torch.flatten( # type: ignore[attr-defined] - r_batch["image"], 0, 1 - ) - r_batch["mask"] = torch.flatten( # type: ignore[attr-defined] - r_batch["mask"], 0, 1 - ) - return r_batch - - return DataLoader( - self.train_dataset, - batch_size=self.train_batch_size, - num_workers=self.num_workers, - collate_fn=collate_wrapper, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation.""" - if self.val_split_pct == 0.0: - return self.train_dataloader() - else: - return DataLoader( - self.val_dataset, - batch_size=1, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing.""" - return DataLoader( - self.test_dataset, batch_size=1, num_workers=self.num_workers, shuffle=False - ) diff --git a/torchgeo/datasets/potsdam.py b/torchgeo/datasets/potsdam.py index 40149d0429f..a54e4b18f75 100644 --- a/torchgeo/datasets/potsdam.py +++ b/torchgeo/datasets/potsdam.py @@ -4,22 +4,23 @@ """Potsdam dataset.""" import os -from typing import Any, Callable, Dict, Optional +from typing import Callable, Dict, Optional import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import rasterio import torch from matplotlib.figure import Figure from PIL import Image from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose -from ..datasets.utils import dataset_split, draw_semantic_segmentation_masks from .geo import VisionDataset -from .utils import check_integrity, extract_archive, rgb_to_mask +from .utils import ( + check_integrity, + draw_semantic_segmentation_masks, + extract_archive, + rgb_to_mask, +) class Potsdam2D(VisionDataset): @@ -293,111 +294,3 @@ def plot( plt.suptitle(suptitle) return fig - - -class Potsdam2DDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the Potsdam2D dataset. - - Uses the train/test splits from the dataset. - - .. versionadded: 0.2 - """ - - def __init__( - self, - root_dir: str, - batch_size: int = 64, - num_workers: int = 0, - val_split_pct: float = 0.2, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for Potsdam2D based DataLoaders. - - Args: - root_dir: The ``root`` argument to pass to the Potsdam2D Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - val_split_pct: What percentage of the dataset to use as a validation set - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - self.val_split_pct = val_split_pct - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] /= 255.0 - return sample - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - dataset = Potsdam2D(self.root_dir, "train", transforms=transforms) - - if self.val_split_pct > 0.0: - self.train_dataset, self.val_dataset, _ = dataset_split( - dataset, val_pct=self.val_split_pct, test_pct=0.0 - ) - else: - self.train_dataset = dataset # type: ignore[assignment] - self.val_dataset = None # type: ignore[assignment] - - self.test_dataset = Potsdam2D(self.root_dir, "test", transforms=transforms) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - if self.val_split_pct == 0.0: - return self.train_dataloader() - else: - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/resisc45.py b/torchgeo/datasets/resisc45.py index 4b5c9560a0b..13117d54645 100644 --- a/torchgeo/datasets/resisc45.py +++ b/torchgeo/datasets/resisc45.py @@ -4,23 +4,15 @@ """RESISC45 dataset.""" import os -from typing import Any, Callable, Dict, Optional, cast +from typing import Callable, Dict, Optional, cast import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl -import torch from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose, Normalize from .geo import VisionClassificationDataset from .utils import download_url, extract_archive -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class RESISC45(VisionClassificationDataset): """RESISC45 dataset. @@ -288,109 +280,3 @@ def plot( if suptitle is not None: plt.suptitle(suptitle) return fig - - -class RESISC45DataModule(pl.LightningDataModule): - """LightningDataModule implementation for the RESISC45 dataset. - - Uses the train/val/test splits from the dataset. - """ - - band_means = torch.tensor( # type: ignore[attr-defined] - [0.36801773, 0.38097873, 0.343583] - ) - - band_stds = torch.tensor( # type: ignore[attr-defined] - [0.14540215, 0.13558227, 0.13203649] - ) - - def __init__( - self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any - ) -> None: - """Initialize a LightningDataModule for RESISC45 based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the RESISC45 Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - - self.norm = Normalize(self.band_means, self.band_stds) - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] /= 255.0 - sample["image"] = self.norm(sample["image"]) - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - RESISC45(self.root_dir, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - self.train_dataset = RESISC45(self.root_dir, "train", transforms=transforms) - self.val_dataset = RESISC45(self.root_dir, "val", transforms=transforms) - self.test_dataset = RESISC45(self.root_dir, "test", transforms=transforms) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/sen12ms.py b/torchgeo/datasets/sen12ms.py index f1cf8b2ad2c..8ff0e9a44b8 100644 --- a/torchgeo/datasets/sen12ms.py +++ b/torchgeo/datasets/sen12ms.py @@ -4,23 +4,16 @@ """SEN12MS dataset.""" import os -from typing import Any, Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional import numpy as np -import pytorch_lightning as pl import rasterio import torch -from sklearn.model_selection import GroupShuffleSplit from torch import Tensor -from torch.utils.data import DataLoader, Subset from .geo import VisionDataset from .utils import check_integrity -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class SEN12MS(VisionDataset): """SEN12MS dataset. @@ -246,188 +239,3 @@ def _check_integrity(self) -> bool: if not check_integrity(filepath, md5 if self.checksum else None): return False return True - - -class SEN12MSDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the SEN12MS dataset. - - Implements 80/20 geographic train/val splits and uses the test split from the - classification dataset definitions. See :func:`setup` for more details. - - Uses the Simplified IGBP scheme defined in the 2020 Data Fusion Competition. See - https://arxiv.org/abs/2002.08254. - """ - - #: Mapping from the IGBP class definitions to the DFC2020, taken from the dataloader - #: here https://github.com/lukasliebel/dfc2020_baseline. - DFC2020_CLASS_MAPPING = torch.tensor( # type: ignore[attr-defined] - [ - 0, # maps 0s to 0 - 1, # maps 1s to 1 - 1, # maps 2s to 1 - 1, # ... - 1, - 1, - 2, - 2, - 3, - 3, - 4, - 5, - 6, - 7, - 6, - 8, - 9, - 10, - ] - ) - - def __init__( - self, - root_dir: str, - seed: int, - band_set: str = "all", - batch_size: int = 64, - num_workers: int = 0, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for SEN12MS based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the SEN12MS Dataset classes - seed: The seed value to use when doing the sklearn based ShuffleSplit - band_set: The subset of S1/S2 bands to use. Options are: "all", - "s1", "s2-all", and "s2-reduced" where the "s2-reduced" set includes: - B2, B3, B4, B8, B11, and B12. - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - assert band_set in SEN12MS.BAND_SETS.keys() - - self.root_dir = root_dir - self.seed = seed - self.band_set = band_set - self.band_indices = SEN12MS.BAND_SETS[band_set] - self.batch_size = batch_size - self.num_workers = num_workers - - def custom_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: dictionary containing image and mask - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - - if self.band_set == "all": - sample["image"][:2] = sample["image"][:2].clamp(-25, 0) / -25 - sample["image"][2:] = sample["image"][2:].clamp(0, 10000) / 10000 - elif self.band_set == "s1": - sample["image"][:2] = sample["image"][:2].clamp(-25, 0) / -25 - else: - sample["image"][:] = sample["image"][:].clamp(0, 10000) / 10000 - - sample["mask"] = sample["mask"][0, :, :].long() - sample["mask"] = torch.take( # type: ignore[attr-defined] - self.DFC2020_CLASS_MAPPING, sample["mask"] - ) - - return sample - - def setup(self, stage: Optional[str] = None) -> None: - """Create the train/val/test splits based on the original Dataset objects. - - The splits should be done here vs. in :func:`__init__` per the docs: - https://pytorch-lightning.readthedocs.io/en/latest/extensions/datamodules.html#setup. - - We split samples between train and val geographically with proportions of 80/20. - This mimics the geographic test set split. - - Args: - stage: stage to set up - """ - season_to_int = {"winter": 0, "spring": 1000, "summer": 2000, "fall": 3000} - - self.all_train_dataset = SEN12MS( - self.root_dir, - split="train", - bands=self.band_indices, - transforms=self.custom_transform, - checksum=False, - ) - - self.all_test_dataset = SEN12MS( - self.root_dir, - split="test", - bands=self.band_indices, - transforms=self.custom_transform, - checksum=False, - ) - - # A patch is a filename like: "ROIs{num}_{season}_s2_{scene_id}_p{patch_id}.tif" - # This patch will belong to the scene that is uniquelly identified by its - # (season, scene_id) tuple. Because the largest scene_id is 149, we can simply - # give each season a large number and representing a `unique_scene_id` as - # `season_id + scene_id`. - scenes = [] - for scene_fn in self.all_train_dataset.ids: - parts = scene_fn.split("_") - season_id = season_to_int[parts[1]] - scene_id = int(parts[3]) - scenes.append(season_id + scene_id) - - train_indices, val_indices = next( - GroupShuffleSplit(test_size=0.2, n_splits=2, random_state=self.seed).split( - scenes, groups=scenes - ) - ) - - self.train_dataset = Subset(self.all_train_dataset, train_indices) - self.val_dataset = Subset(self.all_train_dataset, val_indices) - self.test_dataset = Subset( - self.all_test_dataset, range(len(self.all_test_dataset)) - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/so2sat.py b/torchgeo/datasets/so2sat.py index 606a73e62c0..aaee0ecd2d3 100644 --- a/torchgeo/datasets/so2sat.py +++ b/torchgeo/datasets/so2sat.py @@ -4,23 +4,16 @@ """So2Sat dataset.""" import os -from typing import Any, Callable, Dict, Optional, cast +from typing import Callable, Dict, Optional, cast import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose from .geo import VisionDataset from .utils import check_integrity, percentile_normalization -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class So2Sat(VisionDataset): """So2Sat dataset. @@ -250,211 +243,3 @@ def plot( if suptitle is not None: plt.suptitle(suptitle) return fig - - -class So2SatDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the So2Sat dataset. - - Uses the train/val/test splits from the dataset. - """ - - band_means = torch.tensor( # type: ignore[attr-defined] - [ - -3.591224256609313e-05, - -7.658561276843396e-06, - 5.9373857475971184e-05, - 2.5166231537121083e-05, - 0.04420110659759328, - 0.25761027084996196, - 0.0007556743372573258, - 0.0013503466830024448, - 0.12375696117681859, - 0.1092774636368323, - 0.1010855203267882, - 0.1142398616114001, - 0.1592656692023089, - 0.18147236008771792, - 0.1745740312291377, - 0.19501607349635292, - 0.15428468872076637, - 0.10905050699570007, - ] - ).reshape(18, 1, 1) - - band_stds = torch.tensor( # type: ignore[attr-defined] - [ - 0.17555201137417686, - 0.17556463274968204, - 0.45998793417834255, - 0.455988755730148, - 2.8559909213125763, - 8.324800606439833, - 2.4498757382563103, - 1.4647352984509094, - 0.03958795985905458, - 0.047778262752410296, - 0.06636616706371974, - 0.06358874912497474, - 0.07744387147984592, - 0.09101635085921553, - 0.09218466562387101, - 0.10164581233948201, - 0.09991773043519253, - 0.08780632509122865, - ] - ).reshape(18, 1, 1) - - # this reorders the bands to put S2 RGB first, then remainder of S2, then S1 - reindex_to_rgb_first = [ - 10, - 9, - 8, - 11, - 12, - 13, - 14, - 15, - 16, - 17, - # 0, - # 1, - # 2, - # 3, - # 4, - # 5, - # 6, - # 7, - ] - - def __init__( - self, - root_dir: str, - batch_size: int = 64, - num_workers: int = 0, - bands: str = "rgb", - unsupervised_mode: bool = False, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for So2Sat based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the So2Sat Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - bands: Either "rgb" or "s2" - unsupervised_mode: Makes the train dataloader return imagery from the train, - val, and test sets - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - self.bands = bands - self.unsupervised_mode = unsupervised_mode - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: dictionary containing image - - Returns: - preprocessed sample - """ - # sample["image"] = (sample["image"] - self.band_means) / self.band_stds - sample["image"] = sample["image"].float() - sample["image"] = sample["image"][self.reindex_to_rgb_first, :, :] - - if self.bands == "rgb": - sample["image"] = sample["image"][:3, :, :] - - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - So2Sat(self.root_dir, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - train_transforms = Compose([self.preprocess]) - val_test_transforms = self.preprocess - - if not self.unsupervised_mode: - - self.train_dataset = So2Sat( - self.root_dir, split="train", transforms=train_transforms - ) - - self.val_dataset = So2Sat( - self.root_dir, split="validation", transforms=val_test_transforms - ) - - self.test_dataset = So2Sat( - self.root_dir, split="test", transforms=val_test_transforms - ) - - else: - - temp_train = So2Sat( - self.root_dir, split="train", transforms=train_transforms - ) - - self.val_dataset = So2Sat( - self.root_dir, split="validation", transforms=train_transforms - ) - - self.test_dataset = So2Sat( - self.root_dir, split="test", transforms=train_transforms - ) - - self.train_dataset = cast( - So2Sat, temp_train + self.val_dataset + self.test_dataset - ) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/spacenet.py b/torchgeo/datasets/spacenet.py index 41cb1f2ff6c..38ac5c6a150 100644 --- a/torchgeo/datasets/spacenet.py +++ b/torchgeo/datasets/spacenet.py @@ -24,8 +24,8 @@ from rasterio.transform import Affine from torch import Tensor -from torchgeo.datasets.geo import VisionDataset -from torchgeo.datasets.utils import ( +from .geo import VisionDataset +from .utils import ( check_integrity, download_radiant_mlhub_collection, extract_archive, diff --git a/torchgeo/datasets/ucmerced.py b/torchgeo/datasets/ucmerced.py index 431b526b756..21b09e32a1d 100644 --- a/torchgeo/datasets/ucmerced.py +++ b/torchgeo/datasets/ucmerced.py @@ -3,24 +3,15 @@ """UC Merced dataset.""" import os -from typing import Any, Callable, Dict, Optional, cast +from typing import Callable, Dict, Optional, cast import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl -import torch -import torchvision from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose, Normalize from .geo import VisionClassificationDataset from .utils import check_integrity, download_url, extract_archive -# https://github.com/pytorch/pytorch/issues/60979 -# https://github.com/pytorch/pytorch/pull/61045 -DataLoader.__module__ = "torch.utils.data" - class UCMerced(VisionClassificationDataset): """UC Merced dataset. @@ -251,110 +242,3 @@ def plot( if suptitle is not None: plt.suptitle(suptitle) return fig - - -class UCMercedDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the UC Merced dataset. - - Uses random train/val/test splits. - """ - - band_means = torch.tensor([0, 0, 0]) # type: ignore[attr-defined] - - band_stds = torch.tensor([1, 1, 1]) # type: ignore[attr-defined] - - def __init__( - self, root_dir: str, batch_size: int = 64, num_workers: int = 0, **kwargs: Any - ) -> None: - """Initialize a LightningDataModule for UCMerced based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the UCMerced Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - - self.norm = Normalize(self.band_means, self.band_stds) - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: dictionary containing image - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] /= 255.0 - c, h, w = sample["image"].shape - if h != 256 or w != 256: - sample["image"] = torchvision.transforms.functional.resize( - sample["image"], size=(256, 256) - ) - sample["image"] = self.norm(sample["image"]) - return sample - - def prepare_data(self) -> None: - """Make sure that the dataset is downloaded. - - This method is only called once per run. - """ - UCMerced(self.root_dir, download=False, checksum=False) - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - self.train_dataset = UCMerced(self.root_dir, "train", transforms=transforms) - self.val_dataset = UCMerced(self.root_dir, "val", transforms=transforms) - self.test_dataset = UCMerced(self.root_dir, "test", transforms=transforms) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/utils.py b/torchgeo/datasets/utils.py index fceb6201a38..9a68be30ca3 100644 --- a/torchgeo/datasets/utils.py +++ b/torchgeo/datasets/utils.py @@ -32,7 +32,6 @@ import rasterio import torch from torch import Tensor -from torch.utils.data import Dataset, Subset, random_split from torchvision.datasets.utils import check_integrity, download_url from torchvision.utils import draw_segmentation_masks @@ -48,7 +47,6 @@ "concat_samples", "merge_samples", "rasterio_loader", - "dataset_split", "sort_sentinel2_bands", "draw_semantic_segmentation_masks", "rgb_to_mask", @@ -519,31 +517,6 @@ def rasterio_loader(path: str) -> np.ndarray: # type: ignore[type-arg] return array -def dataset_split( - dataset: Dataset[Any], val_pct: float, test_pct: Optional[float] = None -) -> List[Subset[Any]]: - """Split a torch Dataset into train/val/test sets. - - If ``test_pct`` is not set then only train and validation splits are returned. - - Args: - dataset: dataset to be split into train/val or train/val/test subsets - val_pct: percentage of samples to be in validation set - test_pct: (Optional) percentage of samples to be in test set - Returns: - a list of the subset datasets. Either [train, val] or [train, val, test] - """ - if test_pct is None: - val_length = int(len(dataset) * val_pct) - train_length = len(dataset) - val_length - return random_split(dataset, [train_length, val_length]) - else: - val_length = int(len(dataset) * val_pct) - test_length = int(len(dataset) * test_pct) - train_length = len(dataset) - (val_length + test_length) - return random_split(dataset, [train_length, val_length, test_length]) - - def sort_sentinel2_bands(x: str) -> str: """Sort Sentinel-2 band files in the correct order.""" x = os.path.basename(x).split("_")[-1] diff --git a/torchgeo/datasets/vaihingen.py b/torchgeo/datasets/vaihingen.py index f95e8e72d48..c7bb3e7f4ed 100644 --- a/torchgeo/datasets/vaihingen.py +++ b/torchgeo/datasets/vaihingen.py @@ -4,21 +4,22 @@ """Vaihingen dataset.""" import os -from typing import Any, Callable, Dict, Optional +from typing import Callable, Dict, Optional import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from matplotlib.figure import Figure from PIL import Image from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose -from ..datasets.utils import dataset_split, draw_semantic_segmentation_masks from .geo import VisionDataset -from .utils import check_integrity, extract_archive, rgb_to_mask +from .utils import ( + check_integrity, + draw_semantic_segmentation_masks, + extract_archive, + rgb_to_mask, +) class Vaihingen2D(VisionDataset): @@ -293,111 +294,3 @@ def plot( plt.suptitle(suptitle) return fig - - -class Vaihingen2DDataModule(pl.LightningDataModule): - """LightningDataModule implementation for the Vaihingen2D dataset. - - Uses the train/test splits from the dataset. - - .. versionadded: 0.2 - """ - - def __init__( - self, - root_dir: str, - batch_size: int = 64, - num_workers: int = 0, - val_split_pct: float = 0.2, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for Vaihingen2D based DataLoaders. - - Args: - root_dir: The ``root`` argument to pass to the Vaihingen Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - val_split_pct: What percentage of the dataset to use as a validation set - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - self.val_split_pct = val_split_pct - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] /= 255.0 - return sample - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - dataset = Vaihingen2D(self.root_dir, "train", transforms=transforms) - - if self.val_split_pct > 0.0: - self.train_dataset, self.val_dataset, _ = dataset_split( - dataset, val_pct=self.val_split_pct, test_pct=0.0 - ) - else: - self.train_dataset = dataset # type: ignore[assignment] - self.val_dataset = None # type: ignore[assignment] - - self.test_dataset = Vaihingen2D(self.root_dir, "test", transforms=transforms) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - if self.val_split_pct == 0.0: - return self.train_dataloader() - else: - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/datasets/xview.py b/torchgeo/datasets/xview.py index c4e7774e04d..b7ff4d46002 100644 --- a/torchgeo/datasets/xview.py +++ b/torchgeo/datasets/xview.py @@ -5,20 +5,16 @@ import glob import os -from typing import Any, Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional import matplotlib.pyplot as plt import numpy as np -import pytorch_lightning as pl import torch from PIL import Image from torch import Tensor -from torch.utils.data import DataLoader -from torchvision.transforms import Compose -from ..datasets.utils import dataset_split, draw_semantic_segmentation_masks from .geo import VisionDataset -from .utils import check_integrity, extract_archive +from .utils import check_integrity, draw_semantic_segmentation_masks, extract_archive class XView2(VisionDataset): @@ -282,111 +278,3 @@ def plot( plt.suptitle(suptitle) return fig - - -class XView2DataModule(pl.LightningDataModule): - """LightningDataModule implementation for the xView2 dataset. - - Uses the train/val/test splits from the dataset. - - .. versionadded: 0.2 - """ - - def __init__( - self, - root_dir: str, - batch_size: int = 64, - num_workers: int = 0, - val_split_pct: float = 0.2, - **kwargs: Any, - ) -> None: - """Initialize a LightningDataModule for xView2 based DataLoaders. - - Args: - root_dir: The ``root`` arugment to pass to the xView2 Dataset classes - batch_size: The batch size to use in all created DataLoaders - num_workers: The number of workers to use in all created DataLoaders - val_split_pct: What percentage of the dataset to use as a validation set - """ - super().__init__() # type: ignore[no-untyped-call] - self.root_dir = root_dir - self.batch_size = batch_size - self.num_workers = num_workers - self.val_split_pct = val_split_pct - - def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: - """Transform a single sample from the Dataset. - - Args: - sample: input image dictionary - - Returns: - preprocessed sample - """ - sample["image"] = sample["image"].float() - sample["image"] /= 255.0 - return sample - - def setup(self, stage: Optional[str] = None) -> None: - """Initialize the main ``Dataset`` objects. - - This method is called once per GPU per run. - - Args: - stage: stage to set up - """ - transforms = Compose([self.preprocess]) - - dataset = XView2(self.root_dir, "train", transforms=transforms) - - if self.val_split_pct > 0.0: - self.train_dataset, self.val_dataset, _ = dataset_split( - dataset, val_pct=self.val_split_pct, test_pct=0.0 - ) - else: - self.train_dataset = dataset # type: ignore[assignment] - self.val_dataset = None # type: ignore[assignment] - - self.test_dataset = XView2(self.root_dir, "test", transforms=transforms) - - def train_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for training. - - Returns: - training data loader - """ - return DataLoader( - self.train_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=True, - ) - - def val_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for validation. - - Returns: - validation data loader - """ - if self.val_split_pct == 0.0: - return self.train_dataloader() - else: - return DataLoader( - self.val_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) - - def test_dataloader(self) -> DataLoader[Any]: - """Return a DataLoader for testing. - - Returns: - testing data loader - """ - return DataLoader( - self.test_dataset, - batch_size=self.batch_size, - num_workers=self.num_workers, - shuffle=False, - ) diff --git a/torchgeo/samplers/batch.py b/torchgeo/samplers/batch.py index 0dcd1a85aef..3dc5dcc4b8e 100644 --- a/torchgeo/samplers/batch.py +++ b/torchgeo/samplers/batch.py @@ -10,9 +10,7 @@ from rtree.index import Index, Property from torch.utils.data import Sampler -from torchgeo.datasets.geo import GeoDataset -from torchgeo.datasets.utils import BoundingBox - +from ..datasets import BoundingBox, GeoDataset from .utils import _to_tuple, get_random_bounding_box # https://github.com/pytorch/pytorch/issues/60979 diff --git a/torchgeo/samplers/single.py b/torchgeo/samplers/single.py index 1804d9a2d84..d507f698e3b 100644 --- a/torchgeo/samplers/single.py +++ b/torchgeo/samplers/single.py @@ -10,9 +10,7 @@ from rtree.index import Index, Property from torch.utils.data import Sampler -from torchgeo.datasets.geo import GeoDataset -from torchgeo.datasets.utils import BoundingBox - +from ..datasets import BoundingBox, GeoDataset from .utils import _to_tuple, get_random_bounding_box # https://github.com/pytorch/pytorch/issues/60979 diff --git a/torchgeo/samplers/utils.py b/torchgeo/samplers/utils.py index b8aecd85a11..265859eeb06 100644 --- a/torchgeo/samplers/utils.py +++ b/torchgeo/samplers/utils.py @@ -6,7 +6,7 @@ import random from typing import Tuple, Union -from torchgeo.datasets.utils import BoundingBox +from ..datasets import BoundingBox def _to_tuple(value: Union[Tuple[float, float], float]) -> Tuple[float, float]: From 3557848c23e1de9d8ee25f931268962530eae5e6 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 23 Dec 2021 20:11:09 -0600 Subject: [PATCH 06/26] Fix new mypy warnings (#324) --- torchgeo/transforms/indices.py | 12 ++++++------ torchgeo/transforms/transforms.py | 4 ++-- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/torchgeo/transforms/indices.py b/torchgeo/transforms/indices.py index 7f7212b6e9e..dae8f55b5c3 100644 --- a/torchgeo/transforms/indices.py +++ b/torchgeo/transforms/indices.py @@ -12,7 +12,7 @@ import torch from torch import Tensor -from torch.nn import Module # type: ignore[attr-defined] +from torch.nn.modules import Module # https://github.com/pytorch/pytorch/issues/60979 # https://github.com/pytorch/pytorch/pull/61045 @@ -90,7 +90,7 @@ def ndwi(green: Tensor, nir: Tensor) -> Tensor: return (green - nir) / ((green + nir) + _EPSILON) -class AppendNDBI(Module): # type: ignore[misc,name-defined] +class AppendNDBI(Module): """Normalized Difference Built-up Index (NDBI). If you use this dataset in your research, please cite the following paper: @@ -132,7 +132,7 @@ def forward(self, sample: Dict[str, Tensor]) -> Dict[str, Tensor]: return sample -class AppendNBR(Module): # type: ignore[misc,name-defined] +class AppendNBR(Module): """Normalized Burn Ratio (NBR). .. versionadded:: 0.2.0 @@ -172,7 +172,7 @@ def forward(self, sample: Dict[str, Tensor]) -> Dict[str, Tensor]: return sample -class AppendNDSI(Module): # type: ignore[misc,name-defined] +class AppendNDSI(Module): """Normalized Difference Snow Index (NDSI). If you use this dataset in your research, please cite the following paper: @@ -214,7 +214,7 @@ def forward(self, sample: Dict[str, Tensor]) -> Dict[str, Tensor]: return sample -class AppendNDVI(Module): # type: ignore[misc,name-defined] +class AppendNDVI(Module): """Normalized Difference Vegetation Index (NDVI). If you use this dataset in your research, please cite the following paper: @@ -256,7 +256,7 @@ def forward(self, sample: Dict[str, Tensor]) -> Dict[str, Tensor]: return sample -class AppendNDWI(Module): # type: ignore[misc,name-defined] +class AppendNDWI(Module): """Normalized Difference Water Index (NDWI). If you use this dataset in your research, please cite the following paper: diff --git a/torchgeo/transforms/transforms.py b/torchgeo/transforms/transforms.py index b1b8cda3af8..67be28c31bb 100644 --- a/torchgeo/transforms/transforms.py +++ b/torchgeo/transforms/transforms.py @@ -8,14 +8,14 @@ import kornia.augmentation as K import torch from torch import Tensor -from torch.nn import Module # type: ignore[attr-defined] +from torch.nn.modules import Module # https://github.com/pytorch/pytorch/issues/60979 # https://github.com/pytorch/pytorch/pull/61045 Module.__module__ = "torch.nn" -class AugmentationSequential(Module): # type: ignore[misc] +class AugmentationSequential(Module): """Wrapper around kornia AugmentationSequential to handle input dicts.""" def __init__(self, *args: Module, data_keys: List[str]) -> None: From bae2bf1a89fee4832f9831284dbb0a1265d021b0 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 24 Dec 2021 14:34:32 -0600 Subject: [PATCH 07/26] Only test optional dataset deps on release branch (#327) --- .github/workflows/release.yaml | 32 ++++++++++++++++++++++++-------- .github/workflows/tests.yaml | 16 ---------------- 2 files changed, 24 insertions(+), 24 deletions(-) diff --git a/.github/workflows/release.yaml b/.github/workflows/release.yaml index fc981f1073b..a4e23d43d9a 100644 --- a/.github/workflows/release.yaml +++ b/.github/workflows/release.yaml @@ -7,8 +7,8 @@ on: branches: - release** jobs: - notebooks: - name: notebooks + datasets: + name: datasets runs-on: ubuntu-latest steps: - name: Clone repo @@ -19,12 +19,10 @@ jobs: python-version: 3.9 - name: Install pip dependencies run: | - pip install .[datasets,tests] - pip install -r docs/requirements.txt - - name: Run notebook checks - env: - MLHUB_API_KEY: ${{ secrets.MLHUB_API_KEY }} - run: pytest --nbmake docs/tutorials + pip install cython numpy # needed for pycocotools + pip install .[tests] + - name: Run pytest checks + run: pytest --cov=torchgeo --cov-report=xml integration: name: integration runs-on: ubuntu-latest @@ -39,3 +37,21 @@ jobs: run: pip install .[datasets,tests] - name: Run integration checks run: pytest -m slow + notebooks: + name: notebooks + runs-on: ubuntu-latest + steps: + - name: Clone repo + uses: actions/checkout@v2 + - name: Set up python + uses: actions/setup-python@v2 + with: + python-version: 3.9 + - name: Install pip dependencies + run: | + pip install .[datasets,tests] + pip install -r docs/requirements.txt + - name: Run notebook checks + env: + MLHUB_API_KEY: ${{ secrets.MLHUB_API_KEY }} + run: pytest --nbmake docs/tutorials diff --git a/.github/workflows/tests.yaml b/.github/workflows/tests.yaml index 4154f48cd51..926a1dee9b3 100644 --- a/.github/workflows/tests.yaml +++ b/.github/workflows/tests.yaml @@ -25,22 +25,6 @@ jobs: pip install .[datasets,tests] - name: Run mypy checks run: mypy . - datasets: - name: datasets - runs-on: ubuntu-latest - steps: - - name: Clone repo - uses: actions/checkout@v2 - - name: Set up python - uses: actions/setup-python@v2 - with: - python-version: 3.9 - - name: Install pip dependencies - run: | - pip install cython numpy # needed for pycocotools - pip install .[tests] - - name: Run pytest checks - run: pytest --cov=torchgeo --cov-report=xml pytest: name: pytest runs-on: ${{ matrix.os }} From 20459d7630a7d350c490d3586807b0f63c9981f1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 24 Dec 2021 14:35:00 -0600 Subject: [PATCH 08/26] Mark features added in #144 as new (#328) --- torchgeo/datasets/geo.py | 12 ++++++++++++ torchgeo/datasets/utils.py | 16 ++++++++++++++++ 2 files changed, 28 insertions(+) diff --git a/torchgeo/datasets/geo.py b/torchgeo/datasets/geo.py index 5c09a2d8930..fc7935419bc 100644 --- a/torchgeo/datasets/geo.py +++ b/torchgeo/datasets/geo.py @@ -134,6 +134,8 @@ def __and__(self, other: "GeoDataset") -> "IntersectionDataset": Raises: ValueError: if other is not a :class:`GeoDataset` + + .. versionadded: 0.2 """ return IntersectionDataset(self, other) @@ -148,6 +150,8 @@ def __or__(self, other: "GeoDataset") -> "UnionDataset": Raises: ValueError: if other is not a :class:`GeoDataset` + + .. versionadded: 0.2 """ return UnionDataset(self, other) @@ -222,6 +226,8 @@ def crs(self) -> CRS: Returns: the :term:`coordinate reference system (CRS)` + + .. versionadded: 0.2 """ return self._crs @@ -233,6 +239,8 @@ def crs(self, new_crs: CRS) -> None: Args: new_crs: new :term:`coordinate reference system (CRS)` + + .. versionadded: 0.2 """ if new_crs == self._crs: return @@ -810,6 +818,8 @@ class IntersectionDataset(GeoDataset): .. code-block:: python dataset = landsat & cdl + + .. versionadded: 0.2 """ def __init__( @@ -920,6 +930,8 @@ class UnionDataset(GeoDataset): .. code-block:: python dataset = landsat7 | landsat8 + + .. versionadded: 0.2 """ def __init__( diff --git a/torchgeo/datasets/utils.py b/torchgeo/datasets/utils.py index 9a68be30ca3..341a94989f9 100644 --- a/torchgeo/datasets/utils.py +++ b/torchgeo/datasets/utils.py @@ -221,6 +221,8 @@ def __post_init__(self) -> None: Raises: ValueError: if bounding box is invalid (minx > maxx, miny > maxy, or mint > maxt) + + .. versionadded: 0.2 """ if self.minx > self.maxx: raise ValueError( @@ -274,6 +276,8 @@ def __contains__(self, other: "BoundingBox") -> bool: Returns: True if other is within this bounding box, else False + + .. versionadded: 0.2 """ return ( (self.minx <= other.minx <= self.maxx) @@ -292,6 +296,8 @@ def __or__(self, other: "BoundingBox") -> "BoundingBox": Returns: the minimum bounding box that contains both self and other + + .. versionadded: 0.2 """ return BoundingBox( min(self.minx, other.minx), @@ -313,6 +319,8 @@ def __and__(self, other: "BoundingBox") -> "BoundingBox": Raises: ValueError: if self and other do not intersect + + .. versionadded: 0.2 """ try: return BoundingBox( @@ -429,6 +437,8 @@ def _list_dict_to_dict_list(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, List Returns: a dictionary of lists + + .. versionadded: 0.2 """ collated = collections.defaultdict(list) for sample in samples: @@ -448,6 +458,8 @@ def stack_samples(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, Any]: Returns: a single sample + + .. versionadded: 0.2 """ collated: Dict[Any, Any] = _list_dict_to_dict_list(samples) for key, value in collated.items(): @@ -466,6 +478,8 @@ def concat_samples(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, Any]: Returns: a single sample + + .. versionadded: 0.2 """ collated: Dict[Any, Any] = _list_dict_to_dict_list(samples) for key, value in collated.items(): @@ -486,6 +500,8 @@ def merge_samples(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, Any]: Returns: a single sample + + .. versionadded: 0.2 """ collated: Dict[Any, Any] = {} for sample in samples: From 9bc0bdb62eead9e869d586b8551c87ecf9c63e29 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 24 Dec 2021 14:47:54 -0600 Subject: [PATCH 09/26] Move imports out of global namespace (#325) --- evaluate.py | 2 +- pyproject.toml | 2 +- torchgeo/__init__.py | 49 -------------------------------------------- train.py | 48 +++++++++++++++++++++++++++++++++++++++++-- 4 files changed, 48 insertions(+), 53 deletions(-) diff --git a/evaluate.py b/evaluate.py index fdedf648b05..b8a7fa27023 100755 --- a/evaluate.py +++ b/evaluate.py @@ -14,8 +14,8 @@ import torch from torchmetrics import Accuracy, IoU, Metric, MetricCollection -from torchgeo import _TASK_TO_MODULES_MAPPING as TASK_TO_MODULES_MAPPING from torchgeo.trainers import ClassificationTask, SemanticSegmentationTask +from train import TASK_TO_MODULES_MAPPING def set_up_parser() -> argparse.ArgumentParser: diff --git a/pyproject.toml b/pyproject.toml index f449ed08902..bdc1be32515 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -45,7 +45,7 @@ exclude_lines = [ [tool.isort] profile = "black" -known_first_party = ["docs", "tests", "torchgeo"] +known_first_party = ["docs", "tests", "torchgeo", "train"] extend_skip = [".spack-env/", "data", "logs", "output"] skip_gitignore = true color_output = true diff --git a/torchgeo/__init__.py b/torchgeo/__init__.py index a447a5f873f..0f79c7e5e59 100644 --- a/torchgeo/__init__.py +++ b/torchgeo/__init__.py @@ -9,55 +9,6 @@ The :mod:`torchgeo` package consists of popular datasets, model architectures, and common image transformations for geospatial data. """ -from typing import Dict, Tuple, Type - -import pytorch_lightning as pl - -from .datamodules import ( - BigEarthNetDataModule, - ChesapeakeCVPRDataModule, - COWCCountingDataModule, - CycloneDataModule, - ETCI2021DataModule, - EuroSATDataModule, - LandCoverAIDataModule, - NAIPChesapeakeDataModule, - OSCDDataModule, - RESISC45DataModule, - SEN12MSDataModule, - So2SatDataModule, - UCMercedDataModule, -) -from .trainers import ( - BYOLTask, - ClassificationTask, - MultiLabelClassificationTask, - RegressionTask, - SemanticSegmentationTask, -) -from .trainers.chesapeake import ChesapeakeCVPRSegmentationTask -from .trainers.landcoverai import LandCoverAISegmentationTask -from .trainers.naipchesapeake import NAIPChesapeakeSegmentationTask -from .trainers.resisc45 import RESISC45ClassificationTask __author__ = "Adam J. Stewart" __version__ = "0.2.0.dev0" - -_TASK_TO_MODULES_MAPPING: Dict[ - str, Tuple[Type[pl.LightningModule], Type[pl.LightningDataModule]] -] = { - "bigearthnet": (MultiLabelClassificationTask, BigEarthNetDataModule), - "byol": (BYOLTask, ChesapeakeCVPRDataModule), - "chesapeake_cvpr": (ChesapeakeCVPRSegmentationTask, ChesapeakeCVPRDataModule), - "cowc_counting": (RegressionTask, COWCCountingDataModule), - "cyclone": (RegressionTask, CycloneDataModule), - "eurosat": (ClassificationTask, EuroSATDataModule), - "etci2021": (SemanticSegmentationTask, ETCI2021DataModule), - "landcoverai": (LandCoverAISegmentationTask, LandCoverAIDataModule), - "naipchesapeake": (NAIPChesapeakeSegmentationTask, NAIPChesapeakeDataModule), - "oscd": (SemanticSegmentationTask, OSCDDataModule), - "resisc45": (RESISC45ClassificationTask, RESISC45DataModule), - "sen12ms": (SemanticSegmentationTask, SEN12MSDataModule), - "so2sat": (ClassificationTask, So2SatDataModule), - "ucmerced": (ClassificationTask, UCMercedDataModule), -} diff --git a/train.py b/train.py index 9c4928589f2..81d62ff5f59 100755 --- a/train.py +++ b/train.py @@ -6,14 +6,58 @@ """torchgeo model training script.""" import os -from typing import Any, Dict, cast +from typing import Any, Dict, Tuple, Type, cast import pytorch_lightning as pl from omegaconf import DictConfig, OmegaConf from pytorch_lightning import loggers as pl_loggers from pytorch_lightning.callbacks import EarlyStopping, ModelCheckpoint -from torchgeo import _TASK_TO_MODULES_MAPPING as TASK_TO_MODULES_MAPPING +from .datamodules import ( + BigEarthNetDataModule, + ChesapeakeCVPRDataModule, + COWCCountingDataModule, + CycloneDataModule, + ETCI2021DataModule, + EuroSATDataModule, + LandCoverAIDataModule, + NAIPChesapeakeDataModule, + OSCDDataModule, + RESISC45DataModule, + SEN12MSDataModule, + So2SatDataModule, + UCMercedDataModule, +) +from .trainers import ( + BYOLTask, + ClassificationTask, + MultiLabelClassificationTask, + RegressionTask, + SemanticSegmentationTask, +) +from .trainers.chesapeake import ChesapeakeCVPRSegmentationTask +from .trainers.landcoverai import LandCoverAISegmentationTask +from .trainers.naipchesapeake import NAIPChesapeakeSegmentationTask +from .trainers.resisc45 import RESISC45ClassificationTask + +TASK_TO_MODULES_MAPPING: Dict[ + str, Tuple[Type[pl.LightningModule], Type[pl.LightningDataModule]] +] = { + "bigearthnet": (MultiLabelClassificationTask, BigEarthNetDataModule), + "byol": (BYOLTask, ChesapeakeCVPRDataModule), + "chesapeake_cvpr": (ChesapeakeCVPRSegmentationTask, ChesapeakeCVPRDataModule), + "cowc_counting": (RegressionTask, COWCCountingDataModule), + "cyclone": (RegressionTask, CycloneDataModule), + "eurosat": (ClassificationTask, EuroSATDataModule), + "etci2021": (SemanticSegmentationTask, ETCI2021DataModule), + "landcoverai": (LandCoverAISegmentationTask, LandCoverAIDataModule), + "naipchesapeake": (NAIPChesapeakeSegmentationTask, NAIPChesapeakeDataModule), + "oscd": (SemanticSegmentationTask, OSCDDataModule), + "resisc45": (RESISC45ClassificationTask, RESISC45DataModule), + "sen12ms": (SemanticSegmentationTask, SEN12MSDataModule), + "so2sat": (ClassificationTask, So2SatDataModule), + "ucmerced": (ClassificationTask, UCMercedDataModule), +} def set_up_omegaconf() -> DictConfig: From 469d02c7752e27b6898229e009eb763246e8cd8d Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 24 Dec 2021 16:27:46 -0600 Subject: [PATCH 10/26] Convert rST comments to directives --- torchgeo/datamodules/oscd.py | 2 +- torchgeo/datamodules/potsdam.py | 2 +- torchgeo/datamodules/vaihingen.py | 2 +- torchgeo/datamodules/xview.py | 2 +- torchgeo/datasets/geo.py | 12 ++++++------ torchgeo/datasets/nasa_marine_debris.py | 2 +- torchgeo/datasets/utils.py | 16 ++++++++-------- torchgeo/datasets/vaihingen.py | 2 +- torchgeo/datasets/xview.py | 2 +- torchgeo/trainers/chesapeake.py | 2 +- torchgeo/trainers/landcoverai.py | 2 +- torchgeo/trainers/naipchesapeake.py | 2 +- 12 files changed, 24 insertions(+), 24 deletions(-) diff --git a/torchgeo/datamodules/oscd.py b/torchgeo/datamodules/oscd.py index f77f95310f7..cba602fa263 100644 --- a/torchgeo/datamodules/oscd.py +++ b/torchgeo/datamodules/oscd.py @@ -23,7 +23,7 @@ class OSCDDataModule(pl.LightningDataModule): Uses the train/test splits from the dataset and further splits the train split into train/val splits. - .. versionadded: 0.2 + .. versionadded:: 0.2 """ band_means = torch.tensor( # type: ignore[attr-defined] diff --git a/torchgeo/datamodules/potsdam.py b/torchgeo/datamodules/potsdam.py index 0ddbd2dba9b..776d999cb1e 100644 --- a/torchgeo/datamodules/potsdam.py +++ b/torchgeo/datamodules/potsdam.py @@ -18,7 +18,7 @@ class Potsdam2DDataModule(pl.LightningDataModule): Uses the train/test splits from the dataset. - .. versionadded: 0.2 + .. versionadded:: 0.2 """ def __init__( diff --git a/torchgeo/datamodules/vaihingen.py b/torchgeo/datamodules/vaihingen.py index afc36892c10..cced8a3ff27 100644 --- a/torchgeo/datamodules/vaihingen.py +++ b/torchgeo/datamodules/vaihingen.py @@ -18,7 +18,7 @@ class Vaihingen2DDataModule(pl.LightningDataModule): Uses the train/test splits from the dataset. - .. versionadded: 0.2 + .. versionadded:: 0.2 """ def __init__( diff --git a/torchgeo/datamodules/xview.py b/torchgeo/datamodules/xview.py index a8b5e118835..2548c24851e 100644 --- a/torchgeo/datamodules/xview.py +++ b/torchgeo/datamodules/xview.py @@ -18,7 +18,7 @@ class XView2DataModule(pl.LightningDataModule): Uses the train/val/test splits from the dataset. - .. versionadded: 0.2 + .. versionadded:: 0.2 """ def __init__( diff --git a/torchgeo/datasets/geo.py b/torchgeo/datasets/geo.py index fc7935419bc..93df5d7f482 100644 --- a/torchgeo/datasets/geo.py +++ b/torchgeo/datasets/geo.py @@ -135,7 +135,7 @@ def __and__(self, other: "GeoDataset") -> "IntersectionDataset": Raises: ValueError: if other is not a :class:`GeoDataset` - .. versionadded: 0.2 + .. versionadded:: 0.2 """ return IntersectionDataset(self, other) @@ -151,7 +151,7 @@ def __or__(self, other: "GeoDataset") -> "UnionDataset": Raises: ValueError: if other is not a :class:`GeoDataset` - .. versionadded: 0.2 + .. versionadded:: 0.2 """ return UnionDataset(self, other) @@ -227,7 +227,7 @@ def crs(self) -> CRS: Returns: the :term:`coordinate reference system (CRS)` - .. versionadded: 0.2 + .. versionadded:: 0.2 """ return self._crs @@ -240,7 +240,7 @@ def crs(self, new_crs: CRS) -> None: Args: new_crs: new :term:`coordinate reference system (CRS)` - .. versionadded: 0.2 + .. versionadded:: 0.2 """ if new_crs == self._crs: return @@ -819,7 +819,7 @@ class IntersectionDataset(GeoDataset): dataset = landsat & cdl - .. versionadded: 0.2 + .. versionadded:: 0.2 """ def __init__( @@ -931,7 +931,7 @@ class UnionDataset(GeoDataset): dataset = landsat7 | landsat8 - .. versionadded: 0.2 + .. versionadded:: 0.2 """ def __init__( diff --git a/torchgeo/datasets/nasa_marine_debris.py b/torchgeo/datasets/nasa_marine_debris.py index 2b502751920..39f5ff62679 100644 --- a/torchgeo/datasets/nasa_marine_debris.py +++ b/torchgeo/datasets/nasa_marine_debris.py @@ -48,7 +48,7 @@ class NASAMarineDebris(VisionDataset): * `radiant-mlhub `_ to download the imagery and labels from the Radiant Earth MLHub - .. versionadded: 0.2 + .. versionadded:: 0.2 """ dataset_id = "nasa_marine_debris" diff --git a/torchgeo/datasets/utils.py b/torchgeo/datasets/utils.py index 341a94989f9..472977af848 100644 --- a/torchgeo/datasets/utils.py +++ b/torchgeo/datasets/utils.py @@ -222,7 +222,7 @@ def __post_init__(self) -> None: ValueError: if bounding box is invalid (minx > maxx, miny > maxy, or mint > maxt) - .. versionadded: 0.2 + .. versionadded:: 0.2 """ if self.minx > self.maxx: raise ValueError( @@ -277,7 +277,7 @@ def __contains__(self, other: "BoundingBox") -> bool: Returns: True if other is within this bounding box, else False - .. versionadded: 0.2 + .. versionadded:: 0.2 """ return ( (self.minx <= other.minx <= self.maxx) @@ -297,7 +297,7 @@ def __or__(self, other: "BoundingBox") -> "BoundingBox": Returns: the minimum bounding box that contains both self and other - .. versionadded: 0.2 + .. versionadded:: 0.2 """ return BoundingBox( min(self.minx, other.minx), @@ -320,7 +320,7 @@ def __and__(self, other: "BoundingBox") -> "BoundingBox": Raises: ValueError: if self and other do not intersect - .. versionadded: 0.2 + .. versionadded:: 0.2 """ try: return BoundingBox( @@ -438,7 +438,7 @@ def _list_dict_to_dict_list(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, List Returns: a dictionary of lists - .. versionadded: 0.2 + .. versionadded:: 0.2 """ collated = collections.defaultdict(list) for sample in samples: @@ -459,7 +459,7 @@ def stack_samples(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, Any]: Returns: a single sample - .. versionadded: 0.2 + .. versionadded:: 0.2 """ collated: Dict[Any, Any] = _list_dict_to_dict_list(samples) for key, value in collated.items(): @@ -479,7 +479,7 @@ def concat_samples(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, Any]: Returns: a single sample - .. versionadded: 0.2 + .. versionadded:: 0.2 """ collated: Dict[Any, Any] = _list_dict_to_dict_list(samples) for key, value in collated.items(): @@ -501,7 +501,7 @@ def merge_samples(samples: Iterable[Dict[Any, Any]]) -> Dict[Any, Any]: Returns: a single sample - .. versionadded: 0.2 + .. versionadded:: 0.2 """ collated: Dict[Any, Any] = {} for sample in samples: diff --git a/torchgeo/datasets/vaihingen.py b/torchgeo/datasets/vaihingen.py index c7bb3e7f4ed..e46b9af9ccd 100644 --- a/torchgeo/datasets/vaihingen.py +++ b/torchgeo/datasets/vaihingen.py @@ -51,7 +51,7 @@ class Vaihingen2D(VisionDataset): * https://doi.org/10.5194/isprsannals-I-3-293-2012 - .. versionadded: 0.2 + .. versionadded:: 0.2 """ # noqa: E501 filenames = [ diff --git a/torchgeo/datasets/xview.py b/torchgeo/datasets/xview.py index b7ff4d46002..69d2421ee20 100644 --- a/torchgeo/datasets/xview.py +++ b/torchgeo/datasets/xview.py @@ -44,7 +44,7 @@ class XView2(VisionDataset): * https://arxiv.org/abs/1911.09296 - .. versionadded: 0.2 + .. versionadded:: 0.2 """ metadata = { diff --git a/torchgeo/trainers/chesapeake.py b/torchgeo/trainers/chesapeake.py index 15a2e247dee..f1c78ef872a 100644 --- a/torchgeo/trainers/chesapeake.py +++ b/torchgeo/trainers/chesapeake.py @@ -35,7 +35,7 @@ class ChesapeakeCVPRSegmentationTask(SemanticSegmentationTask): """LightningModule for training models on the Chesapeake CVPR Land Cover dataset. - .. deprecated: 0.1 + .. deprecated:: 0.1 Use :class:`SemanticSegmentationTask` instead. """ diff --git a/torchgeo/trainers/landcoverai.py b/torchgeo/trainers/landcoverai.py index c95f0313523..364aa19f4a3 100644 --- a/torchgeo/trainers/landcoverai.py +++ b/torchgeo/trainers/landcoverai.py @@ -19,7 +19,7 @@ class LandCoverAISegmentationTask(SemanticSegmentationTask): """LightningModule for training models on the Landcover.AI Dataset. - .. deprecated: 0.1 + .. deprecated:: 0.1 Use :class:`SemanticSegmentationTask` instead. """ diff --git a/torchgeo/trainers/naipchesapeake.py b/torchgeo/trainers/naipchesapeake.py index b5480627772..4139b00ce67 100644 --- a/torchgeo/trainers/naipchesapeake.py +++ b/torchgeo/trainers/naipchesapeake.py @@ -16,7 +16,7 @@ class NAIPChesapeakeSegmentationTask(SemanticSegmentationTask): """LightningModule for training models on the NAIP and Chesapeake datasets. - .. deprecated: 0.1 + .. deprecated:: 0.1 Use :class:`SemanticSegmentationTask` instead. """ From 324f0f8ea7dd037eec3c0d598518cdf3d0469ab1 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Fri, 24 Dec 2021 16:34:39 -0600 Subject: [PATCH 11/26] Use labeler bot to automatically label PRs (#323) --- .github/labeler.yml | 21 +++++++++++++++++++++ .github/workflows/labeler.yml | 12 ++++++++++++ 2 files changed, 33 insertions(+) create mode 100644 .github/labeler.yml create mode 100644 .github/workflows/labeler.yml diff --git a/.github/labeler.yml b/.github/labeler.yml new file mode 100644 index 00000000000..193edeef897 --- /dev/null +++ b/.github/labeler.yml @@ -0,0 +1,21 @@ +# TorchGeo modules +datamodules: +- torchgeo/datamodules/** +datasets: +- torchgeo/datasets/** +losses: +- torchgeo/losses/** +models: +- torchgeo/models/** +samplers: +- torchgeo/samplers/** +trainers: +- torchgeo/trainers/** +transforms: +- torchgeo/transforms/** + +# Other +documentation: +- docs/** +testing: +- tests/** diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml new file mode 100644 index 00000000000..0e112f97ac5 --- /dev/null +++ b/.github/workflows/labeler.yml @@ -0,0 +1,12 @@ +name: "Pull Request Labeler" +on: +- pull_request_target + +jobs: + triage: + runs-on: ubuntu-latest + steps: + - uses: actions/labeler@v3 + with: + repo-token: "${{ secrets.GITHUB_TOKEN }}" + sync-labels: true From 41533ffb3e28ec4211dda6fcc3d99135c7f4d67a Mon Sep 17 00:00:00 2001 From: Ashwin Nair Date: Sun, 26 Dec 2021 18:06:16 +0400 Subject: [PATCH 12/26] Update hooks (#330) --- .pre-commit-config.yaml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 81545d56034..0a439c88f5c 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,12 +1,12 @@ repos: - repo: https://github.com/pycqa/isort - rev: 5.8.0 + rev: 5.10.0 hooks: - id: isort additional_dependencies: ["colorama>=0.4.3"] - repo: https://github.com/psf/black - rev: 21.4b0 + rev: 21.12b0 hooks: - id: black args: [--skip-magic-trailing-comma] @@ -24,7 +24,7 @@ repos: additional_dependencies: ["toml"] - repo: https://github.com/pre-commit/mirrors-mypy - rev: v0.920 + rev: v0.930 hooks: - id: mypy args: [--strict, --ignore-missing-imports, --show-error-codes] From 33efc2c0ca6ad7a5af9e29ddcedf67265fa8721f Mon Sep 17 00:00:00 2001 From: isaac <22203655+isaaccorley@users.noreply.github.com> Date: Sun, 26 Dec 2021 17:54:30 -0800 Subject: [PATCH 13/26] fix imports in train.py (#332) --- train.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/train.py b/train.py index 81d62ff5f59..ea80c556bd6 100755 --- a/train.py +++ b/train.py @@ -13,7 +13,7 @@ from pytorch_lightning import loggers as pl_loggers from pytorch_lightning.callbacks import EarlyStopping, ModelCheckpoint -from .datamodules import ( +from torchgeo.datamodules import ( BigEarthNetDataModule, ChesapeakeCVPRDataModule, COWCCountingDataModule, @@ -28,17 +28,17 @@ So2SatDataModule, UCMercedDataModule, ) -from .trainers import ( +from torchgeo.trainers import ( BYOLTask, ClassificationTask, MultiLabelClassificationTask, RegressionTask, SemanticSegmentationTask, ) -from .trainers.chesapeake import ChesapeakeCVPRSegmentationTask -from .trainers.landcoverai import LandCoverAISegmentationTask -from .trainers.naipchesapeake import NAIPChesapeakeSegmentationTask -from .trainers.resisc45 import RESISC45ClassificationTask +from torchgeo.trainers.chesapeake import ChesapeakeCVPRSegmentationTask +from torchgeo.trainers.landcoverai import LandCoverAISegmentationTask +from torchgeo.trainers.naipchesapeake import NAIPChesapeakeSegmentationTask +from torchgeo.trainers.resisc45 import RESISC45ClassificationTask TASK_TO_MODULES_MAPPING: Dict[ str, Tuple[Type[pl.LightningModule], Type[pl.LightningDataModule]] From 0abb780c69ea82395f6cf7b9ac19a3a2568cef81 Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Mon, 27 Dec 2021 17:03:11 -0600 Subject: [PATCH 14/26] More uniform name for labeler action --- .github/workflows/labeler.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/labeler.yml b/.github/workflows/labeler.yml index 0e112f97ac5..4e3daee0c33 100644 --- a/.github/workflows/labeler.yml +++ b/.github/workflows/labeler.yml @@ -1,9 +1,9 @@ -name: "Pull Request Labeler" +name: "labeler" on: - pull_request_target jobs: - triage: + label: runs-on: ubuntu-latest steps: - uses: actions/labeler@v3 From 45df0f8b986ca161332fc513b689e5435f3df837 Mon Sep 17 00:00:00 2001 From: Nils Lehmann <35272119+nilsleh@users.noreply.github.com> Date: Tue, 28 Dec 2021 18:25:50 +0100 Subject: [PATCH 15/26] Add plotting method for COWC dataset (#300) * plotting method cowc dataset * boolean label for detection * restructure plotting method * typo * label title not as variable * single plot method in super class Co-authored-by: Caleb Robinson --- tests/datasets/test_cowc.py | 21 +++++++++++++++++ torchgeo/datasets/cowc.py | 45 ++++++++++++++++++++++++++++++++++++- 2 files changed, 65 insertions(+), 1 deletion(-) diff --git a/tests/datasets/test_cowc.py b/tests/datasets/test_cowc.py index 11cc3744cea..209988d84d5 100644 --- a/tests/datasets/test_cowc.py +++ b/tests/datasets/test_cowc.py @@ -6,6 +6,7 @@ from pathlib import Path from typing import Generator +import matplotlib.pyplot as plt import pytest import torch import torch.nn as nn @@ -88,6 +89,16 @@ def test_not_downloaded(self, tmp_path: Path) -> None: with pytest.raises(RuntimeError, match="Dataset not found or corrupted."): COWCCounting(str(tmp_path)) + def test_plot(self, dataset: COWCCounting) -> None: + x = dataset[0].copy() + dataset.plot(x, suptitle="Test") + plt.close() + dataset.plot(x, show_titles=False) + plt.close() + x["prediction"] = x["label"].clone() + dataset.plot(x) + plt.close() + class TestCOWCDetection: @pytest.fixture(params=["train", "test"]) @@ -148,3 +159,13 @@ def test_invalid_split(self) -> None: def test_not_downloaded(self, tmp_path: Path) -> None: with pytest.raises(RuntimeError, match="Dataset not found or corrupted."): COWCDetection(str(tmp_path)) + + def test_plot(self, dataset: COWCDetection) -> None: + x = dataset[0].copy() + dataset.plot(x, suptitle="Test") + plt.close() + dataset.plot(x, show_titles=False) + plt.close() + x["prediction"] = x["label"].clone() + dataset.plot(x) + plt.close() diff --git a/torchgeo/datasets/cowc.py b/torchgeo/datasets/cowc.py index f16448824b3..4efec967329 100644 --- a/torchgeo/datasets/cowc.py +++ b/torchgeo/datasets/cowc.py @@ -6,8 +6,9 @@ import abc import csv import os -from typing import Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional, cast +import matplotlib.pyplot as plt import numpy as np import torch from PIL import Image @@ -190,6 +191,48 @@ def _download(self) -> None: md5=md5 if self.checksum else None, ) + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample returned by :meth:`VisionClassificationDataset.__getitem__` + show_titles: flag indicating whether to show titles above each panel + suptitle: optional string to use as a suptitle + + Returns: + a matplotlib Figure with the rendered sample + + .. versionadded:: 0.2 + """ + image = sample["image"] + label = cast(str, sample["label"].item()) + + showing_predictions = "prediction" in sample + if showing_predictions: + prediction = cast(str, sample["prediction"].item()) + else: + prediction = None + + fig, ax = plt.subplots(1, 1, figsize=(10, 10)) + ax.imshow(image.permute(1, 2, 0)) + ax.axis("off") + + if show_titles: + title = f"Label: {label}" + if prediction is not None: + title += f"\nPrediction: {prediction}" + ax.set_title(title) + + if suptitle is not None: + plt.suptitle(suptitle) + + return fig + class COWCCounting(COWC): """COWC Dataset for car counting.""" From 0d4811b752a4ca88ba9a704c7fa225222c14a90a Mon Sep 17 00:00:00 2001 From: estherrolf Date: Tue, 28 Dec 2021 12:56:14 -0800 Subject: [PATCH 16/26] functionality for learning on the prior with QR loss and ChesapeakeCVPR data (#202) * adding QR loss functions for learning on the prior * chesapake learn on prior trainer with self-contained code for visualization * adding prior dataset to the chesapeake datasets; doesn't handle downloading or anything like that yet * updating init files to include chesapeake CVPR prior * adding FCNModified for learning on the prior * changing input to samplers to pass dataset instead of dataset.index * fixing style issues * Removing FCN_modified * Fixing super call and mypy in FCN model * Added learning on the prior extension * Update tests * Formatting * Adding QR loss * Added losses to docs * Removing trainer, moving datamodule * Combining chesapeake and chesapeake prior datamodules * Formatting * Test coverage * Formatting * Adding losses * Re-moving the datamodules around * Make loss function a torch Module * Version added * Fixed some stuff that got messed up in the rebase * Formatting * How'd this get there? * Change qr losses to expect probabilities instead of log-probabilities * Clean up test * Rename qr loss file * Renamed test file Co-authored-by: Caleb Robinson --- docs/api/losses.rst | 4 + docs/index.rst | 1 + pyproject.toml | 2 +- ...r_chesapeake_landcover_prior_extension.zip | Bin 0 -> 2085 bytes ...occurrences_101_31_no_osm_no_buildings.tif | Bin 0 -> 1049730 bytes tests/datamodules/test_chesapeake.py | 20 ++++- tests/datasets/test_chesapeake.py | 53 ++++++++++-- tests/losses/__init__.py | 2 + tests/losses/test_qr.py | 20 +++++ torchgeo/datamodules/chesapeake.py | 39 +++++++-- torchgeo/datasets/chesapeake.py | 61 ++++++++++++-- torchgeo/losses/__init__.py | 12 +++ torchgeo/losses/qr.py | 78 ++++++++++++++++++ torchgeo/models/fcn.py | 2 +- 14 files changed, 267 insertions(+), 27 deletions(-) create mode 100644 docs/api/losses.rst create mode 100644 tests/data/chesapeake/cvpr/cvpr_chesapeake_landcover_prior_extension.zip create mode 100644 tests/data/chesapeake/cvpr/de_1m_2013_extended-debuffered-test_tiles/m_3807504_ne_18_1_prior_from_cooccurrences_101_31_no_osm_no_buildings.tif create mode 100644 tests/losses/__init__.py create mode 100644 tests/losses/test_qr.py create mode 100644 torchgeo/losses/__init__.py create mode 100644 torchgeo/losses/qr.py diff --git a/docs/api/losses.rst b/docs/api/losses.rst new file mode 100644 index 00000000000..3ce97d2e169 --- /dev/null +++ b/docs/api/losses.rst @@ -0,0 +1,4 @@ +torchgeo.losses +================= + +.. automodule:: torchgeo.losses diff --git a/docs/index.rst b/docs/index.rst index d2e85fa5d5a..6228db3805b 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -17,6 +17,7 @@ torchgeo api/datamodules api/datasets + api/losses api/models api/samplers api/trainers diff --git a/pyproject.toml b/pyproject.toml index bdc1be32515..69cca9467a1 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -73,7 +73,7 @@ strict_equality = true [tool.pydocstyle] convention = "google" -match_dir = "(datamodules|datasets|models|samplers|torchgeo|trainers|transforms)" +match_dir = "(datamodules|datasets|losses|models|samplers|torchgeo|trainers|transforms)" [tool.pytest.ini_options] # Skip slow tests by default diff --git a/tests/data/chesapeake/cvpr/cvpr_chesapeake_landcover_prior_extension.zip b/tests/data/chesapeake/cvpr/cvpr_chesapeake_landcover_prior_extension.zip new file mode 100644 index 0000000000000000000000000000000000000000..4dc86ae73d61a9a0e10158725823de2855019359 GIT binary patch literal 2085 zcmWIWW@h1H0D(Oo6NAAFD51q5!;q31Z;uPcFB6ayvoYJ z(8MCZP)w2?x$(vp2Ii&)Ch>VdcUi<6#upT2<`>1M73Jr~C+FuUCzlo#rRF847RMVJ z7{(hL#^>e7=NIRKsHD=&oRrMG^kTh|%rv-TIfF4A`}Xq2Jeg35wug`J9;1d@s5j4Sg6!_C zetLb*_ML@0cJHq|ufE%Iew^LeJ+*4GcdOr*e}9&~dw;35{?m*3t0yhqbNY1Xey#2^ z^{I8mw)(Hns8@b?Ru$G~^nXibuugfn+>iM9@Sk?;<}I1F>+JXGZ6?b!ukL*l>>c~+ z@`Ph1ORY}ZZN0M8jyKaMc-3cwaMWgh-O`o*&Qh1Bykft(eA=!n%N2Vwy-Fw6X07zD zmAW)zS;%)JB}Tum1Wo^Cvc%ALW!(&f68V(*QLlpLgY9fbGG!`INp$Z2`t@L${!IwG z79*TcH34o=^PhR|)>+rr{XPHr{@x#tH*Y@s^V8Ms>Gk(_|6cR=ZGYA8le>$<^4Ia3 z|9*P*>mr$HM~jO8e}BB`)*SWoufP5I^W)K)xpuMjJO4fWoquh8{m-ArzlJXtpMHDx zbYPMj1*0J_8UiCM1Rm_K;t%jO7cz f3=CTuQ%JIpiZviEhqJPQf`ADKH5nNgo`HD)i}19L literal 0 HcmV?d00001 diff --git a/tests/data/chesapeake/cvpr/de_1m_2013_extended-debuffered-test_tiles/m_3807504_ne_18_1_prior_from_cooccurrences_101_31_no_osm_no_buildings.tif b/tests/data/chesapeake/cvpr/de_1m_2013_extended-debuffered-test_tiles/m_3807504_ne_18_1_prior_from_cooccurrences_101_31_no_osm_no_buildings.tif new file mode 100644 index 0000000000000000000000000000000000000000..57cd2d378d1e642432b5fc0e95efae5854b3b04e GIT binary patch literal 1049730 zcmeIyzm6MK7{=ja`^0O&$wIMEkit?>q@+P8O**vFX;QF4{JDbxi6&`4NGL_L8Oa^o z#PreL!_<^1spbNxQs*77i%pS=lE{Cl!>eGv@%Q%hay(~!nArCPI3Ep@3+LmJbR>aFZk zOI_;Ikj6Bny3Rhe)TKTRX-re9C)uZ#y40s3jcH1ClYMHbOMM#Bn5I-e$Ue2yr9KU5 zOjD{KW}jN>QlEx2rYY5rvQI5_sZT>1)0FBq`_xjG`ZT05O{w0_KDE@PJ`HJ1Q>u5e zPc3z+PeU5hl{8o)9$Os7taqDpU ChesapeakeCVPRDataModule: dm = ChesapeakeCVPRDataModule( os.path.join("tests", "data", "chesapeake", "cvpr"), @@ -22,7 +22,8 @@ def datamodule(self, request: SubRequest) -> ChesapeakeCVPRDataModule: patches_per_tile=2, batch_size=2, num_workers=0, - class_set=request.param, + class_set=request.param[0], + use_prior_labels=request.param[1], ) dm.prepare_data() dm.setup() @@ -50,3 +51,18 @@ def test_nodata_check(self, datamodule: ChesapeakeCVPRDataModule) -> None: assert torch.equal( # type: ignore[attr-defined] out["mask"], torch.zeros(4, 4) # type: ignore[attr-defined] ) + + def test_invalid_param_config(self) -> None: + with pytest.raises(ValueError, match="The pre-generated prior labels"): + ChesapeakeCVPRDataModule( + os.path.join("tests", "data", "chesapeake", "cvpr"), + ["de-test"], + ["de-test"], + ["de-test"], + patch_size=32, + patches_per_tile=2, + batch_size=2, + num_workers=0, + class_set=7, + use_prior_labels=True, + ) diff --git a/tests/datasets/test_chesapeake.py b/tests/datasets/test_chesapeake.py index 2f321967be9..1393fdb2bd4 100644 --- a/tests/datasets/test_chesapeake.py +++ b/tests/datasets/test_chesapeake.py @@ -101,6 +101,7 @@ class TestChesapeakeCVPR: ("naip-new", "naip-old", "nlcd"), ("landsat-leaf-on", "landsat-leaf-off", "lc"), ("naip-new", "landsat-leaf-on", "lc", "nlcd", "buildings"), + ("naip-new", "prior_from_cooccurrences_101_31_no_osm_no_buildings"), ] ) def dataset( @@ -112,12 +113,34 @@ def dataset( monkeypatch.setattr( # type: ignore[attr-defined] torchgeo.datasets.chesapeake, "download_url", download_url ) - md5 = "882d18b1f15ea4498bf54e674aecd5d4" - monkeypatch.setattr(ChesapeakeCVPR, "md5", md5) # type: ignore[attr-defined] - url = os.path.join( - "tests", "data", "chesapeake", "cvpr", "cvpr_chesapeake_landcover.zip" + monkeypatch.setattr( # type: ignore[attr-defined] + ChesapeakeCVPR, + "md5s", + { + "base": "882d18b1f15ea4498bf54e674aecd5d4", + "prior_extension": "677446c486f3145787938b14ee3da13f", + }, + ) + monkeypatch.setattr( # type: ignore[attr-defined] + ChesapeakeCVPR, + "urls", + { + "base": os.path.join( + "tests", + "data", + "chesapeake", + "cvpr", + "cvpr_chesapeake_landcover.zip", + ), + "prior_extension": os.path.join( + "tests", + "data", + "chesapeake", + "cvpr", + "cvpr_chesapeake_landcover_prior_extension.zip", + ), + }, ) - monkeypatch.setattr(ChesapeakeCVPR, "url", url) # type: ignore[attr-defined] monkeypatch.setattr( # type: ignore[attr-defined] ChesapeakeCVPR, "files", @@ -152,11 +175,23 @@ def test_already_extracted(self, dataset: ChesapeakeCVPR) -> None: ChesapeakeCVPR(root=dataset.root, download=True) def test_already_downloaded(self, tmp_path: Path) -> None: - url = os.path.join( - "tests", "data", "chesapeake", "cvpr", "cvpr_chesapeake_landcover.zip" - ) root = str(tmp_path) - shutil.copy(url, root) + shutil.copy( + os.path.join( + "tests", "data", "chesapeake", "cvpr", "cvpr_chesapeake_landcover.zip" + ), + root, + ) + shutil.copy( + os.path.join( + "tests", + "data", + "chesapeake", + "cvpr", + "cvpr_chesapeake_landcover_prior_extension.zip", + ), + root, + ) ChesapeakeCVPR(root) def test_not_downloaded(self, tmp_path: Path) -> None: diff --git a/tests/losses/__init__.py b/tests/losses/__init__.py new file mode 100644 index 00000000000..5b7f7a925cc --- /dev/null +++ b/tests/losses/__init__.py @@ -0,0 +1,2 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. diff --git a/tests/losses/test_qr.py b/tests/losses/test_qr.py new file mode 100644 index 00000000000..ce6ab19254e --- /dev/null +++ b/tests/losses/test_qr.py @@ -0,0 +1,20 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import torch + +from torchgeo.losses import QRLoss, RQLoss + + +class TestQRLosses: + def test_loss_on_prior_simple(self) -> None: + probs = torch.rand(2, 4, 10, 10) + log_probs = torch.log(probs) # type: ignore[attr-defined] + targets = torch.rand(2, 4, 10, 10) + QRLoss()(log_probs, targets) + + def test_loss_on_prior_reversed_kl_simple(self) -> None: + probs = torch.rand(2, 4, 10, 10) + log_probs = torch.log(probs) # type: ignore[attr-defined] + targets = torch.rand(2, 4, 10, 10) + RQLoss()(log_probs, targets) diff --git a/torchgeo/datamodules/chesapeake.py b/torchgeo/datamodules/chesapeake.py index 225f4c31169..000ecd39ba8 100644 --- a/torchgeo/datamodules/chesapeake.py +++ b/torchgeo/datamodules/chesapeake.py @@ -39,6 +39,8 @@ def __init__( batch_size: int = 64, num_workers: int = 0, class_set: int = 7, + use_prior_labels: bool = False, + prior_smoothing_constant: float = 1e-4, **kwargs: Any, ) -> None: """Initialize a LightningDataModule for Chesapeake CVPR based DataLoaders. @@ -55,17 +57,27 @@ def __init__( batch_size: The batch size to use in all created DataLoaders num_workers: The number of workers to use in all created DataLoaders class_set: The high-resolution land cover class set to use - 5 or 7 + use_prior_labels: Flag for using a prior over high-resolution classes + instead of the high-resolution labels themselves + prior_smoothing_constant: additive smoothing to add when using prior labels + + Raises: + ValueError: if ``use_prior_labels`` is used with ``class_set==7`` """ super().__init__() # type: ignore[no-untyped-call] for state in train_splits + val_splits + test_splits: assert state in ChesapeakeCVPR.splits assert class_set in [5, 7] + if use_prior_labels and class_set != 5: + raise ValueError( + "The pre-generated prior labels are only valid for the 5" + + " class set of labels" + ) self.root_dir = root_dir self.train_splits = train_splits self.val_splits = val_splits self.test_splits = test_splits - self.layers = ["naip-new", "lc"] self.patches_per_tile = patches_per_tile self.patch_size = patch_size # This is a rough estimate of how large of a patch we will need to sample in @@ -74,6 +86,16 @@ def __init__( self.batch_size = batch_size self.num_workers = num_workers self.class_set = class_set + self.use_prior_labels = use_prior_labels + self.prior_smoothing_constant = prior_smoothing_constant + + if self.use_prior_labels: + self.layers = [ + "naip-new", + "prior_from_cooccurrences_101_31_no_osm_no_buildings", + ] + else: + self.layers = ["naip-new", "lc"] def pad_to( self, size: int = 512, image_value: int = 0, mask_value: int = 0 @@ -148,15 +170,20 @@ def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: preprocessed sample """ sample["image"] = sample["image"] / 255.0 - sample["mask"] = sample["mask"] sample["mask"] = sample["mask"].squeeze() - if self.class_set == 5: - sample["mask"][sample["mask"] == 5] = 4 - sample["mask"][sample["mask"] == 6] = 4 + if self.use_prior_labels: + sample["mask"] = F.normalize(sample["mask"].float(), p=1, dim=0) + sample["mask"] = F.normalize( + sample["mask"] + self.prior_smoothing_constant, p=1, dim=0 + ) + else: + if self.class_set == 5: + sample["mask"][sample["mask"] == 5] = 4 + sample["mask"][sample["mask"] == 6] = 4 + sample["mask"] = sample["mask"].long() sample["image"] = sample["image"].float() - sample["mask"] = sample["mask"].long() return sample diff --git a/torchgeo/datasets/chesapeake.py b/torchgeo/datasets/chesapeake.py index d697d96dea8..d8a2405681f 100644 --- a/torchgeo/datasets/chesapeake.py +++ b/torchgeo/datasets/chesapeake.py @@ -293,9 +293,19 @@ class ChesapeakeCVPR(GeoDataset): * https://doi.org/10.1109/cvpr.2019.01301 """ - url = "https://lilablobssc.blob.core.windows.net/lcmcvpr2019/cvpr_chesapeake_landcover.zip" # noqa: E501 - filename = "cvpr_chesapeake_landcover.zip" - md5 = "1225ccbb9590e9396875f221e5031514" + subdatasets = ["base", "prior_extension"] + urls = { + "base": "https://lilablobssc.blob.core.windows.net/lcmcvpr2019/cvpr_chesapeake_landcover.zip", # noqa: E501 + "prior_extension": "https://zenodo.org/record/5652512/files/cvpr_chesapeake_landcover_prior_extension.zip?download=1", # noqa: E501 + } + filenames = { + "base": "cvpr_chesapeake_landcover.zip", + "prior_extension": "cvpr_chesapeake_landcover_prior_extension.zip", + } + md5s = { + "base": "1225ccbb9590e9396875f221e5031514", + "prior_extension": "8f43ec30e155274dd652e157c48d2598", + } crs = CRS.from_epsg(3857) res = 1 @@ -308,6 +318,7 @@ class ChesapeakeCVPR(GeoDataset): "nlcd", "lc", "buildings", + "prior_from_cooccurrences_101_31_no_osm_no_buildings", ] states = ["de", "md", "va", "wv", "pa", "ny"] splits = ( @@ -316,6 +327,7 @@ class ChesapeakeCVPR(GeoDataset): + [f"{state}-test" for state in states] ) + # these are used to check the integrity of the dataset files = [ "de_1m_2013_extended-debuffered-test_tiles", "de_1m_2013_extended-debuffered-train_tiles", @@ -335,6 +347,14 @@ class ChesapeakeCVPR(GeoDataset): "wv_1m_2014_extended-debuffered-test_tiles", "wv_1m_2014_extended-debuffered-train_tiles", "wv_1m_2014_extended-debuffered-val_tiles", + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_buildings.tif", + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_landsat-leaf-off.tif", # noqa: E501 + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_landsat-leaf-on.tif", # noqa: E501 + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_lc.tif", + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_naip-new.tif", + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_naip-old.tif", + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_nlcd.tif", + "wv_1m_2014_extended-debuffered-val_tiles/m_3708035_ne_17_1_prior_from_cooccurrences_101_31_no_osm_no_buildings.tif", # noqa: E501 "spatial_index.geojson", ] @@ -365,7 +385,8 @@ def __init__( splits: a list of strings in the format "{state}-{train,val,test}" indicating the subset of data to use, for example "ny-train" layers: a list containing a subset of "naip-new", "naip-old", "lc", "nlcd", - "landsat-leaf-on", "landsat-leaf-off", "buildings" indicating which + "landsat-leaf-on", "landsat-leaf-off", "buildings", or + "prior_from_cooccurrences_101_31_no_osm_no_buildings" indicating which layers to load transforms: a function/transform that takes an input sample and returns a transformed version @@ -399,6 +420,12 @@ def __init__( box = shapely.geometry.shape(row["geometry"]) minx, miny, maxx, maxy = box.bounds coords = (minx, maxx, miny, maxy, mint, maxt) + + prior_fn = row["properties"]["lc"].replace( + "lc.tif", + "prior_from_cooccurrences_101_31_no_osm_no_buildings.tif", + ) + self.index.insert( i, coords, @@ -410,6 +437,7 @@ def __init__( "lc": row["properties"]["lc"], "nlcd": row["properties"]["nlcd"], "buildings": row["properties"]["buildings"], + "prior_from_cooccurrences_101_31_no_osm_no_buildings": prior_fn, # noqa: E501 }, ) @@ -467,7 +495,12 @@ def __getitem__(self, query: BoundingBox) -> Dict[str, Any]: "landsat-leaf-off", ]: sample["image"].append(data) - elif layer in ["lc", "nlcd", "buildings"]: + elif layer in [ + "lc", + "nlcd", + "buildings", + "prior_from_cooccurrences_101_31_no_osm_no_buildings", + ]: sample["mask"].append(data) else: raise IndexError(f"query: {query} spans multiple tiles which is not valid") @@ -503,7 +536,12 @@ def exists(filename: str) -> bool: return # Check if the zip files have already been downloaded - if os.path.exists(os.path.join(self.root, self.filename)): + if all( + [ + os.path.exists(os.path.join(self.root, self.filenames[subdataset])) + for subdataset in self.subdatasets + ] + ): self._extract() return @@ -521,8 +559,15 @@ def exists(filename: str) -> bool: def _download(self) -> None: """Download the dataset.""" - download_url(self.url, self.root, filename=self.filename, md5=self.md5) + for subdataset in self.subdatasets: + download_url( + self.urls[subdataset], + self.root, + filename=self.filenames[subdataset], + md5=self.md5s[subdataset], + ) def _extract(self) -> None: """Extract the dataset.""" - extract_archive(os.path.join(self.root, self.filename)) + for subdataset in self.subdatasets: + extract_archive(os.path.join(self.root, self.filenames[subdataset])) diff --git a/torchgeo/losses/__init__.py b/torchgeo/losses/__init__.py new file mode 100644 index 00000000000..d2967cd97fd --- /dev/null +++ b/torchgeo/losses/__init__.py @@ -0,0 +1,12 @@ +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +"""TorchGeo losses.""" + +from .qr import QRLoss, RQLoss + +__all__ = ("QRLoss", "RQLoss") + +# https://stackoverflow.com/questions/40018681 +for module in __all__: + globals()[module].__module__ = "torchgeo.losses" diff --git a/torchgeo/losses/qr.py b/torchgeo/losses/qr.py new file mode 100644 index 00000000000..c6120d34fdf --- /dev/null +++ b/torchgeo/losses/qr.py @@ -0,0 +1,78 @@ +"""Loss functions for learing on the prior.""" + +from typing import cast + +import torch +import torch.nn.functional as F +from torch.nn.modules import Module + +# https://github.com/pytorch/pytorch/issues/60979 +# https://github.com/pytorch/pytorch/pull/61045 +Module.__module__ = "torch.nn" + + +class QRLoss(Module): + """The QR (forward) loss between class probabilities and predictions. + + This loss is defined in 'Resolving label uncertainty with implicit generative + models' https://openreview.net/forum?id=AEa_UepnMDX. + + .. versionadded:: 0.2 + """ + + def forward(self, probs: torch.Tensor, target: torch.Tensor) -> torch.Tensor: + """Computes the QR (forwards) loss on prior. + + Args: + probs: probabilities of predictions, expected shape B x C x H x W. + target: prior probabilities, expected shape B x C x H x W. + + Returns: + qr loss + """ + q = probs + q_bar = q.mean(dim=(0, 2, 3)) + qbar_log_S = (q_bar * torch.log(q_bar)).sum() # type: ignore[attr-defined] + + q_log_p = torch.einsum( # type: ignore[attr-defined] + "bcxy,bcxy->bxy", q, torch.log(target) # type: ignore[attr-defined] + ).mean() + + loss = qbar_log_S - q_log_p + return cast(torch.Tensor, loss) + + +class RQLoss(Module): + """The RQ (backwards) loss between class probabilities and predictions. + + This loss is defined in 'Resolving label uncertainty with implicit generative + models' https://openreview.net/forum?id=AEa_UepnMDX. + + .. versionadded:: 0.2 + """ + + def forward(self, probs: torch.Tensor, target: torch.Tensor) -> torch.Tensor: + """Computes the RQ (backwards) loss on prior. + + Args: + probs: probabilities of predictions, expected shape B x C x H x W + target: prior probabilities, expected shape B x C x H x W + + Returns: + qr loss + """ + q = probs + + # manually normalize due to https://github.com/pytorch/pytorch/issues/70100 + z = q / q.norm( # type: ignore[no-untyped-call] + p=1, dim=(0, 2, 3), keepdim=True + ).clamp_min(1e-12).expand_as(q) + r = F.normalize(z * target, p=1, dim=1) + + loss = torch.einsum( # type: ignore[attr-defined] + "bcxy,bcxy->bxy", + r, + torch.log(r) - torch.log(q), # type: ignore[attr-defined] + ).mean() + + return cast(torch.Tensor, loss) diff --git a/torchgeo/models/fcn.py b/torchgeo/models/fcn.py index d02db303976..6cde6da2c73 100644 --- a/torchgeo/models/fcn.py +++ b/torchgeo/models/fcn.py @@ -23,7 +23,7 @@ def __init__(self, in_channels: int, classes: int, num_filters: int = 64) -> Non classes: Number of filters in the final layer num_filters: Number of filters in each convolutional layer """ - super(FCN, self).__init__() + super().__init__() conv1 = nn.modules.Conv2d( in_channels, num_filters, kernel_size=3, stride=1, padding=1 From 7ad31942d573705fd2d73639cb8e41b521eb2c26 Mon Sep 17 00:00:00 2001 From: Caleb Robinson Date: Tue, 28 Dec 2021 13:01:57 -0800 Subject: [PATCH 17/26] Add plot method to ADVANCE, BeninSmallHolderCashews, and BigEarthNet datasets (#264) * Adding plot to ADVANCE dataset * Adding plot to BeninSmallHolderCashews * Adding plot to BigEarthNet * Doctstring adjustment for BigEarthNet plot * Cleaning up ugly test * Cleaning up bigearthnet classes * Added time step plot to benin_cashews * Formatting * Update benin cashew tests * Add S1 plotting and type to np.ndarray * Trying numpy with quotes --- tests/datasets/test_advance.py | 11 ++ tests/datasets/test_benin_cashews.py | 20 +++ tests/datasets/test_bigearthnet.py | 11 ++ torchgeo/datasets/advance.py | 43 +++++- torchgeo/datasets/benin_cashews.py | 95 ++++++++++-- torchgeo/datasets/bigearthnet.py | 211 ++++++++++++++++++--------- 6 files changed, 307 insertions(+), 84 deletions(-) diff --git a/tests/datasets/test_advance.py b/tests/datasets/test_advance.py index 30387142b53..ff2283c83d3 100644 --- a/tests/datasets/test_advance.py +++ b/tests/datasets/test_advance.py @@ -7,6 +7,7 @@ from pathlib import Path from typing import Any, Generator +import matplotlib.pyplot as plt import pytest import torch import torch.nn as nn @@ -86,3 +87,13 @@ def test_mock_missing_module( match="scipy is not installed and is required to use this dataset", ): dataset[0] + + def test_plot(self, dataset: ADVANCE) -> None: + x = dataset[0].copy() + dataset.plot(x, suptitle="Test") + plt.close() + dataset.plot(x, show_titles=False) + plt.close() + x["prediction"] = x["label"].clone() + dataset.plot(x) + plt.close() diff --git a/tests/datasets/test_benin_cashews.py b/tests/datasets/test_benin_cashews.py index f4f6d285f2b..ea19ad3a378 100644 --- a/tests/datasets/test_benin_cashews.py +++ b/tests/datasets/test_benin_cashews.py @@ -7,6 +7,7 @@ from pathlib import Path from typing import Generator +import matplotlib.pyplot as plt import pytest import torch import torch.nn as nn @@ -49,9 +50,12 @@ def dataset( ) root = str(tmp_path) transforms = nn.Identity() # type: ignore[attr-defined] + bands = BeninSmallHolderCashews.ALL_BANDS + return BeninSmallHolderCashews( root, transforms=transforms, + bands=bands, download=True, api_key="", checksum=True, @@ -87,3 +91,19 @@ def test_invalid_bands(self) -> None: with pytest.raises(ValueError, match="is an invalid band name."): BeninSmallHolderCashews(bands=("foo", "bar")) + + def test_plot(self, dataset: BeninSmallHolderCashews) -> None: + x = dataset[0].copy() + dataset.plot(x, suptitle="Test") + plt.close() + dataset.plot(x, show_titles=False) + plt.close() + x["prediction"] = x["mask"].clone() + dataset.plot(x) + plt.close() + + def test_failed_plot(self, dataset: BeninSmallHolderCashews) -> None: + single_band_dataset = BeninSmallHolderCashews(root=dataset.root, bands=("B01",)) + with pytest.raises(ValueError, match="Dataset doesn't contain"): + x = single_band_dataset[0].copy() + single_band_dataset.plot(x, suptitle="Test") diff --git a/tests/datasets/test_bigearthnet.py b/tests/datasets/test_bigearthnet.py index d1f9ca80f68..84307a484a6 100644 --- a/tests/datasets/test_bigearthnet.py +++ b/tests/datasets/test_bigearthnet.py @@ -6,6 +6,7 @@ from pathlib import Path from typing import Generator +import matplotlib.pyplot as plt import pytest import torch import torch.nn as nn @@ -148,3 +149,13 @@ def test_not_downloaded(self, tmp_path: Path) -> None: "to automaticaly download the dataset." with pytest.raises(RuntimeError, match=err): BigEarthNet(str(tmp_path)) + + def test_plot(self, dataset: BigEarthNet) -> None: + x = dataset[0].copy() + dataset.plot(x, suptitle="Test") + plt.close() + dataset.plot(x, show_titles=False) + plt.close() + x["prediction"] = x["label"].clone() + dataset.plot(x) + plt.close() diff --git a/torchgeo/datasets/advance.py b/torchgeo/datasets/advance.py index e5eee11b97b..c22819b0b7d 100644 --- a/torchgeo/datasets/advance.py +++ b/torchgeo/datasets/advance.py @@ -5,8 +5,9 @@ import glob import os -from typing import Callable, Dict, List, Optional +from typing import Callable, Dict, List, Optional, cast +import matplotlib.pyplot as plt import numpy as np import torch from PIL import Image @@ -229,3 +230,43 @@ def _download(self) -> None: download_and_extract_archive( url, self.root, filename=filename, md5=md5 if self.checksum else None ) + + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample returned by :meth:`__getitem__` + show_titles: flag indicating whether to show titles above each panel + suptitle: optional string to use as a suptitle + + Returns: + a matplotlib Figure with the rendered sample + + .. versionadded:: 0.2 + """ + image = np.rollaxis(sample["image"].numpy(), 0, 3) + label = cast(int, sample["label"].item()) + label_class = self.classes[label] + + showing_predictions = "prediction" in sample + if showing_predictions: + prediction = cast(int, sample["prediction"].item()) + prediction_class = self.classes[prediction] + + fig, ax = plt.subplots(figsize=(4, 4)) + ax.imshow(image) + ax.axis("off") + if show_titles: + title = f"Label: {label_class}" + if showing_predictions: + title += f"\nPrediction: {prediction_class}" + ax.set_title(title) + + if suptitle is not None: + plt.suptitle(suptitle) + return fig diff --git a/torchgeo/datasets/benin_cashews.py b/torchgeo/datasets/benin_cashews.py index fffcc7f67c2..3d968de12db 100644 --- a/torchgeo/datasets/benin_cashews.py +++ b/torchgeo/datasets/benin_cashews.py @@ -8,6 +8,7 @@ from functools import lru_cache from typing import Callable, Dict, Optional, Tuple +import matplotlib.pyplot as plt import numpy as np import rasterio import rasterio.features @@ -135,7 +136,7 @@ class BeninSmallHolderCashews(VisionDataset): "2020_10_30", ) - band_names = ( + ALL_BANDS = ( "B01", "B02", "B03", @@ -150,16 +151,17 @@ class BeninSmallHolderCashews(VisionDataset): "B12", "CLD", ) - - class_names = { - 0: "No data", - 1: "Well-managed planatation", - 2: "Poorly-managed planatation", - 3: "Non-planatation", - 4: "Residential", - 5: "Background", - 6: "Uncertain", - } + RGB_BANDS = ("B04", "B03", "B02") + + classes = [ + "No data", + "Well-managed planatation", + "Poorly-managed planatation", + "Non-planatation", + "Residential", + "Background", + "Uncertain", + ] # Same for all tiles tile_height = 1186 @@ -170,7 +172,7 @@ def __init__( root: str = "data", chip_size: int = 256, stride: int = 128, - bands: Tuple[str, ...] = band_names, + bands: Tuple[str, ...] = ALL_BANDS, transforms: Optional[Callable[[Dict[str, Tensor]], Dict[str, Tensor]]] = None, download: bool = False, api_key: Optional[str] = None, @@ -273,11 +275,11 @@ def _validate_bands(self, bands: Tuple[str, ...]) -> None: """ assert isinstance(bands, tuple), "The list of bands must be a tuple" for band in bands: - if band not in self.band_names: + if band not in self.ALL_BANDS: raise ValueError(f"'{band}' is an invalid band name.") @lru_cache(maxsize=128) - def _load_all_imagery(self, bands: Tuple[str, ...] = band_names) -> Tensor: + def _load_all_imagery(self, bands: Tuple[str, ...] = ALL_BANDS) -> Tensor: """Load all the imagery (across time) for the dataset. Optionally allows for subsetting of the bands that are loaded. @@ -410,3 +412,68 @@ def _download(self, api_key: Optional[str] = None) -> None: target_archive_path = os.path.join(self.root, self.target_meta["filename"]) for fn in [image_archive_path, target_archive_path]: extract_archive(fn, self.root) + + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + time_step: int = 0, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample returned by :meth:`__getitem__` + show_titles: flag indicating whether to show titles above each panel + time_step: time step at which to access image, beginning with 0 + suptitle: optional string to use as a suptitle + + Returns: + a matplotlib Figure with the rendered sample + + Raises: + ValueError: if the RGB bands are not included in ``self.bands`` + + .. versionadded:: 0.2 + """ + rgb_indices = [] + for band in self.RGB_BANDS: + if band in self.bands: + rgb_indices.append(self.bands.index(band)) + else: + raise ValueError("Dataset doesn't contain some of the RGB bands") + + num_time_points = sample["image"].shape[0] + assert time_step < num_time_points + + image = np.rollaxis(sample["image"][time_step, rgb_indices].numpy(), 0, 3) + image = np.clip(image / 3000, 0, 1) + mask = sample["mask"].numpy() + + num_panels = 2 + showing_predictions = "prediction" in sample + if showing_predictions: + predictions = sample["prediction"].numpy() + num_panels += 1 + + fig, axs = plt.subplots(ncols=num_panels, figsize=(4 * num_panels, 4)) + + axs[0].imshow(image) + axs[0].axis("off") + if show_titles: + axs[0].set_title(f"t={time_step}") + + axs[1].imshow(mask, vmin=0, vmax=6, interpolation="none") + axs[1].axis("off") + if show_titles: + axs[1].set_title("Mask") + + if showing_predictions: + axs[2].imshow(predictions, vmin=0, vmax=6, interpolation="none") + axs[2].axis("off") + if show_titles: + axs[2].set_title("Predictions") + + if suptitle is not None: + plt.suptitle(suptitle) + return fig diff --git a/torchgeo/datasets/bigearthnet.py b/torchgeo/datasets/bigearthnet.py index 48d24766553..2ef2f8285ad 100644 --- a/torchgeo/datasets/bigearthnet.py +++ b/torchgeo/datasets/bigearthnet.py @@ -8,6 +8,7 @@ import os from typing import Callable, Dict, List, Optional +import matplotlib.pyplot as plt import numpy as np import rasterio import torch @@ -118,74 +119,77 @@ class BigEarthNet(VisionDataset): """ - classes_43 = [ - "Agro-forestry areas", - "Airports", - "Annual crops associated with permanent crops", - "Bare rock", - "Beaches, dunes, sands", - "Broad-leaved forest", - "Burnt areas", - "Coastal lagoons", - "Complex cultivation patterns", - "Coniferous forest", - "Construction sites", - "Continuous urban fabric", - "Discontinuous urban fabric", - "Dump sites", - "Estuaries", - "Fruit trees and berry plantations", - "Green urban areas", - "Industrial or commercial units", - "Inland marshes", - "Intertidal flats", - "Land principally occupied by agriculture, with significant areas of " - "natural vegetation", - "Mineral extraction sites", - "Mixed forest", - "Moors and heathland", - "Natural grassland", - "Non-irrigated arable land", - "Olive groves", - "Pastures", - "Peatbogs", - "Permanently irrigated land", - "Port areas", - "Rice fields", - "Road and rail networks and associated land", - "Salines", - "Salt marshes", - "Sclerophyllous vegetation", - "Sea and ocean", - "Sparsely vegetated areas", - "Sport and leisure facilities", - "Transitional woodland/shrub", - "Vineyards", - "Water bodies", - "Water courses", - ] - classes_19 = [ - "Urban fabric", - "Industrial or commercial units", - "Arable land", - "Permanent crops", - "Pastures", - "Complex cultivation patterns", - "Land principally occupied by agriculture, with significant areas of natural " - "vegetation", - "Agro-forestry areas", - "Broad-leaved forest", - "Coniferous forest", - "Mixed forest", - "Natural grassland and sparsely vegetated areas", - "Moors, heathland and sclerophyllous vegetation", - "Transitional woodland, shrub", - "Beaches, dunes, sands", - "Inland wetlands", - "Coastal wetlands", - "Inland waters", - "Marine waters", - ] + class_sets = { + 19: [ + "Urban fabric", + "Industrial or commercial units", + "Arable land", + "Permanent crops", + "Pastures", + "Complex cultivation patterns", + "Land principally occupied by agriculture, with significant areas of" + " natural vegetation", + "Agro-forestry areas", + "Broad-leaved forest", + "Coniferous forest", + "Mixed forest", + "Natural grassland and sparsely vegetated areas", + "Moors, heathland and sclerophyllous vegetation", + "Transitional woodland, shrub", + "Beaches, dunes, sands", + "Inland wetlands", + "Coastal wetlands", + "Inland waters", + "Marine waters", + ], + 43: [ + "Agro-forestry areas", + "Airports", + "Annual crops associated with permanent crops", + "Bare rock", + "Beaches, dunes, sands", + "Broad-leaved forest", + "Burnt areas", + "Coastal lagoons", + "Complex cultivation patterns", + "Coniferous forest", + "Construction sites", + "Continuous urban fabric", + "Discontinuous urban fabric", + "Dump sites", + "Estuaries", + "Fruit trees and berry plantations", + "Green urban areas", + "Industrial or commercial units", + "Inland marshes", + "Intertidal flats", + "Land principally occupied by agriculture, with significant areas of" + " natural vegetation", + "Mineral extraction sites", + "Mixed forest", + "Moors and heathland", + "Natural grassland", + "Non-irrigated arable land", + "Olive groves", + "Pastures", + "Peatbogs", + "Permanently irrigated land", + "Port areas", + "Rice fields", + "Road and rail networks and associated land", + "Salines", + "Salt marshes", + "Sclerophyllous vegetation", + "Sea and ocean", + "Sparsely vegetated areas", + "Sport and leisure facilities", + "Transitional woodland/shrub", + "Vineyards", + "Water bodies", + "Water courses", + ], + } + label_converter = { 0: 0, 1: 0, @@ -220,6 +224,7 @@ class BigEarthNet(VisionDataset): 41: 18, 42: 18, } + splits_metadata = { "train": { "url": "https://git.tu-berlin.de/rsim/BigEarthNet-MM_19-classes_models/-/raw/master/splits/train.csv?inline=false", # noqa: E501 @@ -285,7 +290,7 @@ def __init__( self.transforms = transforms self.download = download self.checksum = checksum - self.class2idx = {c: i for i, c in enumerate(self.classes_43)} + self.class2idx = {c: i for i, c in enumerate(self.class_sets[43])} self._verify() self.folders = self._load_folders() @@ -504,3 +509,71 @@ def _extract(self, filepath: str) -> None: """ if not filepath.endswith(".csv"): extract_archive(filepath) + + def _onehot_labels_to_names( + self, label_mask: "np.typing.NDArray[np.bool_]" + ) -> List[str]: + """Gets a list of class names given a label mask. + + Args: + label_mask: a boolean mask corresponding to a set of labels or predictions + + Returns + a list of class names corresponding to the input mask + """ + labels = [] + for i, mask in enumerate(label_mask): + if mask: + labels.append(self.class_sets[self.num_classes][i]) + return labels + + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample returned by :meth:`__getitem__` + show_titles: flag indicating whether to show titles above each panel + suptitle: optional string to use as a suptitle + + Returns: + a matplotlib Figure with the rendered sample + + Raises: + ValueError: if ``self.bands`` is "s1" + + .. versionadded:: 0.2 + """ + if self.bands == "s2": + image = np.rollaxis(sample["image"][[3, 2, 1]].numpy(), 0, 3) + image = np.clip(image / 2000, 0, 1) + elif self.bands == "all": + image = np.rollaxis(sample["image"][[5, 4, 3]].numpy(), 0, 3) + image = np.clip(image / 2000, 0, 1) + elif self.bands == "s1": + image = sample["image"][0].numpy() + + label_mask = sample["label"].numpy().astype(np.bool_) + labels = self._onehot_labels_to_names(label_mask) + + showing_predictions = "prediction" in sample + if showing_predictions: + prediction_mask = sample["prediction"].numpy().astype(np.bool_) + predictions = self._onehot_labels_to_names(prediction_mask) + + fig, ax = plt.subplots(figsize=(4, 4)) + ax.imshow(image) + ax.axis("off") + if show_titles: + title = f"Labels: {', '.join(labels)}" + if showing_predictions: + title += f"\nPredictions: {', '.join(predictions)}" + ax.set_title(title) + + if suptitle is not None: + plt.suptitle(suptitle) + return fig From f18c42820cae382a9a9ced956451e56aa0078df6 Mon Sep 17 00:00:00 2001 From: Caleb Robinson Date: Tue, 28 Dec 2021 13:36:06 -0800 Subject: [PATCH 18/26] Quick fix for losses docs (#333) * Fix doc link * Brute forcing rst syntax * Adding more docs to ChesapeakeCVPR --- torchgeo/datasets/chesapeake.py | 6 ++++++ torchgeo/losses/qr.py | 8 ++++---- 2 files changed, 10 insertions(+), 4 deletions(-) diff --git a/torchgeo/datasets/chesapeake.py b/torchgeo/datasets/chesapeake.py index d8a2405681f..4c46b9fed91 100644 --- a/torchgeo/datasets/chesapeake.py +++ b/torchgeo/datasets/chesapeake.py @@ -288,6 +288,12 @@ class ChesapeakeCVPR(GeoDataset): This dataset was organized to accompany the 2019 CVPR paper, "Large Scale High-Resolution Land Cover Mapping with Multi-Resolution Data". + The paper "Resolving label uncertainty with implicit generative models" added an + additional layer of data to this dataset containing a prior over the Chesapeake Bay + land cover classes generated from the NLCD land cover labels. For more information + about this layer see `the dataset documentation + `_. + If you use this dataset in your research, please cite the following paper: * https://doi.org/10.1109/cvpr.2019.01301 diff --git a/torchgeo/losses/qr.py b/torchgeo/losses/qr.py index c6120d34fdf..e24d0d773cf 100644 --- a/torchgeo/losses/qr.py +++ b/torchgeo/losses/qr.py @@ -14,8 +14,8 @@ class QRLoss(Module): """The QR (forward) loss between class probabilities and predictions. - This loss is defined in 'Resolving label uncertainty with implicit generative - models' https://openreview.net/forum?id=AEa_UepnMDX. + This loss is defined in `'Resolving label uncertainty with implicit generative + models' `_. .. versionadded:: 0.2 """ @@ -45,8 +45,8 @@ def forward(self, probs: torch.Tensor, target: torch.Tensor) -> torch.Tensor: class RQLoss(Module): """The RQ (backwards) loss between class probabilities and predictions. - This loss is defined in 'Resolving label uncertainty with implicit generative - models' https://openreview.net/forum?id=AEa_UepnMDX. + This loss is defined in `'Resolving label uncertainty with implicit generative + models' `_. .. versionadded:: 0.2 """ From 0f969d36f8d6537f571efb49eab93cef1893439a Mon Sep 17 00:00:00 2001 From: nilsleh Date: Wed, 29 Dec 2021 14:51:07 +0100 Subject: [PATCH 19/26] testing real data --- torchgeo/datasets/sen12ms.py | 95 ++++++++++++++++++++---------------- 1 file changed, 52 insertions(+), 43 deletions(-) diff --git a/torchgeo/datasets/sen12ms.py b/torchgeo/datasets/sen12ms.py index ff4fe8948cb..77aa494ad74 100644 --- a/torchgeo/datasets/sen12ms.py +++ b/torchgeo/datasets/sen12ms.py @@ -97,8 +97,31 @@ class SEN12MS(VisionDataset): "B12", ] ), - "s1": ("VV", "VH"), - "s2-all": ( + "s1": tuple(["VV", "VH"]), + "s2-all": tuple( + [ + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ] + ), + "s2-reduced": tuple(["B02", "B03", "B04", "B08", "B10", "B11"]), + } + + band_names = tuple( + [ + "VV", + "VH", "B01", "B02", "B03", @@ -112,26 +135,7 @@ class SEN12MS(VisionDataset): "B10", "B11", "B12", - ), - "s2-reduced": ("B02", "B03", "B04", "B08", "B10", "B11"), - } - - band_names = ( - "VV", - "VH", - "B01", - "B02", - "B03", - "B04", - "B05", - "B06", - "B07", - "B08", - "B8A", - "B09", - "B10", - "B11", - "B12", + ] ) RGB_BANDS = ["B04", "B03", "B02"] @@ -140,23 +144,23 @@ class SEN12MS(VisionDataset): "ROIs1158_spring_lc.tar.gz", "ROIs1158_spring_s1.tar.gz", "ROIs1158_spring_s2.tar.gz", - "ROIs1868_summer_lc.tar.gz", - "ROIs1868_summer_s1.tar.gz", - "ROIs1868_summer_s2.tar.gz", - "ROIs1970_fall_lc.tar.gz", - "ROIs1970_fall_s1.tar.gz", - "ROIs1970_fall_s2.tar.gz", - "ROIs2017_winter_lc.tar.gz", - "ROIs2017_winter_s1.tar.gz", - "ROIs2017_winter_s2.tar.gz", + # "ROIs1868_summer_lc.tar.gz", + # "ROIs1868_summer_s1.tar.gz", + # "ROIs1868_summer_s2.tar.gz", + # "ROIs1970_fall_lc.tar.gz", + # "ROIs1970_fall_s1.tar.gz", + # "ROIs1970_fall_s2.tar.gz", + # "ROIs2017_winter_lc.tar.gz", + # "ROIs2017_winter_s1.tar.gz", + # "ROIs2017_winter_s2.tar.gz", "train_list.txt", "test_list.txt", ] light_filenames = [ "ROIs1158_spring", - "ROIs1868_summer", - "ROIs1970_fall", - "ROIs2017_winter", + # "ROIs1868_summer", + # "ROIs1970_fall", + # "ROIs2017_winter", "train_list.txt", "test_list.txt", ] @@ -164,15 +168,15 @@ class SEN12MS(VisionDataset): "6e2e8fa8b8cba77ddab49fd20ff5c37b", "fba019bb27a08c1db96b31f718c34d79", "d58af2c15a16f376eb3308dc9b685af2", - "2c5bd80244440b6f9d54957c6b1f23d4", - "01044b7f58d33570c6b57fec28a3d449", - "4dbaf72ecb704a4794036fe691427ff3", - "9b126a68b0e3af260071b3139cb57cee", - "19132e0aab9d4d6862fd42e8e6760847", - "b8f117818878da86b5f5e06400eb1866", - "0fa0420ef7bcfe4387c7e6fe226dc728", - "bb8cbfc16b95a4f054a3d5380e0130ed", - "3807545661288dcca312c9c538537b63", + # "2c5bd80244440b6f9d54957c6b1f23d4", + # "01044b7f58d33570c6b57fec28a3d449", + # "4dbaf72ecb704a4794036fe691427ff3", + # "9b126a68b0e3af260071b3139cb57cee", + # "19132e0aab9d4d6862fd42e8e6760847", + # "b8f117818878da86b5f5e06400eb1866", + # "0fa0420ef7bcfe4387c7e6fe226dc728", + # "bb8cbfc16b95a4f054a3d5380e0130ed", + # "3807545661288dcca312c9c538537b63", "0a68d4e1eb24f128fccdb930000b2546", "c7faad064001e646445c4c634169484d", ] @@ -309,6 +313,9 @@ def _check_integrity_light(self) -> bool: Returns: True if the dataset directories and split files are found, else False """ + import pdb + + pdb.set_trace() for filename in self.light_filenames: filepath = os.path.join(self.root, filename) if not os.path.exists(filepath): @@ -351,7 +358,9 @@ def plot( rgb_indices.append(self.bands.index(band)) else: raise ValueError("Dataset doesn't contain some of the RGB bands") + import pdb + pdb.set_trace() image, _ = sample["image"][rgb_indices, ...], sample["mask"] ncols = 2 From a9f004e2d3770e98cbd25408cd6c0804d914e498 Mon Sep 17 00:00:00 2001 From: Nils Lehmann <35272119+nilsleh@users.noreply.github.com> Date: Wed, 29 Dec 2021 18:01:16 +0100 Subject: [PATCH 20/26] Add plotting method for CV4A Kenya Crop Type Dataset (#312) * Add plotting method for CV4A Kenya Crop Type Dataset * remove print statements, still fix test_plot * fix rgb plot test * fix rgb plot test * requested changes --- tests/datasets/test_cv4a_kenya_crop_type.py | 15 +++++ torchgeo/datasets/cv4a_kenya_crop_type.py | 68 +++++++++++++++++++++ 2 files changed, 83 insertions(+) diff --git a/tests/datasets/test_cv4a_kenya_crop_type.py b/tests/datasets/test_cv4a_kenya_crop_type.py index 2c9f2cbbb85..fe8f2cf7bc1 100644 --- a/tests/datasets/test_cv4a_kenya_crop_type.py +++ b/tests/datasets/test_cv4a_kenya_crop_type.py @@ -7,6 +7,7 @@ from pathlib import Path from typing import Generator +import matplotlib.pyplot as plt import pytest import torch import torch.nn as nn @@ -113,3 +114,17 @@ def test_invalid_bands(self) -> None: with pytest.raises(ValueError, match="is an invalid band name."): CV4AKenyaCropType(bands=("foo", "bar")) + + def test_plot(self, dataset: CV4AKenyaCropType) -> None: + dataset.plot(dataset[0], time_step=0, suptitle="Test") + plt.close() + + sample = dataset[0] + sample["prediction"] = sample["mask"].clone() + dataset.plot(sample, time_step=0, suptitle="Pred") + plt.close() + + def test_plot_rgb(self, dataset: CV4AKenyaCropType) -> None: + dataset = CV4AKenyaCropType(root=dataset.root, bands=tuple(["B01"])) + with pytest.raises(ValueError, match="doesn't contain some of the RGB bands"): + dataset.plot(dataset[0], time_step=0, suptitle="Single Band") diff --git a/torchgeo/datasets/cv4a_kenya_crop_type.py b/torchgeo/datasets/cv4a_kenya_crop_type.py index ac3ba679098..48e7e176553 100644 --- a/torchgeo/datasets/cv4a_kenya_crop_type.py +++ b/torchgeo/datasets/cv4a_kenya_crop_type.py @@ -8,6 +8,7 @@ from functools import lru_cache from typing import Callable, Dict, List, Optional, Tuple +import matplotlib.pyplot as plt import numpy as np import torch from PIL import Image @@ -102,6 +103,8 @@ class CV4AKenyaCropType(VisionDataset): "CLD", ) + RGB_BANDS = ["B04", "B03", "B02"] + # Same for all tiles tile_height = 3035 tile_width = 2016 @@ -400,3 +403,68 @@ def _download(self, api_key: Optional[str] = None) -> None: target_archive_path = os.path.join(self.root, self.target_meta["filename"]) for fn in [image_archive_path, target_archive_path]: extract_archive(fn, self.root) + + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + time_step: int = 0, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample returned by :meth:`__getitem__` + show_titles: flag indicating whether to show titles above each panel + time_step: time step at which to access image, beginning with 0 + suptitle: optional suptitle to use for figure + + Returns: + a matplotlib Figure with the rendered sample + + .. versionadded:: 0.2 + """ + rgb_indices = [] + for band in self.RGB_BANDS: + if band in self.bands: + rgb_indices.append(self.bands.index(band)) + else: + raise ValueError("Dataset doesn't contain some of the RGB bands") + + if "prediction" in sample: + prediction = sample["prediction"] + n_cols = 3 + else: + n_cols = 2 + + image, mask = sample["image"], sample["mask"] + + assert time_step <= image.shape[0] - 1, ( + "The specified time step" + " does not exist, image only contains {} time" + " instances." + ).format(image.shape[0]) + + image = image[time_step, rgb_indices, :, :] + + fig, axs = plt.subplots(nrows=1, ncols=n_cols, figsize=(10, n_cols * 5)) + + axs[0].imshow(image.permute(1, 2, 0)) + axs[0].axis("off") + axs[1].imshow(mask) + axs[1].axis("off") + + if "prediction" in sample: + axs[2].imshow(prediction) + axs[2].axis("off") + if show_titles: + axs[2].set_title("Prediction") + + if show_titles: + axs[0].set_title("Image") + axs[1].set_title("Mask") + + if suptitle is not None: + plt.suptitle(suptitle) + + return fig From 72d75071e01b1ca7e6bd19e9ac8a1d2fb1fe1383 Mon Sep 17 00:00:00 2001 From: nilsleh Date: Thu, 30 Dec 2021 11:28:30 +0100 Subject: [PATCH 21/26] requested changes and plot igbp as mask --- tests/datasets/test_sen12ms.py | 5 ++ torchgeo/datasets/sen12ms.py | 160 +++++++++++++++------------------ 2 files changed, 76 insertions(+), 89 deletions(-) diff --git a/tests/datasets/test_sen12ms.py b/tests/datasets/test_sen12ms.py index b83185d4a17..6790ce80d42 100644 --- a/tests/datasets/test_sen12ms.py +++ b/tests/datasets/test_sen12ms.py @@ -97,6 +97,11 @@ def test_plot(self, dataset: SEN12MS) -> None: dataset.plot(sample, suptitle="prediction") plt.close() + def test_plot_rgb(self, dataset: SEN12MS) -> None: + dataset = SEN12MS(root=dataset.root, bands=tuple(["B01"])) + with pytest.raises(ValueError, match="doesn't contain some of the RGB bands"): + dataset.plot(dataset[0], suptitle="Single Band") + class TestSEN12MSDataModule: @pytest.fixture(scope="class", params=["all", "s1", "s2-all", "s2-reduced"]) diff --git a/torchgeo/datasets/sen12ms.py b/torchgeo/datasets/sen12ms.py index 77aa494ad74..b4d18b4f273 100644 --- a/torchgeo/datasets/sen12ms.py +++ b/torchgeo/datasets/sen12ms.py @@ -4,7 +4,7 @@ """SEN12MS dataset.""" import os -from typing import Any, Callable, Dict, Optional, Tuple +from typing import Any, Callable, Dict, Optional, Sequence, Tuple import matplotlib.pyplot as plt import numpy as np @@ -16,7 +16,7 @@ from torch.utils.data import DataLoader, Subset from .geo import VisionDataset -from .utils import check_integrity +from .utils import check_integrity, percentile_normalization # https://github.com/pytorch/pytorch/issues/60979 # https://github.com/pytorch/pytorch/pull/61045 @@ -70,56 +70,8 @@ class SEN12MS(VisionDataset): This download will likely take several hours. """ # noqa: E501 - # BAND_SETS: Dict[str, List[int]] = { - # "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], - # "s1": [0, 1], - # "s2-all": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], - # "s2-reduced": [3, 4, 5, 9, 12, 13], - # } - BAND_SETS: Dict[str, Tuple[str, ...]] = { - "all": tuple( - [ - "VV", - "VH", - "B01", - "B02", - "B03", - "B04", - "B05", - "B06", - "B07", - "B08", - "B8A", - "B09", - "B10", - "B11", - "B12", - ] - ), - "s1": tuple(["VV", "VH"]), - "s2-all": tuple( - [ - "B01", - "B02", - "B03", - "B04", - "B05", - "B06", - "B07", - "B08", - "B8A", - "B09", - "B10", - "B11", - "B12", - ] - ), - "s2-reduced": tuple(["B02", "B03", "B04", "B08", "B10", "B11"]), - } - - band_names = tuple( - [ + "all": ( "VV", "VH", "B01", @@ -135,7 +87,42 @@ class SEN12MS(VisionDataset): "B10", "B11", "B12", - ] + ), + "s1": ("VV", "VH"), + "s2-all": ( + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ), + "s2-reduced": ("B02", "B03", "B04", "B08", "B10", "B11"), + } + + band_names = ( + "VV", + "VH", + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", ) RGB_BANDS = ["B04", "B03", "B02"] @@ -144,23 +131,23 @@ class SEN12MS(VisionDataset): "ROIs1158_spring_lc.tar.gz", "ROIs1158_spring_s1.tar.gz", "ROIs1158_spring_s2.tar.gz", - # "ROIs1868_summer_lc.tar.gz", - # "ROIs1868_summer_s1.tar.gz", - # "ROIs1868_summer_s2.tar.gz", - # "ROIs1970_fall_lc.tar.gz", - # "ROIs1970_fall_s1.tar.gz", - # "ROIs1970_fall_s2.tar.gz", - # "ROIs2017_winter_lc.tar.gz", - # "ROIs2017_winter_s1.tar.gz", - # "ROIs2017_winter_s2.tar.gz", + "ROIs1868_summer_lc.tar.gz", + "ROIs1868_summer_s1.tar.gz", + "ROIs1868_summer_s2.tar.gz", + "ROIs1970_fall_lc.tar.gz", + "ROIs1970_fall_s1.tar.gz", + "ROIs1970_fall_s2.tar.gz", + "ROIs2017_winter_lc.tar.gz", + "ROIs2017_winter_s1.tar.gz", + "ROIs2017_winter_s2.tar.gz", "train_list.txt", "test_list.txt", ] light_filenames = [ "ROIs1158_spring", - # "ROIs1868_summer", - # "ROIs1970_fall", - # "ROIs2017_winter", + "ROIs1868_summer", + "ROIs1970_fall", + "ROIs2017_winter", "train_list.txt", "test_list.txt", ] @@ -168,15 +155,15 @@ class SEN12MS(VisionDataset): "6e2e8fa8b8cba77ddab49fd20ff5c37b", "fba019bb27a08c1db96b31f718c34d79", "d58af2c15a16f376eb3308dc9b685af2", - # "2c5bd80244440b6f9d54957c6b1f23d4", - # "01044b7f58d33570c6b57fec28a3d449", - # "4dbaf72ecb704a4794036fe691427ff3", - # "9b126a68b0e3af260071b3139cb57cee", - # "19132e0aab9d4d6862fd42e8e6760847", - # "b8f117818878da86b5f5e06400eb1866", - # "0fa0420ef7bcfe4387c7e6fe226dc728", - # "bb8cbfc16b95a4f054a3d5380e0130ed", - # "3807545661288dcca312c9c538537b63", + "2c5bd80244440b6f9d54957c6b1f23d4", + "01044b7f58d33570c6b57fec28a3d449", + "4dbaf72ecb704a4794036fe691427ff3", + "9b126a68b0e3af260071b3139cb57cee", + "19132e0aab9d4d6862fd42e8e6760847", + "b8f117818878da86b5f5e06400eb1866", + "0fa0420ef7bcfe4387c7e6fe226dc728", + "bb8cbfc16b95a4f054a3d5380e0130ed", + "3807545661288dcca312c9c538537b63", "0a68d4e1eb24f128fccdb930000b2546", "c7faad064001e646445c4c634169484d", ] @@ -185,7 +172,7 @@ def __init__( self, root: str = "data", split: str = "train", - bands: Tuple[str, ...] = BAND_SETS["all"], + bands: Sequence[str] = BAND_SETS["all"], transforms: Optional[Callable[[Dict[str, Tensor]], Dict[str, Tensor]]] = None, checksum: bool = False, ) -> None: @@ -292,7 +279,7 @@ def _load_raster(self, filename: str, source: str) -> Tensor: tensor: Tensor = torch.from_numpy(array) # type: ignore[attr-defined] return tensor - def _validate_bands(self, bands: Tuple[str, ...]) -> None: + def _validate_bands(self, bands: Sequence[str]) -> None: """Validate list of bands. Args: @@ -313,9 +300,6 @@ def _check_integrity_light(self) -> bool: Returns: True if the dataset directories and split files are found, else False """ - import pdb - - pdb.set_trace() for filename in self.light_filenames: filepath = os.path.join(self.root, filename) if not os.path.exists(filepath): @@ -358,32 +342,30 @@ def plot( rgb_indices.append(self.bands.index(band)) else: raise ValueError("Dataset doesn't contain some of the RGB bands") - import pdb - pdb.set_trace() - image, _ = sample["image"][rgb_indices, ...], sample["mask"] + image, mask = sample["image"][rgb_indices, ...].numpy(), sample["mask"][0] + image = percentile_normalization(image) ncols = 2 - showing_predictions = "prediction" in sample - if showing_predictions: - _ = sample["prediction"] + if "prediction" in sample: + preds = sample["prediction"][0] ncols += 1 fig, axs = plt.subplots(nrows=1, ncols=ncols, figsize=(10, ncols * 5)) axs[0].imshow(image.permute(1, 2, 0)) axs[0].axis("off") - # axs[1].imshow(mask) - # axs[1].axis("off") + axs[1].imshow(mask) + axs[1].axis("off") - if showing_predictions: - # axs[2].imshow(prediction) + if "prediction" in sample: + axs[2].imshow(preds) axs[2].axis("off") if show_titles: axs[0].set_title("Image") axs[1].set_title("Mask") - if showing_predictions: + if "prediction" in sample: axs[2].set_title("Prediction") if suptitle is not None: From 61e10f7b5c35a46b5412968ce2f9b0030084d225 Mon Sep 17 00:00:00 2001 From: Nils Lehmann <35272119+nilsleh@users.noreply.github.com> Date: Thu, 30 Dec 2021 19:05:42 +0100 Subject: [PATCH 22/26] Add plot method to Levir, and change directory path (#335) * add plotting method * implement test * axis off * prediction flag * requested changes * indexing fix --- tests/data/levircd/LEVIR-CD+.zip | Bin 3798 -> 4790 bytes tests/datasets/test_levircd.py | 12 +++++- torchgeo/datasets/levircd.py | 69 +++++++++++++++++++++++++++---- 3 files changed, 73 insertions(+), 8 deletions(-) diff --git a/tests/data/levircd/LEVIR-CD+.zip b/tests/data/levircd/LEVIR-CD+.zip index b51dc099207cccc0e2eac3e6f2e1eca07c2164f8..9a5fa4e1a7c02fc6a6e81f230915ba98c735c6b9 100644 GIT binary patch literal 4790 zcmc&%TS!zv7@oc8?wXO8bu|pKP@|&N5`s+1zca4iMOwE{bvU10z#GK2L6yF-0CWX}&B(kX*<6F2EWkd3s~ zQW<3R4*x*^nRwx+DDV~f2!OxlehYv8G&bMe)it;HeZXU%87X^bD=&HarT3Pg^owlKPzsOooqX?_ukN9Pb&$uxZG2tvrW6H3Q(f=5Hy}v*0_CHV`m06 z!Vx)wG{QdL+{XspmRc2CS`l0`g)0`pAxmnKEcb=8eA6A*M@M_z1OM#}Md7i+f`Y4c zzU4DeEaHRIPeX(qM|FB$1m^npufpLKsPeeV*}XUksk>*FAv|^VgA>h~^WZ zp_#}q1(xuWjWJ;ot&?IRvjG_%0rEc?ib;s%c4tx~c#B2CzCh5)rLmZ_GjIb-gm@{q zl7=gYYqrq1a#K>&2tHtquowBVG#S(8i(xb-dk|Bs8BzqUS>_AX_+Nan*}V>V?gWQm z{np@}ObX?=q8tinuwvQ)`sTQbsg#3@a%mhn4u01RjwZ5YO4TV?PQ~dEaw=QV$byUl zjRK3*8ff7}5H{sRBQ{f`^jgrlv520G2$YKwBdaK;RohKOD*2Ju0r3n6H%O3dMI*x^ zc+@P5u*PZtSFA}k(tn2%PE`ZGU&=5S~U=PWPt(exCWvE0kXX$+cltgq$T5QF%#{zV8%Pqem z+za5qmk*K`ThYibDF-^a7GDZ9!jfEDi5TkBVH6Yj)+r)}sv5l{a;-aZd)lzCPDHL4zst6(_ z6hYi5MWGA3bmh*CMRZ}iwO|Q|q6jV&MO=7J=FXkD_s-lrY7%Z9i~HUG|7Xsblj?Q3 z>j=J9rXnYbKeP`IX(72xHrICQWPrFiC`|0Cs zVQ6r0_2-X?fOGj?>sv>pY2nMr9p|oC|K`Q~-Tkiv-TN9`PZs}dzukJK|8&=b$-cl* zf>x-C^CeX5(N&zSi3++N$4r6xSQbedW;;B)!XY8$an=7 zUb-VY?)yHtj(0wa&1~D0ooxt(u6KsLuPztDbKT)v^Uof?X`i2t3R&8T;5pVz1dZ~r zD#`?nG71^&w2QJw6=kALh;l0+(1~e#OZQ|IQ6_Cf@F<&WC4xqoGezmeO?4%GX`CjB zB`GOO-X_fV2le}fK4C+l6^azGPlQYqVNnz;>7rEHC`!uU%TgN|@-^}6X=trN@o?TM z(1_S7)(eCxv#er++p4H8%8FE!N>l3=Ye>`3E)*Q;&aB7>uMzp0f{L1_>2Pjw(LAkl zMH3uG_}W0eCGcCDGCXw3Fm=yVFGpEt3=!4EP^^;xP&#cOP&IEbAR$k0OdEl$5CDtQ zhg7F(fDo~D4$U&v$<_j}I8I2hG)e13z_6HPo?)@*0fzH|6h<{#4`v2K>q{Ia*p?h_ zba~1_4mdU2Nqzf)N+pt7ww~NfC0c&ZkXV@j!*krmvh@^aFtpqPGi`Av@*)K!p6ND7 z>zOPf=LDoyae!=AA?5wYOBfO@N8O-OJ8yx7Jwz%`&I%e>BRWf{7$uRevGvGf>M+9v z6H(YZYvRT|%(bOvlw5fNenSE;bgou3N*Z@>?5U#rzXGi?=W6CnFLQ1v8>P;2T>E{D ksnv~=R*vf<0_}gfekU?{ None: def test_not_downloaded(self, tmp_path: Path) -> None: with pytest.raises(RuntimeError, match="Dataset not found or corrupted."): LEVIRCDPlus(str(tmp_path)) + + def test_plot(self, dataset: LEVIRCDPlus) -> None: + dataset.plot(dataset[0], suptitle="Test") + plt.close() + + sample = dataset[0] + sample["prediction"] = sample["mask"].clone() + dataset.plot(sample, suptitle="Prediction") + plt.close() diff --git a/torchgeo/datasets/levircd.py b/torchgeo/datasets/levircd.py index 24d76ca6594..9098a23b585 100644 --- a/torchgeo/datasets/levircd.py +++ b/torchgeo/datasets/levircd.py @@ -7,6 +7,7 @@ import os from typing import Callable, Dict, List, Optional +import matplotlib.pyplot as plt import numpy as np import torch from PIL import Image @@ -47,6 +48,7 @@ class LEVIRCDPlus(VisionDataset): url = "https://drive.google.com/file/d/1JamSsxiytXdzAIk6VDVWfc-OsX-81U81" md5 = "1adf156f628aa32fb2e8fe6cada16c04" filename = "LEVIR-CD+.zip" + directory = "LEVIR-CD+" splits = ["train", "test"] def __init__( @@ -88,7 +90,7 @@ def __init__( + "You can use download=True to download it" ) - self.files = self._load_files(self.root, self.split) + self.files = self._load_files(self.root, self.directory, self.split) def __getitem__(self, index: int) -> Dict[str, Tensor]: """Return an index within the dataset. @@ -120,23 +122,26 @@ def __len__(self) -> int: """ return len(self.files) - def _load_files(self, root: str, split: str) -> List[Dict[str, str]]: + def _load_files( + self, root: str, directory: str, split: str + ) -> List[Dict[str, str]]: """Return the paths of the files in the dataset. Args: root: root dir of dataset + directory: sub directory LEVIR-CD+ split: subset of dataset, one of [train, test] Returns: list of dicts containing paths for each pair of image1, image2, mask """ files = [] - images = glob.glob(os.path.join(root, split, "A", "*.png")) + images = glob.glob(os.path.join(root, directory, split, "A", "*.png")) images = sorted([os.path.basename(image) for image in images]) for image in images: - image1 = os.path.join(root, split, "A", image) - image2 = os.path.join(root, split, "B", image) - mask = os.path.join(root, split, "label", image) + image1 = os.path.join(root, directory, split, "A", image) + image2 = os.path.join(root, directory, split, "B", image) + mask = os.path.join(root, directory, split, "label", image) files.append(dict(image1=image1, image2=image2, mask=mask)) return files @@ -181,7 +186,7 @@ def _check_integrity(self) -> bool: True if the dataset directories and split files are found, else False """ for filename in self.splits: - filepath = os.path.join(self.root, filename) + filepath = os.path.join(self.root, self.directory, filename) if not os.path.exists(filepath): return False return True @@ -202,3 +207,53 @@ def _download(self) -> None: filename=self.filename, md5=self.md5 if self.checksum else None, ) + + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample returned by :meth:`__getitem__` + show_titles: flag indicating whether to show titles above each panel + suptitle: optional suptitle to use for figure + + Returns: + a matplotlib Figure with the rendered sample + + .. versionadded:: 0.2 + """ + image1, image2, mask = (sample["image"][0], sample["image"][1], sample["mask"]) + ncols = 3 + + if "prediction" in sample: + prediction = sample["prediction"] + ncols += 1 + + fig, axs = plt.subplots(nrows=1, ncols=ncols, figsize=(10, ncols * 5)) + + axs[0].imshow(image1.permute(1, 2, 0)) + axs[0].axis("off") + axs[1].imshow(image2.permute(1, 2, 0)) + axs[1].axis("off") + axs[2].imshow(mask) + axs[2].axis("off") + + if "prediction" in sample: + axs[3].imshow(prediction) + axs[3].axis("off") + if show_titles: + axs[3].set_title("Prediction") + + if show_titles: + axs[0].set_title("Image 1") + axs[1].set_title("Image 2") + axs[2].set_title("Mask") + + if suptitle is not None: + plt.suptitle(suptitle) + + return fig From 744078fcff7e48957ffa5d0cd6b8acf3f5767b0a Mon Sep 17 00:00:00 2001 From: "Adam J. Stewart" Date: Thu, 30 Dec 2021 13:54:47 -0600 Subject: [PATCH 23/26] Refactor datamodule/model testing (#329) * Refactor RegressionTask testing * Programmatically determine max value * Refactor ClassificationTask testing * Silence warnings * Refactor SegmentationTask testing * Fix training mappings * Fix GeoDataset trainers * Fix ETCI trainer fake data * Update OSCD training data * Get LandCoverAI tests to pass * Fix OSCD checksum handling * Fix NAIP-Chesapeake tests * Fix OSCD tests * Keep BoundingBox icy * Fix other datamodules * Fix chesapeake testing * Refactor BYOLTask tests * Style fixes * Silence pytorch-lightning warnings * Get coverage for Chesapeake CVPR prior * Fix trainer tests --- conf/defaults.yaml | 14 +- ...{bigearthnet.yaml => bigearthnet_all.yaml} | 2 +- conf/task_defaults/bigearthnet_s1.yaml | 16 + conf/task_defaults/bigearthnet_s2.yaml | 16 + conf/task_defaults/byol.yaml | 2 +- conf/task_defaults/chesapeake_cvpr_5.yaml | 29 ++ ...peake_cvpr.yaml => chesapeake_cvpr_7.yaml} | 10 +- conf/task_defaults/chesapeake_cvpr_prior.yaml | 29 ++ conf/task_defaults/cowc_counting.yaml | 4 +- conf/task_defaults/cyclone.yaml | 3 +- conf/task_defaults/etci2021.yaml | 2 +- conf/task_defaults/eurosat.yaml | 2 +- conf/task_defaults/landcoverai.yaml | 4 +- conf/task_defaults/naipchesapeake.yaml | 4 +- .../{oscd.yaml => oscd_all.yaml} | 10 +- conf/task_defaults/oscd_rgb.yaml | 21 ++ conf/task_defaults/resisc45.yaml | 2 +- .../{sen12ms.yaml => sen12ms_all.yaml} | 4 +- conf/task_defaults/sen12ms_s1.yaml | 20 ++ conf/task_defaults/sen12ms_s2_all.yaml | 19 + conf/task_defaults/sen12ms_s2_reduced.yaml | 19 + .../{so2sat.yaml => so2sat_supervised.yaml} | 5 +- conf/task_defaults/so2sat_unsupervised.yaml | 16 + conf/task_defaults/ucmerced.yaml | 2 +- pyproject.toml | 9 +- tests/data/README.md | 32 +- .../COWC_Counting_Columbus_CSUAV_AFRL.tbz | Bin 378 -> 530 bytes .../COWC_Counting_Potsdam_ISPRS.tbz | Bin 353 -> 512 bytes .../COWC_Counting_Selwyn_LINZ.tbz | Bin 357 -> 507 bytes .../COWC_Counting_Toronto_ISPRS.tbz | Bin 358 -> 503 bytes .../cowc_counting/COWC_Counting_Utah_AGRC.tbz | Bin 357 -> 506 bytes .../COWC_Counting_Vaihingen_ISPRS.tbz | Bin 365 -> 524 bytes .../cowc_counting/COWC_test_list_64_class.txt | 12 +- .../COWC_test_list_64_class.txt.bz2 | Bin 176 -> 166 bytes .../COWC_train_list_64_class.txt | 24 +- .../COWC_train_list_64_class.txt.bz2 | Bin 221 -> 216 bytes .../Columbus_CSUAV_AFRL/test/fake_09.png | Bin 69 -> 91 bytes .../Columbus_CSUAV_AFRL/train/fake_09.png | Bin 69 -> 91 bytes .../Columbus_CSUAV_AFRL/train/fake_10.png | Bin 69 -> 91 bytes .../Potsdam_ISPRS/test/fake_05.png | Bin 69 -> 91 bytes .../Potsdam_ISPRS/train/fake_05.png | Bin 69 -> 91 bytes .../Potsdam_ISPRS/train/fake_06.png | Bin 69 -> 91 bytes .../Selwyn_LINZ/test/fake_03.png | Bin 69 -> 91 bytes .../Selwyn_LINZ/train/fake_03.png | Bin 69 -> 91 bytes .../Selwyn_LINZ/train/fake_04.png | Bin 69 -> 91 bytes .../Toronto_ISPRS/test/fake_01.png | Bin 69 -> 91 bytes .../Toronto_ISPRS/train/fake_01.png | Bin 69 -> 91 bytes .../Toronto_ISPRS/train/fake_02.png | Bin 69 -> 91 bytes .../cowc_counting/Utah_AGRC/test/fake_11.png | Bin 69 -> 91 bytes .../cowc_counting/Utah_AGRC/train/fake_11.png | Bin 69 -> 91 bytes .../cowc_counting/Utah_AGRC/train/fake_12.png | Bin 69 -> 91 bytes .../Vaihingen_ISPRS/test/fake_07.png | Bin 69 -> 91 bytes .../Vaihingen_ISPRS/train/fake_07.png | Bin 69 -> 91 bytes .../Vaihingen_ISPRS/train/fake_08.png | Bin 69 -> 91 bytes tests/data/cowc_counting/data.py | 86 +++++ .../COWC_Detection_Columbus_CSUAV_AFRL.tbz | Bin 377 -> 531 bytes .../COWC_Detection_Potsdam_ISPRS.tbz | Bin 352 -> 518 bytes .../COWC_Detection_Selwyn_LINZ.tbz | Bin 358 -> 513 bytes .../COWC_Detection_Toronto_ISPRS.tbz | Bin 361 -> 519 bytes .../COWC_Detection_Utah_AGRC.tbz | Bin 355 -> 507 bytes .../COWC_Detection_Vaihingen_ISPRS.tbz | Bin 364 -> 525 bytes .../COWC_test_list_detection.txt | 12 +- .../COWC_test_list_detection.txt.bz2 | Bin 171 -> 159 bytes .../COWC_train_list_detection.txt | 24 +- .../COWC_train_list_detection.txt.bz2 | Bin 216 -> 207 bytes .../Columbus_CSUAV_AFRL/test/fake_09.png | Bin 69 -> 91 bytes .../Columbus_CSUAV_AFRL/train/fake_09.png | Bin 69 -> 91 bytes .../Columbus_CSUAV_AFRL/train/fake_10.png | Bin 69 -> 91 bytes .../Potsdam_ISPRS/test/fake_05.png | Bin 69 -> 91 bytes .../Potsdam_ISPRS/train/fake_05.png | Bin 69 -> 91 bytes .../Potsdam_ISPRS/train/fake_06.png | Bin 69 -> 91 bytes .../Selwyn_LINZ/test/fake_03.png | Bin 69 -> 91 bytes .../Selwyn_LINZ/train/fake_03.png | Bin 69 -> 91 bytes .../Selwyn_LINZ/train/fake_04.png | Bin 69 -> 91 bytes .../Toronto_ISPRS/test/fake_01.png | Bin 69 -> 91 bytes .../Toronto_ISPRS/train/fake_01.png | Bin 69 -> 91 bytes .../Toronto_ISPRS/train/fake_02.png | Bin 69 -> 91 bytes .../cowc_detection/Utah_AGRC/test/fake_11.png | Bin 69 -> 91 bytes .../Utah_AGRC/train/fake_11.png | Bin 69 -> 91 bytes .../Utah_AGRC/train/fake_12.png | Bin 69 -> 91 bytes .../Vaihingen_ISPRS/test/fake_07.png | Bin 69 -> 91 bytes .../Vaihingen_ISPRS/train/fake_07.png | Bin 69 -> 91 bytes .../Vaihingen_ISPRS/train/fake_08.png | Bin 69 -> 91 bytes tests/data/cowc_detection/data.py | 86 +++++ tests/data/etci2021/data.py | 66 ++++ .../florence_20180510t231343_x-0_y-0.png | Bin 69 -> 91 bytes .../florence_20180510t231343_x-0_y-0_vh.png | Bin 69 -> 91 bytes .../florence_20180510t231343_x-0_y-0_vv.png | Bin 69 -> 91 bytes .../florence_20180510t231343_x-0_y-0.png | Bin 69 -> 91 bytes .../florence_20180522t231344_x-0_y-0.png | Bin 69 -> 91 bytes .../florence_20180522t231344_x-0_y-0_vh.png | Bin 69 -> 91 bytes .../florence_20180522t231344_x-0_y-0_vv.png | Bin 69 -> 91 bytes .../florence_20180522t231344_x-0_y-0.png | Bin 69 -> 91 bytes ...drivernorth_20190104t002247_x-0_y-0_vh.png | Bin 69 -> 91 bytes ...drivernorth_20190104t002247_x-0_y-0_vv.png | Bin 69 -> 91 bytes .../redrivernorth_20190104t002247_x-0_y-0.png | Bin 69 -> 91 bytes ...drivernorth_20190116t002247_x-0_y-0_vh.png | Bin 69 -> 91 bytes ...drivernorth_20190116t002247_x-0_y-0_vv.png | Bin 69 -> 91 bytes .../redrivernorth_20190116t002247_x-0_y-0.png | Bin 69 -> 91 bytes .../data/etci2021/test_without_ref_labels.zip | Bin 4874 -> 4068 bytes tests/data/etci2021/train.zip | Bin 5610 -> 4622 bytes .../bangladesh_20170314t115609_x-0_y-0.png | Bin 69 -> 91 bytes .../bangladesh_20170314t115609_x-0_y-0_vh.png | Bin 69 -> 91 bytes .../bangladesh_20170314t115609_x-0_y-0_vv.png | Bin 69 -> 91 bytes .../bangladesh_20170314t115609_x-0_y-0.png | Bin 69 -> 91 bytes .../nebraska_20170108t002112_x-0_y-0.png | Bin 69 -> 91 bytes .../nebraska_20170108t002112_x-0_y-0_vh.png | Bin 69 -> 91 bytes .../nebraska_20170108t002112_x-0_y-0_vv.png | Bin 69 -> 91 bytes .../nebraska_20170108t002112_x-0_y-0.png | Bin 69 -> 91 bytes tests/data/etci2021/val_with_ref_labels.zip | Bin 5512 -> 4524 bytes ...lite Change Detection dataset - Images.zip | Bin 32572 -> 668059 bytes .../test/dates.txt | 4 +- .../test/imgs_1_rect/B01.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B02.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B03.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B04.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B05.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B06.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B07.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B08.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B09.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B10.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B11.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B12.tif | Bin 304 -> 8314 bytes .../test/imgs_1_rect/B8A.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B01.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B02.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B03.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B04.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B05.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B06.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B07.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B08.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B09.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B10.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B11.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B12.tif | Bin 304 -> 8314 bytes .../test/imgs_2_rect/B8A.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B01.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B02.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B03.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B04.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B05.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B06.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B07.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B08.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B09.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B10.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B11.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B12.tif | Bin 304 -> 8314 bytes .../train1/imgs_1_rect/B8A.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B01.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B02.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B03.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B04.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B05.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B06.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B07.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B08.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B09.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B10.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B11.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B12.tif | Bin 304 -> 8314 bytes .../train1/imgs_2_rect/B8A.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B01.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B02.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B03.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B04.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B05.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B06.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B07.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B08.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B09.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B10.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B11.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B12.tif | Bin 304 -> 8314 bytes .../train2/imgs_1_rect/B8A.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B01.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B02.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B03.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B04.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B05.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B06.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B07.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B08.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B09.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B10.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B11.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B12.tif | Bin 304 -> 8314 bytes .../train2/imgs_2_rect/B8A.tif | Bin 304 -> 8314 bytes ...Change Detection dataset - Test Labels.zip | Bin 1088 -> 5053 bytes .../test/cm/cm.png | Bin 68 -> 4228 bytes ...hange Detection dataset - Train Labels.zip | Bin 1954 -> 9936 bytes .../train1/cm/cm.png | Bin 68 -> 4228 bytes .../train2/cm/cm.png | Bin 68 -> 4228 bytes tests/data/oscd/data.py | 84 +++++ tests/data/so2sat/data.py | 44 +++ tests/data/so2sat/testing.h5 | Bin 186538 -> 75793 bytes tests/data/so2sat/training.h5 | Bin 186538 -> 75793 bytes tests/data/so2sat/validation.h5 | Bin 186538 -> 75793 bytes tests/datamodules/test_bigearthnet.py | 32 -- tests/datamodules/test_chesapeake.py | 37 +- tests/datamodules/test_cowc.py | 30 -- tests/datamodules/test_cyclone.py | 30 -- tests/datamodules/test_etci2021.py | 30 -- tests/datamodules/test_eurosat.py | 29 -- tests/datamodules/test_landcoverai.py | 29 -- tests/datamodules/test_naip.py | 32 -- tests/datamodules/test_resisc45.py | 29 -- tests/datamodules/test_sen12ms.py | 32 -- tests/datamodules/test_so2sat.py | 33 -- tests/datamodules/test_ucmerced.py | 29 -- tests/datasets/test_cowc.py | 32 +- tests/datasets/test_etci2021.py | 6 +- tests/datasets/test_oscd.py | 14 +- tests/datasets/test_so2sat.py | 10 +- tests/test_train.py | 33 -- tests/trainers/test_byol.py | 88 ++--- tests/trainers/test_chesapeake.py | 3 +- tests/trainers/test_classification.py | 338 ++++++------------ tests/trainers/test_regression.py | 91 ++--- tests/trainers/test_segmentation.py | 136 +++---- torchgeo/datamodules/chesapeake.py | 2 + torchgeo/datamodules/landcoverai.py | 2 +- torchgeo/datamodules/naip.py | 6 + torchgeo/datasets/oscd.py | 15 +- torchgeo/trainers/byol.py | 28 +- torchgeo/trainers/landcoverai.py | 8 +- train.py | 19 +- 229 files changed, 987 insertions(+), 954 deletions(-) rename conf/task_defaults/{bigearthnet.yaml => bigearthnet_all.yaml} (94%) create mode 100644 conf/task_defaults/bigearthnet_s1.yaml create mode 100644 conf/task_defaults/bigearthnet_s2.yaml create mode 100644 conf/task_defaults/chesapeake_cvpr_5.yaml rename conf/task_defaults/{chesapeake_cvpr.yaml => chesapeake_cvpr_7.yaml} (79%) create mode 100644 conf/task_defaults/chesapeake_cvpr_prior.yaml rename conf/task_defaults/{oscd.yaml => oscd_all.yaml} (74%) create mode 100644 conf/task_defaults/oscd_rgb.yaml rename conf/task_defaults/{sen12ms.yaml => sen12ms_all.yaml} (87%) create mode 100644 conf/task_defaults/sen12ms_s1.yaml create mode 100644 conf/task_defaults/sen12ms_s2_all.yaml create mode 100644 conf/task_defaults/sen12ms_s2_reduced.yaml rename conf/task_defaults/{so2sat.yaml => so2sat_supervised.yaml} (81%) create mode 100644 conf/task_defaults/so2sat_unsupervised.yaml create mode 100755 tests/data/cowc_counting/data.py create mode 100755 tests/data/cowc_detection/data.py create mode 100755 tests/data/etci2021/data.py create mode 100755 tests/data/oscd/data.py create mode 100755 tests/data/so2sat/data.py delete mode 100644 tests/datamodules/test_bigearthnet.py delete mode 100644 tests/datamodules/test_cowc.py delete mode 100644 tests/datamodules/test_cyclone.py delete mode 100644 tests/datamodules/test_etci2021.py delete mode 100644 tests/datamodules/test_eurosat.py delete mode 100644 tests/datamodules/test_landcoverai.py delete mode 100644 tests/datamodules/test_naip.py delete mode 100644 tests/datamodules/test_resisc45.py delete mode 100644 tests/datamodules/test_sen12ms.py delete mode 100644 tests/datamodules/test_so2sat.py delete mode 100644 tests/datamodules/test_ucmerced.py diff --git a/conf/defaults.yaml b/conf/defaults.yaml index ca50a41571e..1ccc0c9168f 100644 --- a/conf/defaults.yaml +++ b/conf/defaults.yaml @@ -1,7 +1,7 @@ config_file: null # This lets the user pass a config filename to load other arguments from program: # These are the arguments that define how the train.py script works - seed: 1337 + seed: 0 output_dir: output data_dir: data log_dir: logs @@ -16,16 +16,17 @@ experiment: # These are arugments specific to the experiment we are running root_dir: ${program.data_dir} seed: ${program.seed} batch_size: 32 - num_workers: 4 + num_workers: 0 # The values here are taken from the defaults here https://pytorch-lightning.readthedocs.io/en/1.3.8/common/trainer.html#init # this probably should be made into a schema, e.g. as shown https://omegaconf.readthedocs.io/en/2.0_branch/structured_config.html#merging-with-other-configs trainer: # These are the parameters passed to the pytorch lightning Trainer object logger: True - checkpoint_callback: True callbacks: null default_root_dir: null + detect_anomaly: False + enable_checkpointing: True gradient_clip_val: 0.0 gradient_clip_algorithm: 'norm' process_position: 0 @@ -43,7 +44,7 @@ trainer: # These are the parameters passed to the pytorch lightning Trainer obje accumulate_grad_batches: 1 max_epochs: null min_epochs: null - max_steps: null + max_steps: -1 min_steps: null max_time: null limit_train_batches: 1.0 @@ -51,8 +52,7 @@ trainer: # These are the parameters passed to the pytorch lightning Trainer obje limit_test_batches: 1.0 limit_predict_batches: 1.0 val_check_interval: 1.0 - flush_logs_every_n_steps: 100 - log_every_n_steps: 50 + log_every_n_steps: 1 accelerator: null sync_batchnorm: False precision: 32 @@ -66,9 +66,7 @@ trainer: # These are the parameters passed to the pytorch lightning Trainer obje reload_dataloaders_every_epoch: False auto_lr_find: False replace_sampler_ddp: True - terminate_on_nan: False auto_scale_batch_size: False - prepare_data_per_node: True plugins: null amp_backend: 'native' move_metrics_to_cpu: False diff --git a/conf/task_defaults/bigearthnet.yaml b/conf/task_defaults/bigearthnet_all.yaml similarity index 94% rename from conf/task_defaults/bigearthnet.yaml rename to conf/task_defaults/bigearthnet_all.yaml index c5c352861ba..ba55f85e709 100644 --- a/conf/task_defaults/bigearthnet.yaml +++ b/conf/task_defaults/bigearthnet_all.yaml @@ -12,5 +12,5 @@ experiment: root_dir: "tests/data/bigearthnet" bands: "all" num_classes: ${experiment.module.num_classes} - batch_size: 128 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/bigearthnet_s1.yaml b/conf/task_defaults/bigearthnet_s1.yaml new file mode 100644 index 00000000000..73e727a04ea --- /dev/null +++ b/conf/task_defaults/bigearthnet_s1.yaml @@ -0,0 +1,16 @@ +experiment: + task: "bigearthnet" + module: + loss: "bce" + classification_model: "resnet18" + learning_rate: 1e-3 + learning_rate_schedule_patience: 6 + weights: "random" + in_channels: 2 + num_classes: 19 + datamodule: + root_dir: "tests/data/bigearthnet" + bands: "s1" + num_classes: ${experiment.module.num_classes} + batch_size: 1 + num_workers: 0 diff --git a/conf/task_defaults/bigearthnet_s2.yaml b/conf/task_defaults/bigearthnet_s2.yaml new file mode 100644 index 00000000000..9b9983a461d --- /dev/null +++ b/conf/task_defaults/bigearthnet_s2.yaml @@ -0,0 +1,16 @@ +experiment: + task: "bigearthnet" + module: + loss: "bce" + classification_model: "resnet18" + learning_rate: 1e-3 + learning_rate_schedule_patience: 6 + weights: "random" + in_channels: 12 + num_classes: 19 + datamodule: + root_dir: "tests/data/bigearthnet" + bands: "s2" + num_classes: ${experiment.module.num_classes} + batch_size: 1 + num_workers: 0 diff --git a/conf/task_defaults/byol.yaml b/conf/task_defaults/byol.yaml index 90eefbc96f6..d79b0def86c 100644 --- a/conf/task_defaults/byol.yaml +++ b/conf/task_defaults/byol.yaml @@ -16,5 +16,5 @@ experiment: - "de-test" test_splits: - "de-test" - batch_size: 64 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/chesapeake_cvpr_5.yaml b/conf/task_defaults/chesapeake_cvpr_5.yaml new file mode 100644 index 00000000000..63b0b469f42 --- /dev/null +++ b/conf/task_defaults/chesapeake_cvpr_5.yaml @@ -0,0 +1,29 @@ +experiment: + task: "chesapeake_cvpr" + module: + loss: "ce" + segmentation_model: "unet" + encoder_name: "resnet50" + encoder_weights: null + encoder_output_stride: 16 + learning_rate: 1e-3 + learning_rate_schedule_patience: 6 + in_channels: 4 + num_classes: 5 + num_filters: 1 + ignore_zeros: False + imagenet_pretraining: False + datamodule: + root_dir: "tests/data/chesapeake/cvpr" + train_splits: + - "de-test" + val_splits: + - "de-test" + test_splits: + - "de-test" + patches_per_tile: 2 + patch_size: 64 + batch_size: 2 + num_workers: 0 + class_set: ${experiment.module.num_classes} + use_prior_labels: False diff --git a/conf/task_defaults/chesapeake_cvpr.yaml b/conf/task_defaults/chesapeake_cvpr_7.yaml similarity index 79% rename from conf/task_defaults/chesapeake_cvpr.yaml rename to conf/task_defaults/chesapeake_cvpr_7.yaml index b210d592636..b1cd0bde844 100644 --- a/conf/task_defaults/chesapeake_cvpr.yaml +++ b/conf/task_defaults/chesapeake_cvpr_7.yaml @@ -10,8 +10,9 @@ experiment: learning_rate_schedule_patience: 6 in_channels: 4 num_classes: 7 - num_filters: 256 + num_filters: 1 ignore_zeros: False + imagenet_pretraining: False datamodule: root_dir: "tests/data/chesapeake/cvpr" train_splits: @@ -20,8 +21,9 @@ experiment: - "de-test" test_splits: - "de-test" - patches_per_tile: 200 - patch_size: 256 - batch_size: 64 + patches_per_tile: 2 + patch_size: 64 + batch_size: 2 num_workers: 0 class_set: ${experiment.module.num_classes} + use_prior_labels: False diff --git a/conf/task_defaults/chesapeake_cvpr_prior.yaml b/conf/task_defaults/chesapeake_cvpr_prior.yaml new file mode 100644 index 00000000000..ab7398da3b9 --- /dev/null +++ b/conf/task_defaults/chesapeake_cvpr_prior.yaml @@ -0,0 +1,29 @@ +experiment: + task: "chesapeake_cvpr" + module: + loss: "ce" + segmentation_model: "unet" + encoder_name: "resnet50" + encoder_weights: null + encoder_output_stride: 16 + learning_rate: 1e-3 + learning_rate_schedule_patience: 6 + in_channels: 4 + num_classes: 5 + num_filters: 1 + ignore_zeros: False + imagenet_pretraining: False + datamodule: + root_dir: "tests/data/chesapeake/cvpr" + train_splits: + - "de-test" + val_splits: + - "de-test" + test_splits: + - "de-test" + patches_per_tile: 2 + patch_size: 64 + batch_size: 2 + num_workers: 0 + class_set: ${experiment.module.num_classes} + use_prior_labels: True diff --git a/conf/task_defaults/cowc_counting.yaml b/conf/task_defaults/cowc_counting.yaml index a0d43a23462..4a4ab2f9abb 100644 --- a/conf/task_defaults/cowc_counting.yaml +++ b/conf/task_defaults/cowc_counting.yaml @@ -4,7 +4,9 @@ experiment: model: resnet18 learning_rate: 1e-3 learning_rate_schedule_patience: 2 + pretrained: False datamodule: root_dir: "tests/data/cowc_counting" - batch_size: 32 + seed: 0 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/cyclone.yaml b/conf/task_defaults/cyclone.yaml index 3e2fe918094..ba3d039f9d7 100644 --- a/conf/task_defaults/cyclone.yaml +++ b/conf/task_defaults/cyclone.yaml @@ -7,5 +7,6 @@ experiment: pretrained: False datamodule: root_dir: "tests/data/cyclone" - batch_size: 32 + seed: 0 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/etci2021.yaml b/conf/task_defaults/etci2021.yaml index 132887630e2..880ac6232e6 100644 --- a/conf/task_defaults/etci2021.yaml +++ b/conf/task_defaults/etci2021.yaml @@ -12,5 +12,5 @@ experiment: ignore_zeros: True datamodule: root_dir: "tests/data/etci2021" - batch_size: 32 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/eurosat.yaml b/conf/task_defaults/eurosat.yaml index dd40b85f6c9..9161c2c0cae 100644 --- a/conf/task_defaults/eurosat.yaml +++ b/conf/task_defaults/eurosat.yaml @@ -10,5 +10,5 @@ experiment: num_classes: 10 datamodule: root_dir: "tests/data/eurosat" - batch_size: 128 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/landcoverai.yaml b/conf/task_defaults/landcoverai.yaml index 72e2f024999..4e28b018935 100644 --- a/conf/task_defaults/landcoverai.yaml +++ b/conf/task_defaults/landcoverai.yaml @@ -10,9 +10,9 @@ experiment: verbose: false in_channels: 3 num_classes: 6 - num_filters: 256 + num_filters: 1 ignore_zeros: False datamodule: root_dir: "tests/data/landcoverai" - batch_size: 32 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/naipchesapeake.yaml b/conf/task_defaults/naipchesapeake.yaml index e3546ad6ff1..83814f3316a 100644 --- a/conf/task_defaults/naipchesapeake.yaml +++ b/conf/task_defaults/naipchesapeake.yaml @@ -10,11 +10,11 @@ experiment: learning_rate_schedule_patience: 2 in_channels: 4 num_classes: 13 - num_filters: 64 + num_filters: 1 ignore_zeros: False datamodule: naip_root_dir: "tests/data/naip" chesapeake_root_dir: "tests/data/chesapeake/BAYWIDE" - batch_size: 32 + batch_size: 2 num_workers: 0 patch_size: 32 diff --git a/conf/task_defaults/oscd.yaml b/conf/task_defaults/oscd_all.yaml similarity index 74% rename from conf/task_defaults/oscd.yaml rename to conf/task_defaults/oscd_all.yaml index 5ae3fdccb78..9cd70b45daa 100644 --- a/conf/task_defaults/oscd.yaml +++ b/conf/task_defaults/oscd_all.yaml @@ -4,18 +4,18 @@ experiment: loss: "jaccard" segmentation_model: "unet" encoder_name: "resnet18" - encoder_weights: null + encoder_weights: null learning_rate: 1e-3 learning_rate_schedule_patience: 6 verbose: false in_channels: 26 num_classes: 2 - num_filters: 256 + num_filters: 1 ignore_zeros: True datamodule: root_dir: "tests/data/oscd" - batch_size: 32 + batch_size: 1 num_workers: 0 - val_split_pct: 0.1 + val_split_pct: 0.5 bands: "all" - num_patches_per_tile: 128 + num_patches_per_tile: 1 diff --git a/conf/task_defaults/oscd_rgb.yaml b/conf/task_defaults/oscd_rgb.yaml new file mode 100644 index 00000000000..bf24bd4b02a --- /dev/null +++ b/conf/task_defaults/oscd_rgb.yaml @@ -0,0 +1,21 @@ +experiment: + task: "oscd" + module: + loss: "jaccard" + segmentation_model: "unet" + encoder_name: "resnet18" + encoder_weights: null + learning_rate: 1e-3 + learning_rate_schedule_patience: 6 + verbose: false + in_channels: 6 + num_classes: 2 + num_filters: 1 + ignore_zeros: True + datamodule: + root_dir: "tests/data/oscd" + batch_size: 1 + num_workers: 0 + val_split_pct: 0.5 + bands: "rgb" + num_patches_per_tile: 1 diff --git a/conf/task_defaults/resisc45.yaml b/conf/task_defaults/resisc45.yaml index a657cc5d02a..e95efe9af89 100644 --- a/conf/task_defaults/resisc45.yaml +++ b/conf/task_defaults/resisc45.yaml @@ -10,5 +10,5 @@ experiment: num_classes: 45 datamodule: root_dir: "tests/data/resisc45" - batch_size: 128 + batch_size: 1 num_workers: 0 diff --git a/conf/task_defaults/sen12ms.yaml b/conf/task_defaults/sen12ms_all.yaml similarity index 87% rename from conf/task_defaults/sen12ms.yaml rename to conf/task_defaults/sen12ms_all.yaml index e4a946a23f8..1a0f73fddd4 100644 --- a/conf/task_defaults/sen12ms.yaml +++ b/conf/task_defaults/sen12ms_all.yaml @@ -13,5 +13,7 @@ experiment: ignore_zeros: False datamodule: root_dir: "tests/data/sen12ms" - batch_size: 32 + band_set: "all" + batch_size: 1 num_workers: 0 + seed: 0 diff --git a/conf/task_defaults/sen12ms_s1.yaml b/conf/task_defaults/sen12ms_s1.yaml new file mode 100644 index 00000000000..a2fdbb17031 --- /dev/null +++ b/conf/task_defaults/sen12ms_s1.yaml @@ -0,0 +1,20 @@ +experiment: + task: "sen12ms" + module: + loss: "focal" + segmentation_model: "fcn" + num_filters: 1 + encoder_name: "resnet18" + encoder_weights: null + encoder_output_stride: 16 + learning_rate: 1e-3 + learning_rate_schedule_patience: 2 + in_channels: 2 + num_classes: 11 + ignore_zeros: False + datamodule: + root_dir: "tests/data/sen12ms" + band_set: "s1" + batch_size: 1 + num_workers: 0 + seed: 0 diff --git a/conf/task_defaults/sen12ms_s2_all.yaml b/conf/task_defaults/sen12ms_s2_all.yaml new file mode 100644 index 00000000000..eb081ef722f --- /dev/null +++ b/conf/task_defaults/sen12ms_s2_all.yaml @@ -0,0 +1,19 @@ +experiment: + task: "sen12ms" + module: + loss: "ce" + segmentation_model: "unet" + encoder_name: "resnet18" + encoder_weights: null + encoder_output_stride: 16 + learning_rate: 1e-3 + learning_rate_schedule_patience: 2 + in_channels: 13 + num_classes: 11 + ignore_zeros: False + datamodule: + root_dir: "tests/data/sen12ms" + band_set: "s2-all" + batch_size: 1 + num_workers: 0 + seed: 0 diff --git a/conf/task_defaults/sen12ms_s2_reduced.yaml b/conf/task_defaults/sen12ms_s2_reduced.yaml new file mode 100644 index 00000000000..e44c20a3dbd --- /dev/null +++ b/conf/task_defaults/sen12ms_s2_reduced.yaml @@ -0,0 +1,19 @@ +experiment: + task: "sen12ms" + module: + loss: "ce" + segmentation_model: "unet" + encoder_name: "resnet18" + encoder_weights: null + encoder_output_stride: 16 + learning_rate: 1e-3 + learning_rate_schedule_patience: 2 + in_channels: 6 + num_classes: 11 + ignore_zeros: False + datamodule: + root_dir: "tests/data/sen12ms" + band_set: "s2-reduced" + batch_size: 1 + num_workers: 0 + seed: 0 diff --git a/conf/task_defaults/so2sat.yaml b/conf/task_defaults/so2sat_supervised.yaml similarity index 81% rename from conf/task_defaults/so2sat.yaml rename to conf/task_defaults/so2sat_supervised.yaml index be6a4e0f5c9..0f215c24c84 100644 --- a/conf/task_defaults/so2sat.yaml +++ b/conf/task_defaults/so2sat_supervised.yaml @@ -1,7 +1,7 @@ experiment: task: "so2sat" module: - loss: "ce" + loss: "focal" classification_model: "resnet18" learning_rate: 1e-3 learning_rate_schedule_patience: 6 @@ -10,6 +10,7 @@ experiment: num_classes: 17 datamodule: root_dir: "tests/data/so2sat" - batch_size: 128 + batch_size: 1 num_workers: 0 bands: "rgb" + unsupervised_mode: False diff --git a/conf/task_defaults/so2sat_unsupervised.yaml b/conf/task_defaults/so2sat_unsupervised.yaml new file mode 100644 index 00000000000..ec51d18c4a6 --- /dev/null +++ b/conf/task_defaults/so2sat_unsupervised.yaml @@ -0,0 +1,16 @@ +experiment: + task: "so2sat" + module: + loss: "jaccard" + classification_model: "resnet18" + learning_rate: 1e-3 + learning_rate_schedule_patience: 6 + weights: "random" + in_channels: 3 + num_classes: 17 + datamodule: + root_dir: "tests/data/so2sat" + batch_size: 1 + num_workers: 0 + bands: "rgb" + unsupervised_mode: True diff --git a/conf/task_defaults/ucmerced.yaml b/conf/task_defaults/ucmerced.yaml index 2742fa329c8..31f7dba2960 100644 --- a/conf/task_defaults/ucmerced.yaml +++ b/conf/task_defaults/ucmerced.yaml @@ -10,5 +10,5 @@ experiment: num_classes: 21 datamodule: root_dir: "tests/data/ucmerced" - batch_size: 128 + batch_size: 1 num_workers: 0 diff --git a/pyproject.toml b/pyproject.toml index 69cca9467a1..6f31702dce8 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -79,10 +79,13 @@ match_dir = "(datamodules|datasets|losses|models|samplers|torchgeo|trainers|tran # Skip slow tests by default addopts = "-m 'not slow'" filterwarnings = [ - "ignore:.*Create unlinked descriptors is going to go away.*:DeprecationWarning", + "ignore:.*Create unlinked descriptors is going to go away:DeprecationWarning", # https://github.com/tensorflow/tensorboard/pull/5138 - "ignore:.*is a deprecated alias for the builtin.*:DeprecationWarning", - "ignore:.*Previous behaviour produces incorrect box coordinates.*:UserWarning", + "ignore:.*is a deprecated alias for the builtin:DeprecationWarning", + "ignore:Previous behaviour produces incorrect box coordinates:UserWarning", + "ignore:The dataloader, .*, does not have many workers which may be a bottleneck:UserWarning", + "ignore:Your `.*_dataloader` has `shuffle=True`:UserWarning", + "ignore:Trying to infer the `batch_size` from an ambiguous collection:UserWarning", ] markers = [ "slow: marks tests as slow", diff --git a/tests/data/README.md b/tests/data/README.md index 3884cbf382a..9e37b4923d4 100644 --- a/tests/data/README.md +++ b/tests/data/README.md @@ -16,7 +16,8 @@ ROOT = "data/landsat8" FILENAME = "LC08_L2SP_023032_20210622_20210629_02_T1_SR_B1.TIF" src = rasterio.open(os.path.join(ROOT, FILENAME)) -Z = np.arange(4, dtype=src.read().dtype).reshape(2, 2) +dtype = src.read().dtype +Z = np.random.randint(np.iinfo(dtype).max, size=(64, 64), dtype=dtype) dst = rasterio.open(FILENAME, "w", driver=src.driver, height=Z.shape[0], width=Z.shape[1], count=src.count, dtype=Z.dtype, crs=src.crs, transform=src.transform) for i in range(1, dst.count + 1): dst.write(Z, i) @@ -52,18 +53,28 @@ VisionDataset data can be created like so. ### RGB images ```python +import numpy as np from PIL import Image -img = Image.new("RGB", (1, 1)) +DTYPE = np.uint8 +SIZE = 64 + +arr = np.random.randint(np.iinfo(DTYPE).max, size=(SIZE, SIZE, 3), dtype=DTYPE) +img = Image.fromarray(arr) img.save("01.png") ``` ### Grayscale images ```python +import numpy as np from PIL import Image -img = Image.new("L", (1, 1)) +DTYPE = np.uint8 +SIZE = 64 + +arr = np.random.randint(np.iinfo(DTYPE).max, size=(SIZE, SIZE), dtype=DTYPE) +img = Image.fromarray(arr) img.save("02.jpg") ``` @@ -83,14 +94,15 @@ wavfile.write("01.wav", rate=22050, data=audio) import h5py import numpy as np -f = h5py.File("data.hdf5", "w") +DTYPE = np.uint8 +SIZE = 64 +NUM_CLASSES = 10 -num_classes = 10 -images = np.random.randint(low=0, high=255, size=(1, 1, 3)).astype(np.uint8) -masks = np.random.randint(low=0, high=num_classes, size=(1, 1)).astype(np.uint8) -f.create_dataset("images", data=images) -f.create_dataset("masks", data=masks) -f.close() +images = np.random.randint(np.iinfo(DTYPE).max, size=(SIZE, SIZE, 3), dtype=DTYPE) +masks = np.random.randint(NUM_CLASSES, size=(SIZE, SIZE), dtype=DTYPE) +with h5py.File("data.hdf5", "w") as f: + f.create_dataset("images", data=images) + f.create_dataset("masks", data=masks) ``` ### LAS Point Cloud files diff --git a/tests/data/cowc_counting/COWC_Counting_Columbus_CSUAV_AFRL.tbz b/tests/data/cowc_counting/COWC_Counting_Columbus_CSUAV_AFRL.tbz index 92dfe682ca0348ab94e67200c60539bd77b11067..fc9b54ec201edaca4702b962d06850ab0767e6ca 100644 GIT binary patch literal 530 zcmV+t0`2`mT4*^jL0KkKSwW`kwg3T+|MmXbgwRp}|L%X~-vIZo-ars200dM)FhD5+ zK!`vB7z{xiWWh8t85tQgGy$NS)n~3?tOdLq^nMZAP9@<0c8AkjTi%p`Z;0Mi31KjWQU9fMs+Z0m3{@ zV_8cWhm>zNT*bg)e*|faA`-OCfO(xJNPFFuLWOJssU`$3-!vm)u4nKn~+T!{ix?H?EIz;Lj1QE3HFf2TN_0 z(Sna?_J(ZiL{(i^g;;35o7hy6MUpk^lVM2^qBW>;7*vT(NF7b!&qY(9n+iyioX>kr z^F^r0iXSQjp(v1YFj!Toilz*rCEAA!IKV}^H_n7X9|Onw^})vRyo{T8Mr@}12Maf8 z*BNp@M+?C34x2#W979v}7#iMD{f!{~n*+E%7ZdpzgQPp-Y;lZ-o$n1JNt`|=k=<+z zhooR}y+hJFV-9B{So@tpv<!4qAG83); UINZna00sUoa(hRL}qb&;S4c0000Yi7Ax*BU8;p)6~(Y zs5EKndYL^y@@g5V#BER1^-S)u(%4kSM}fK2J*0|9JG%WI_kG<&#KHpOVO{LLdCQj= z&}cG|JTVaz2K&Y^sK~>ShDQ^|`C6RpH!wCekL+kZ%n`G*=Q9$Q+Z!GO+Ywj{Km(Zf z=&sKQh6o=ebcSo9bOH%+6f6aHfrNmngorZ2Hm_8MkT%h9A!0FMAcq^^Djml=eq=99 zlFDFcFwkIgH4@<+4q>3$)HgRoX>_`oZ~aD$(fKm+ImUH84X!uPI>-Fsb-#g;>w1T1 z{fDi@J05Y+{ocW#^$pGu{l(X@Dm=e?Ji Y^EW(OD0yX|)?dX!L>VXw%bC>Ul$qjWS|rGGxMOkTMzrKxvah049Li-M1+G2XuNF z-RCg2a#wl@OZn&H8E41*o*#o}7*C~cT|1>%ab~$-F#{>q9UiSQr5lo0!4X)i@4ED8p1{6m5+^HU{OVY-M6Yk%Ne1aATlg z-=c)4glUF0Dm7sgq=<(7xWa1@Bt%wMB8-SqX(+*Q;uXCNpiL7)NfWL0$`4HBReCZ? zXoRTeCY&N9`l=IIN_b}SP@wZ3FXdD=0^|xHiN?dWZI6yD(Js2f$RMtl!NL+-tAwpVJJh6b?ON~hl71B^bUSwv<=9W?iLkH1? z;Olj}8DWP@Q=Q})Ha;);$~LyddmELHNZ=jrck=Ci{8U_*1g=N-)>VjPCy;5)rwS4j&Eo)|;f$SO diff --git a/tests/data/cowc_counting/COWC_Counting_Selwyn_LINZ.tbz b/tests/data/cowc_counting/COWC_Counting_Selwyn_LINZ.tbz index 258484e8e2a3c04066f036829ea8f5f96cc77b9c..9e897ebd2d999b7a406ddfb1fd2a64c7724f8646 100644 GIT binary patch literal 507 zcmV+z{ulUf>WY00dM)FhC&! zK!`vA`~U&QOqw(XjWHP-7={GVrXa*EWr=ky2L9~rFr(>w&AAt8q zBU7?`hCYLVsnBYJ3z&_8ghE!Cun*nVWH_D{NG8hws!4$iI(Ts5@nIUrU~dhBcm~D> z5Wd=K83Rx?qCE^Cy-dbV20{V4&ARGb)6=^>_VeR>4;yXVZ!!mIf#Dbjr2fWpbZ)M+ zX8dLK13ARgWPL4e24IP(Fajn#W?o)efO#Ba4*<uTcBsS)D&cJVa=&}F+ literal 357 zcmV-r0h<0oT4*^jL0KkKSqJoWj{pIG|NivW0MI}I|G+-w-VpDvUf>WQKm-5*06+i% z0099AFacNqb4*N`G+{7IO)v?7Lj+((1DaxF$)gE^VrhU(0vIC#FbJYT1Z@&&>NZL0 z0Mj7TVvQPP$+bMyIh}*l(aQOsBXg*G$rO%<6VmT^oJf|ifVmh~PY#VX(gp@bDKj%X zaS;^*pl=AWFy>*A#^`w(pMwp|4o3j~#)Ip}9i7_dVp8+(vEp(7hdI&Hud5h^_#K6@ z$lU1Q}MYj!t=n_dRy=#8y?Z(C^hKGFJ*Yj}GeVfecq;h@~`kAwUg ziwE@gjy49-f$(>Z*TtxCHXb9mcMFL#4bJiWJfl;k&fNN$Lo@ef2mUVPig2MI59sS2 DJSL)> diff --git a/tests/data/cowc_counting/COWC_Counting_Toronto_ISPRS.tbz b/tests/data/cowc_counting/COWC_Counting_Toronto_ISPRS.tbz index c3594d8f5b6aef5e276a46d16e58a21617417b85..37884f8f77b4fcfe90378ce5c12678f8737e2bd3 100644 GIT binary patch literal 503 zcmVO$JPuO)>^UKxhpzXkY};7;Py}2%rD}00000XaE2Jii#N^(UG77 zL69`i14BbV13+oD1XL<$GGb)NWN6bsGy$VP&;Sh@0fD638-toX432Yjd$Wkh_K zAioTTE_)FGvdN&$o@?8;s^q&3r-7W=X|V@2fa6U_gM9gixoB$+bvStX^>2eILP=bA zm{xRHf+Z2J5D_ljH1A%-0l4vu8G|7cuz)bAHK+_}GscVnfpLvVkVw@S9HRxtTwOwL zFw8@%84#WXQlcP;;ywwCPP9sMMFkj%N{tPqqbxE=$tMKF1=RQK&xy!qgeS%y7m<@xTrM tOoFJ=7`OqXGlqLPz}tD-E(Wp%c4i`9f1fsHW`e2yF64@Ep&&rk?<~Cl(82%! literal 358 zcmV-s0h#_nT4*^jL0KkKS>pBqNB{wc|NivW0MI}I|G+lqUI6c_-oOwbKm-5*06+i% z0099AFacO(4rz&ijW8n!zyJUQ!Y~;SlhgnJ00000009(`r>N7^(L=Gw|UxWm9;2@w9}8j@yon52b*D}C zL|Ua|pmV`fkirNR8u!x$>}Xg-FhKz=0NtSUr8pt=IWfv6N5 zMFwUUOOeRsWWx?NhZD9kGQLf32-MLy;2T4sv9OF!vz`1O5zf>-4^Z{KZ_vy(H4cVi zfz197g8=AjZVe+))-|+@?E`qMbdHgB4S|PrY-(ihx7!>{kmP+CApeWGBAh5laeDxy E0NMbSOaK4? diff --git a/tests/data/cowc_counting/COWC_Counting_Utah_AGRC.tbz b/tests/data/cowc_counting/COWC_Counting_Utah_AGRC.tbz index 6eedeae9f684c84f98ae0a270883b418bb6c5f95..c425862bf4413d425d21a27b4c9a72fe2bce74c6 100644 GIT binary patch literal 506 zcmVA$vWN2a-6GoVW5um~V3>#7@?M+Qh003wJ01TRF00000iiIOh z1JHm2Kxi}o01SZBLqVfK6se^2O&JC$(h5NVr(r&ldR}GP6M9PVh&RQtX6{%e(ko+A((L~!q2xR_%f6v zn8UW(Y_b9-0Kf>7Om$qjC=UBkN+$`( zN=ZOWq@Ac#!cLClFyk3Wz(*-j9|lO*YqlB$m_@EKdIr0A?z*m<+Ro^BMl@Is_~5rL zBYYA9pNgjPm$uGsk&=&KLt__Z^{wb++&{#&|SY$DrK? w=pO?B)GG`(L8vr_>m&NxW_BOuq6VXNh?gJM%XPZmDxc!+NT&)C8XPv#VCMeLTmS$7 literal 357 zcmV-r0h<0oT4*^jL0KkKS!ZOk5dZ;)fBy8=0MI}I|G+=te*o|6Uce9_Km-5*06+i% z0099AFacO-4qy`jGB5%$F))}+5YrP(22(*zGyni-0000001-rzo~MaCn@S$0(LAA{ zrqmy*Z8b79c~2Dd^-iZ)_B3(1T#c@w+DN2na5g?IZUjtBATKKl=F!oIJtTQXgQGyHheDVUVH;q$e!1Cjt8C(h2^%t9BS zaJY-rCpK$`JFIe)7UzLkK^zu56uMxd2ip2E#4(~vL1AeqrLbda8jH`Bm}Pw zG-V)a>v;yoq2lz8r&HS8D8#ykjg3#a=W{gR$0O1^+wQj3*o(UzqhRc69|x=*F1KjV zZE%kEg~9y0hwi|J_k+2h-D@`w5#k2{fxw=Dwee-lS*$Y)OkjlWO|3F)7qiNOqw(XjWHP-7={GVrXa*ED^Ldyeb%p>$zr=jB>97Nt_KY~jXbs3r7e<=ahvwtnZViJZ zhcg9ngS0vZN`gS`TG*p;j5`ETK%kc4RWMR0a7FI#1xQmx2qxmH))Z2rDm02S6_`}1 zB_?q(JLKYYsdXn}f)k8nrZAi(S*HIY*R!4!4|Z1891q&N;_pzC43uY?KZb$lF6;$ZL!{ z1`zwThbY5Syg#O6#LRj?(8$<3LD~sux-jhqk)U?7cRC+)=65(yF*Pz1q5nM1O-*%E O{x0N-aG@b_0DXd0Kj%FF literal 365 zcmV-z0h0bgT4*^jL0KkKS(wi+xBvl)|NivW0MI}I|G@V7UjXmxUce9_Km-5*06+i% z0099AFacNqb4*N`G+{7IO)v?7Lj+((1DaxF$)gE^VrhU(0vIC#FbJYVPemKjYH0N| z+JTVTo~DmcJ`OkL_qkkXmau@i7*`*s(dUVv z+B8_C%*QN5ML^(r#uXVDe2g+YZ#&G?^)TMRqaz9L)DQ$H3G&M-bfYdK=rw-unko{+ma0pnFG4 zwca%i?W1$JYA_Dx_%@+%$`=eFE>Z4eZfYAE%ZGsQ7aC?8-u7QJ%--}ehfDQk2mUVP Lig2MJF`i#=PTQwK diff --git a/tests/data/cowc_counting/COWC_test_list_64_class.txt b/tests/data/cowc_counting/COWC_test_list_64_class.txt index 60ae5328dfd..c46f34bc023 100644 --- a/tests/data/cowc_counting/COWC_test_list_64_class.txt +++ b/tests/data/cowc_counting/COWC_test_list_64_class.txt @@ -1,6 +1,6 @@ -Toronto_ISPRS/test/fake_01.png 0 -Selwyn_LINZ/test/fake_03.png 1 -Potsdam_ISPRS/test/fake_05.png 2 -Vaihingen_ISPRS/test/fake_07.png 0 -Columbus_CSUAV_AFRL/test/fake_09.png 1 -Utah_AGRC/test/fake_11.png 11 +Toronto_ISPRS/test/fake_01.png 12 +Selwyn_LINZ/test/fake_03.png 8 +Potsdam_ISPRS/test/fake_05.png 12 +Vaihingen_ISPRS/test/fake_07.png 11 +Columbus_CSUAV_AFRL/test/fake_09.png 16 +Utah_AGRC/test/fake_11.png 4 diff --git a/tests/data/cowc_counting/COWC_test_list_64_class.txt.bz2 b/tests/data/cowc_counting/COWC_test_list_64_class.txt.bz2 index ac59f5a5a96e74589ff2004f3f9d36d105572283..95e8e5aed2340ecb8f3df7065edb98a57eeb74bc 100644 GIT binary patch literal 166 zcmV;X09pS+T4*^jL0KkKS#r=K0000jUw{A-Kmq^YDWzW!x9{GdAOMsMl82OfN2t&m zJrSS}Q_^~A2oeAQ00_VU1OlULFwx!u;*L6Q^aDkN6Gv!*v6LtwFhP-#k^;)rx}lp9 z#*d(_@363}xnYRZv$!_-mC?9VxC0D~h%UD%KEY`)ia7yxm0qkb1&eO^$?^qsGJtji U){tpr=9qsMaz!{$kaEx>04b?OXaE2J literal 176 zcmV;h08jryT4*^jL0KkKSwlafTmS%N--!SaKmq!oDWzW!x9{Gd00@8ppa7JHQAYHW zYCT4Q=zugmPf6*d2Bt_&rlU=unLSLNqay^-wIGCwB5*{8rJD5!=+YFjQP}{5a*?Ex z0fzN9QWTSwPiaTK(!zzw_La3C^iNaL6aq5CC}BjJDO5%P5et~hxT>cy z+}Hw6D+K~k5Iuwf9xAL*#ZXEi2uTQpp-?Opf+G_E*ig;NFItsey|FYUQ=wBrj#V2T zLGIs>GNR1zc_9xwZC7QefVqOOz$eEYIbH&fv(I)oN>MV!eqhC04UNS2U8w SOq6hci@744C`dP|%Vq#34p#U8 literal 221 zcmV<303!cFT4*^jL0KkKS#p`JlmGzGUx@$^Kmq^YDWzW!x9{Gd00@8pumH;#N}8CX z)M@2142&StKn*l#B?V0e5E%>*003YrQi;7&N2q#6j1wR-4@C713~FM=wV=3?z*F+I z@N<~w!Y;tArD6o;qEN}XK*-T6x~izdvZ6RvR52;2F%Bi+N(h9$YHDjvRH}6<<4kHS zQL*YzCg;<8dqH}u$#E`Kjlh<@p9HZb&I%;8LR!ec`(h>+>+qOWWoTty*1VXBRg4cs Xtb}QKc!$#rH~$xMML1B9a+$4^zfoae diff --git a/tests/data/cowc_counting/Columbus_CSUAV_AFRL/test/fake_09.png b/tests/data/cowc_counting/Columbus_CSUAV_AFRL/test/fake_09.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Columbus_CSUAV_AFRL/train/fake_09.png b/tests/data/cowc_counting/Columbus_CSUAV_AFRL/train/fake_09.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Columbus_CSUAV_AFRL/train/fake_10.png b/tests/data/cowc_counting/Columbus_CSUAV_AFRL/train/fake_10.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Potsdam_ISPRS/test/fake_05.png b/tests/data/cowc_counting/Potsdam_ISPRS/test/fake_05.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Potsdam_ISPRS/train/fake_05.png b/tests/data/cowc_counting/Potsdam_ISPRS/train/fake_05.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Potsdam_ISPRS/train/fake_06.png b/tests/data/cowc_counting/Potsdam_ISPRS/train/fake_06.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Selwyn_LINZ/test/fake_03.png b/tests/data/cowc_counting/Selwyn_LINZ/test/fake_03.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Selwyn_LINZ/train/fake_03.png b/tests/data/cowc_counting/Selwyn_LINZ/train/fake_03.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Selwyn_LINZ/train/fake_04.png b/tests/data/cowc_counting/Selwyn_LINZ/train/fake_04.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Toronto_ISPRS/test/fake_01.png b/tests/data/cowc_counting/Toronto_ISPRS/test/fake_01.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Toronto_ISPRS/train/fake_01.png b/tests/data/cowc_counting/Toronto_ISPRS/train/fake_01.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Toronto_ISPRS/train/fake_02.png b/tests/data/cowc_counting/Toronto_ISPRS/train/fake_02.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Utah_AGRC/test/fake_11.png b/tests/data/cowc_counting/Utah_AGRC/test/fake_11.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Utah_AGRC/train/fake_11.png b/tests/data/cowc_counting/Utah_AGRC/train/fake_11.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Utah_AGRC/train/fake_12.png b/tests/data/cowc_counting/Utah_AGRC/train/fake_12.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Vaihingen_ISPRS/test/fake_07.png b/tests/data/cowc_counting/Vaihingen_ISPRS/test/fake_07.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Vaihingen_ISPRS/train/fake_07.png b/tests/data/cowc_counting/Vaihingen_ISPRS/train/fake_07.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/Vaihingen_ISPRS/train/fake_08.png b/tests/data/cowc_counting/Vaihingen_ISPRS/train/fake_08.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_counting/data.py b/tests/data/cowc_counting/data.py new file mode 100755 index 00000000000..b75bec2e1e0 --- /dev/null +++ b/tests/data/cowc_counting/data.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 + +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import bz2 +import csv +import hashlib +import glob +import os +import random +import shutil + +from PIL import Image + + +SIZE = 64 # image width/height +STOP = 20 # range of values for labels +PREFIX = "Counting" +SUFFIX = "64_class" + +random.seed(0) + +sites = [ + "Toronto_ISPRS", + "Selwyn_LINZ", + "Potsdam_ISPRS", + "Vaihingen_ISPRS", + "Columbus_CSUAV_AFRL", + "Utah_AGRC", +] + +# Remove old data +for filename in glob.glob("COWC_*"): + os.remove(filename) +for site in sites: + if os.path.exists(site): + shutil.rmtree(site) + +i = 1 +data_list = {"train": [], "test": []} +image_md5s = [] +for site in sites: + # Create images + for split in ["test", "train", "train"]: + directory = os.path.join(site, split) + os.makedirs(directory, exist_ok=True) + filename = os.path.join(directory, f"fake_{i:02}.png") + + img = Image.new("RGB", (SIZE, SIZE)) + img.save(filename) + + data_list[split].append((filename, random.randrange(STOP))) + + if split == "train": + i += 1 + + # Compress images + filename = f"COWC_{PREFIX}_{site}.tbz" + bad_filename = shutil.make_archive(filename.replace(".tbz", ""), "bztar", ".", site) + os.rename(bad_filename, filename) + + # Compute checksums + with open(filename, "rb") as f: + image_md5s.append(hashlib.md5(f.read()).hexdigest()) + +label_md5s = [] +for split in ["train", "test"]: + # Create labels + filename = f"COWC_{split}_list_{SUFFIX}.txt" + with open(filename, "w", newline="") as csvfile: + csvwriter = csv.writer(csvfile, delimiter=" ") + csvwriter.writerows(data_list[split]) + + # Compress labels + with open(filename, "rb") as src: + with bz2.open(filename + ".bz2", "wb") as dst: + dst.write(src.read()) + + # Compute checksums + with open(filename + ".bz2", "rb") as f: + label_md5s.append(hashlib.md5(f.read()).hexdigest()) + +md5s = label_md5s + image_md5s +for md5 in md5s: + print(repr(md5) + ",") diff --git a/tests/data/cowc_detection/COWC_Detection_Columbus_CSUAV_AFRL.tbz b/tests/data/cowc_detection/COWC_Detection_Columbus_CSUAV_AFRL.tbz index dff3032bd06297913a4545d083a7ee92388419d6..f42c6b4485d1c4ab11da4050793feb8ea3e9e732 100644 GIT binary patch literal 531 zcmV+u0_^=lT4*^jL0KkKS&^do8~_22fA#*_gwRp}|L%X~-vIZo-ars200dM)FhDT^ zK!`vB8Pwr`agzkl$Yf+>(9i~hBM1hAMwtvlKm?GYVL;Fg8Z-a^00000004@G6V%gF z(^DEl^+P6}q3CI-Wb{CKYHdu^WNk(pP@dEgQ7OGsO#=|n10kRQGynhq0MHqm4gthC zS;lf^7{{1)8m%UXFkj&dLj*!KnJ@>P(qf0vyu?tQfGUw-A#&kj73+`*!$@e1hKLQT z0fUx6F&MHKgCJ%^axg)1vKYRGA_3`S*=!e21>26Jw%c}E4OWv7aM%sFP$Cbh>{*6D z>J97<4^AC$W||Wu;nr$3S%DI@(8L5w776t?QjALabL{kr|?!T%k_kK=mzQgyAg6CKOOemHlNE1j-c!6(RwL znTcl=x`9BVk`%J2VNYTKrasUBqfBy8=0MI}I|Li~IUjYBF-oOwbKm-5*06+i% z0099AFadY~ILVVHBNG57OcNjmj3WR;0me+3F&LNuGGLhiG+`J57z9xyYM-Rac&3M` zwJ`>R)b$#Af#gFq7>%j=o~fnh9d1&lGdu0h!R#bbIbG-I_dW-C6B`H%k%e&a@kzyu zWO&9>C&dvFKx=qL6&Vz+Zw2 zL?#A<4F(58Q7$3W=o$^JLvwUSw_CB6zo^lgKPFyBNY2NZwaEF0oPW+Io%{@sQ_?$! z>^)8~+VYO4?)8laq;7E!^{Bo(UcuJD?id?Kb8Emot>M7m9LH$L<`)WDHje<@_cHt+ XD|5)o9(VG}5By!p6yZWb#yxGw0*9kO diff --git a/tests/data/cowc_detection/COWC_Detection_Potsdam_ISPRS.tbz b/tests/data/cowc_detection/COWC_Detection_Potsdam_ISPRS.tbz index ed72119404451d50f760aecf8c721e82116921c7..c60c8aa418de1695639b4c77944dd8f477d89142 100644 GIT binary patch literal 518 zcmV+h0{Q(yT4*^jL0KkKS%O6neEk)}*d227YuG6q9HXbm!GUN2A28}di0iX>u4FCWD0x2S4 zO;0pa)D0e^(jKR%)6~#tJw{DDpvj}uZAPBe4l*>!iJ-}o38p~EXbl0TO$-2<18r|Q z2aJ0|@Mw2kBlR8ThSK;jyrgx85eZhzz&y?tL!r*e1l?d2NiZRo!cdBn9ex zx3O$nVydR^^XT3L=QEL*E!Am7I1q}$U=WMfjVt%y0=l?F$>MO3tqP8$z_67fs)7&fx22pbf@l#Jc z&>tY3QeY<(q-UA%K{{7Z*NkbN+^qa#!Fbi7XZ z`p5co!_{kAhcMVV-owH)1HjBaapHA6;LHuttbb$p8>6kpH4Q~$k)(Yr;~;t19b@Jg zZF(F7zTz4|tqB^(U^syG~^qGgG!|$D(Z-c zm^cjs04#^hV}=cw0}cT+z{ulUf>WY00dM)FhC&! zK!`vA{nV-e<0efS14fvPjSNEqXwwj4G#EeuhZ!A$vWN2a-6GoVW5um~V3=v3( z(M;MT^#jy;L&|CDF#{p$G-!Ds^*uqdjW(c)l|4t~NN8#5000009-uS;008}NT8ETy zM~RDsbBsF&C5!x51`FOok%A#BOxOqR-efsm21qAqfK?>GhE1%QGI(?bLrB;e#=s2h z1_)y`F&jW)43QlyAiCL%p7S99#Lc?bcY}iE?2Y$*#__vPed@9YxWM%W0p~xlsKz%( z1?bWE&BP4n6HEi>WaTpgC2@cVl~idT^W>Cah}=;K-rW|7G?%08rp`MEyurbpxmp;e27|2T;~F$KLB2UYFSWUnA1uK;CvT6QTb)9gfD8Q~oaGig2MJVu(br DU4`Pp literal 358 zcmV-s0h#_nT4*^jL0KkKSw#rh4gdjv|NivW0MI}I|G+-w-VpDvUf>WQKm-5*06+i% z0099AFacNqb4*N`G+{7IO)v?7Lj+((1DaxF$)gE^VrhU(0vIC#FbJd(1w2hd5$b-a z>HyOq(_)PpJxrTZ%~P4!Jxtv1E8=f;4{0Gt=yAO-2g2h-%)$ckFs_`QZ9a+d3=GC8 zDN0h~h=`y!4gnTJ4=W6ZGjpM%?_s@x&fy=>%zb%dvu?RcB$l;vxqw5Q=;_zhkV6Cx z!z_6mRZMz5H#KX7WYxC_%IyO(l_IH$o*^P_7T9yRuv7~h7Rpv-2NNNwg3?x1i6n=e z&d7JL>UBOgOfdYKI$dMNGuG^F8SZ=y?eQC$^}TLk+WQCSKeo~Ad57Tac8tdNAooAP zp2kmP>MkbmOtNT&)C2%#Gx Ez?=l3FaQ7m diff --git a/tests/data/cowc_detection/COWC_Detection_Toronto_ISPRS.tbz b/tests/data/cowc_detection/COWC_Detection_Toronto_ISPRS.tbz index 092b9ffd3188c2367b2178abe5b362571e9dd4ae..1ccc7f304a0d5493dfac5172eb5633c1d9db9c69 100644 GIT binary patch literal 519 zcmV+i0{HzxT4*^jL0KkKS*sjXG65qgswAS9+t*Kk;cgc+F%t)Fd>I`4N)&VC84lw4P#gh zwgw&OOYXZ!$QnVmi2fKse{9B1+aUn*vu?M2IOSaTp6iL+cwKh`V<3D?4aZ&y1D*bL zn}b;RZ^uvTFSHrXCYwXR#s;=PiF9~m0w*6Cho7F19w#8fXl5dG5Da2kfxTl;>p&My zCPv7`5y~)5-2#195ZQ>eN4QhNfXIgnKxYZhrBsR>C<##&Geso_I>AydrJ_AVQe`ww z{A5K8rBvk+EU85ij3$dnrDxVhau{&NN*QwxL%s`z!=!NxJcE^?-+W^u=KUP6!Nfk{ zt)*xk(Wrl+*%;pQm~Df;%zb0b^gTl`Y8!*pIR`U*X&Osow$eNfu*e_Fn0-SIr>(p+ zjf0$VH-}&wO#?GH=m$V0X2{qwbOT`Q4NToGN0G+qcF;FnOoZ%z&r7M)+EqW|?ntK! J5*1^Lynx;?+tC03 literal 361 zcmV-v0hazkT4*^jL0KkKS&km9(f|R6|NivW0MI}I|G+lqUI6c_-oOwbKm-5*06+i% z0099AFacNqb4*MGX@M9<0000c5rNGyFcGE%VHf}a0GLJsDHBxkC#gKt(mh9}qiGE` zp!8&hL(s~4pQ?PFgWAox%H(f#kBK2j`MhqY{PMhLn3zCZY%6YWbfcpX%z6f?!4W@9 zL`1=?&M*SVVamfH#OHH0Jxn*SH#i6OGaP*};kR6+5=z{UE6rWNA=YWtpR*8#9^yk7 z92F*M7jv@oK}!Zt&?_L7R#{BLWmF|oI3m6vCe3lPs^(Il;ArtQESY3PA$vWN2a-6GoVW5um~V3=&8qMF*($03M)d000000006i6$3*| zKmgN5nhgK}pgkZo&<2eJQj$E7G-;q@4FCWDXbk`cho~}Ja2o^EIRnnh)jI|}2D>Y8 zqzo^S7=s9eXEI<9n@NcCHQ1n;i~&@O0SeWp)s1NlFqCQyF_>w9(O_YsKxHyAjDX4v z$c?55FUui|O^AS0WYA}96X+VQE3VXdoEDo&h&ikVxrRW9KYtIwraPlYJ{G-sI02NQ zK`RdPU8>LoOc8()ELb~i*^~!~oj~>pOs6PMWk9QiYGFE&Q9L9` zr$HA4WhsQ#3WrEt!etc899N>{P#4pdGcz_>#F#~xWY`&-*LBr(9>(&+!ZD)2cgGF6 zafB~2TVoJ>84mD0Etc5G8Y6@@$DD07hGCeZIjqCFz}*Z3=-M5jhU4<;xMMIhSr2iX x8Nm7&29Z!NM{RC$bj_r&TRky literal 355 zcmZ>Y%CIzaj8qGb{C7OooPn{u{@<5t3>O?2{~xe_SkLhOb=&~~1qT)eMg|8UW@O|r zV2ofWW|+Y_u|cr2v*l1i+l*NW=zOJ)h5lTXhR#>2)Tfx3+-kmZD~qjP^X1Byujcw) ze3S9G*fLtSdCx?TEB8zH@wxp{Qxg!M*;@Sa#bIIPjuO7vC3B6^Iy$!THSSS5ari~z z#A7e2r1tul8CXUy{w>9)Gx6^3hsHwFW$fIQ6)Y1Nuhf)&`<5iI%i&?6c-G8k%dNL8 zar6#n>zQZR^+nL~*p$6NS1zsenkr>FL!#qZ%CRe16?2$b1k7hjMQa>#__~8V+VRPk zzT?TaZfP9Z&DOVV{l@3TTOJ)_Us8Sh+_hsTx@XUQyr$e#?)e&7zv~qjativZoi6-~ xWB!`py!X+E40D-w#wRunj||K&pE9%K*?H$|-?V^@zc)4i7cX+P2$%p0Q~)5xrilOm diff --git a/tests/data/cowc_detection/COWC_Detection_Vaihingen_ISPRS.tbz b/tests/data/cowc_detection/COWC_Detection_Vaihingen_ISPRS.tbz index 76c5ee0f37e3dfd9776e8e4876b5c4d0f4978e59..61b737c64a8f7f2dcf74971d67321ad2cd4b039b 100644 GIT binary patch literal 525 zcmV+o0`mPrT4*^jL0KkKS;+Gd_W%Ko|MmXbgwRp}|K|4j-2mt7UO*5i00dM)FhDT^ zK!`vB8P{!y*BoTYqd;iW5s{&YU`-lg3`Td#6Db2xyfXv(WIO}ZKX((@HG#A`BiJ|xBeFQgVVJTv8HR*13`V%Y z$S^~-tUIFz`Jg`xV_l482Mvh#8G)D+9HKC0263`J44lm`)!%bB5H7Vb6D$9E+M1f` Pq@wOfrwS4o9%4S=_MX+1 literal 364 zcmV-y0h9hhT4*^jL0KkKS#K9)%>V(4|NivW0MI}I|G@V7UjXmxUce9_Km-5*06+i% z0099AFacNqb4*N`G+{7IO)v?7Lj+((1DaxF$)gE^VrhU(0vIC#FbJY3H8l^=rjJuk zQ$dK@o~Dmc=+qvjo}uYIJyS!lb+mFhpBr=5Ke9z5;NpI7dzHkAYX}RCg>iblJhsxK zBUPGBCOG0EDh>BI!lNS(m4-*e=Xn~vEH^MX+Xu90J|1}d?$T7By%_*Qq|vKi z($NbbaJXoj7|zkoQuxv8>PuwKF~tdvaKxqi28HGZVv~`Yt&NTdV*`4HM~RW3R{40P zm)pq$T`ano9uHgA_AlvsMy{&j{)E=B+NHG?7nxAx#ndKck0Ry{9VZu K;X*;YU6V9OG^XtU diff --git a/tests/data/cowc_detection/COWC_test_list_detection.txt b/tests/data/cowc_detection/COWC_test_list_detection.txt index ec3ddbab651..583e5231d41 100644 --- a/tests/data/cowc_detection/COWC_test_list_detection.txt +++ b/tests/data/cowc_detection/COWC_test_list_detection.txt @@ -1,6 +1,6 @@ -Toronto_ISPRS/test/fake_01.png 0 -Selwyn_LINZ/test/fake_03.png 1 -Potsdam_ISPRS/test/fake_05.png 1 -Vaihingen_ISPRS/test/fake_07.png 0 -Columbus_CSUAV_AFRL/test/fake_09.png 1 -Utah_AGRC/test/fake_11.png 1 +Toronto_ISPRS/test/fake_01.png 1 +Selwyn_LINZ/test/fake_03.png 1 +Potsdam_ISPRS/test/fake_05.png 1 +Vaihingen_ISPRS/test/fake_07.png 0 +Columbus_CSUAV_AFRL/test/fake_09.png 0 +Utah_AGRC/test/fake_11.png 0 diff --git a/tests/data/cowc_detection/COWC_test_list_detection.txt.bz2 b/tests/data/cowc_detection/COWC_test_list_detection.txt.bz2 index 9d82748e4e9bed57cc40c5460b764e72349fc346..45b56567b03385e0f99b201b05ae7b6547427944 100644 GIT binary patch literal 159 zcmV;Q0AT+@T4*^jL0KkKSw*71fB*n1Uw{A-KmqEYDWzW!x9{GdAOMtxN<;Fa$~{Jb z>SzXssp&lkG)Mpq8UO$Q3=<542Y@F~^Qe2UQ`TWggsdQB+zS{6E2#-kabuMt^0AGD zikK*5a#`RWw$ka`IV^#eW|%PZoF8DgnN1*o!(CU^jo`Aojuh!YRqXJ018rc|*kG9c NF64@Ep&*Mze*kclL>d49 literal 171 zcmV;c095}%T4*^jL0KkKS*Q<#fk_R3sO)4iRMEi z4y2klw4>k5u%U8(p>0)mgJsgbH;U2#!$TqquAm=4(o7LyA3&#Lhl=7UckSNwP Z9pL$>8ksq(9J05ucO+AV2?~Jr*KltQNuvM& diff --git a/tests/data/cowc_detection/COWC_train_list_detection.txt b/tests/data/cowc_detection/COWC_train_list_detection.txt index dfc082630c8..2eb48c8fa3b 100644 --- a/tests/data/cowc_detection/COWC_train_list_detection.txt +++ b/tests/data/cowc_detection/COWC_train_list_detection.txt @@ -1,12 +1,12 @@ -Toronto_ISPRS/train/fake_01.png 0 -Toronto_ISPRS/train/fake_02.png 1 -Selwyn_LINZ/train/fake_03.png 1 -Selwyn_LINZ/train/fake_04.png 0 -Potsdam_ISPRS/train/fake_05.png 1 -Potsdam_ISPRS/train/fake_06.png 1 -Vaihingen_ISPRS/train/fake_07.png 0 -Vaihingen_ISPRS/train/fake_08.png 0 -Columbus_CSUAV_AFRL/train/fake_09.png 1 -Columbus_CSUAV_AFRL/train/fake_10.png 1 -Utah_AGRC/train/fake_11.png 1 -Utah_AGRC/train/fake_12.png 1 +Toronto_ISPRS/train/fake_01.png 1 +Toronto_ISPRS/train/fake_02.png 0 +Selwyn_LINZ/train/fake_03.png 1 +Selwyn_LINZ/train/fake_04.png 1 +Potsdam_ISPRS/train/fake_05.png 1 +Potsdam_ISPRS/train/fake_06.png 1 +Vaihingen_ISPRS/train/fake_07.png 0 +Vaihingen_ISPRS/train/fake_08.png 1 +Columbus_CSUAV_AFRL/train/fake_09.png 0 +Columbus_CSUAV_AFRL/train/fake_10.png 1 +Utah_AGRC/train/fake_11.png 1 +Utah_AGRC/train/fake_12.png 0 diff --git a/tests/data/cowc_detection/COWC_train_list_detection.txt.bz2 b/tests/data/cowc_detection/COWC_train_list_detection.txt.bz2 index 4484776bbbbebbe47ca56df64f90136fb69302b9..0dcfe35b8daaee334329d4b912428d8be81cb519 100644 GIT binary patch literal 207 zcmV;=05JbTT4*^jL0KkKS?H%a@c;l;Uw{A-Kmq^YDWzW!x9{GdFaXRUDtf5XN1|+m z7>s~q8flJ^HhKH%38VpZULIy($5=a+NW7;|LIn8Q+ zkY?k6f|Fr5XYz#xdu^1Zl2Gw$QP%ALPd3Nnb8}IW ztckRnRdKhI2FKAaNwvLVOcoOcg&(VlYx%&Is?yZb$%`UfO0QAq!JwBoK8XB(7ji{7 JP>|@SI`Q&qUsV7A literal 216 zcmV;}04M)KT4*^jL0KkKS?#uLApii+Ux@$^Kmq^YDWzW!x9{Gd00@8pumH>q9$!%o1xZmD2@b|twmR_V2%`39IC%%p(Uv{yvXo+ zzMGqy43%U?Bx0*Wc^5sO1X_s2y(C4+5pz;+wS-al%!(@3*w)E|A}k`SQ+Y0GBF1de SayshH#oUoj6eK%sn+QOgu31Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Columbus_CSUAV_AFRL/train/fake_09.png b/tests/data/cowc_detection/Columbus_CSUAV_AFRL/train/fake_09.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Columbus_CSUAV_AFRL/train/fake_10.png b/tests/data/cowc_detection/Columbus_CSUAV_AFRL/train/fake_10.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Potsdam_ISPRS/test/fake_05.png b/tests/data/cowc_detection/Potsdam_ISPRS/test/fake_05.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Potsdam_ISPRS/train/fake_05.png b/tests/data/cowc_detection/Potsdam_ISPRS/train/fake_05.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Potsdam_ISPRS/train/fake_06.png b/tests/data/cowc_detection/Potsdam_ISPRS/train/fake_06.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Selwyn_LINZ/test/fake_03.png b/tests/data/cowc_detection/Selwyn_LINZ/test/fake_03.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Selwyn_LINZ/train/fake_03.png b/tests/data/cowc_detection/Selwyn_LINZ/train/fake_03.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Selwyn_LINZ/train/fake_04.png b/tests/data/cowc_detection/Selwyn_LINZ/train/fake_04.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Toronto_ISPRS/test/fake_01.png b/tests/data/cowc_detection/Toronto_ISPRS/test/fake_01.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Toronto_ISPRS/train/fake_01.png b/tests/data/cowc_detection/Toronto_ISPRS/train/fake_01.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Toronto_ISPRS/train/fake_02.png b/tests/data/cowc_detection/Toronto_ISPRS/train/fake_02.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Utah_AGRC/test/fake_11.png b/tests/data/cowc_detection/Utah_AGRC/test/fake_11.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Utah_AGRC/train/fake_11.png b/tests/data/cowc_detection/Utah_AGRC/train/fake_11.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Utah_AGRC/train/fake_12.png b/tests/data/cowc_detection/Utah_AGRC/train/fake_12.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Vaihingen_ISPRS/test/fake_07.png b/tests/data/cowc_detection/Vaihingen_ISPRS/test/fake_07.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Vaihingen_ISPRS/train/fake_07.png b/tests/data/cowc_detection/Vaihingen_ISPRS/train/fake_07.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/Vaihingen_ISPRS/train/fake_08.png b/tests/data/cowc_detection/Vaihingen_ISPRS/train/fake_08.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/cowc_detection/data.py b/tests/data/cowc_detection/data.py new file mode 100755 index 00000000000..f43a57e6439 --- /dev/null +++ b/tests/data/cowc_detection/data.py @@ -0,0 +1,86 @@ +#!/usr/bin/env python3 + +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import bz2 +import csv +import hashlib +import glob +import os +import random +import shutil + +from PIL import Image + + +SIZE = 64 # image width/height +STOP = 2 # range of values for labels +PREFIX = "Detection" +SUFFIX = "detection" + +random.seed(0) + +sites = [ + "Toronto_ISPRS", + "Selwyn_LINZ", + "Potsdam_ISPRS", + "Vaihingen_ISPRS", + "Columbus_CSUAV_AFRL", + "Utah_AGRC", +] + +# Remove old data +for filename in glob.glob("COWC_*"): + os.remove(filename) +for site in sites: + if os.path.exists(site): + shutil.rmtree(site) + +i = 1 +data_list = {"train": [], "test": []} +image_md5s = [] +for site in sites: + # Create images + for split in ["test", "train", "train"]: + directory = os.path.join(site, split) + os.makedirs(directory, exist_ok=True) + filename = os.path.join(directory, f"fake_{i:02}.png") + + img = Image.new("RGB", (SIZE, SIZE)) + img.save(filename) + + data_list[split].append((filename, random.randrange(STOP))) + + if split == "train": + i += 1 + + # Compress images + filename = f"COWC_{PREFIX}_{site}.tbz" + bad_filename = shutil.make_archive(filename.replace(".tbz", ""), "bztar", ".", site) + os.rename(bad_filename, filename) + + # Compute checksums + with open(filename, "rb") as f: + image_md5s.append(hashlib.md5(f.read()).hexdigest()) + +label_md5s = [] +for split in ["train", "test"]: + # Create labels + filename = f"COWC_{split}_list_{SUFFIX}.txt" + with open(filename, "w", newline="") as csvfile: + csvwriter = csv.writer(csvfile, delimiter=" ") + csvwriter.writerows(data_list[split]) + + # Compress labels + with open(filename, "rb") as src: + with bz2.open(filename + ".bz2", "wb") as dst: + dst.write(src.read()) + + # Compute checksums + with open(filename + ".bz2", "rb") as f: + label_md5s.append(hashlib.md5(f.read()).hexdigest()) + +md5s = label_md5s + image_md5s +for md5 in md5s: + print(repr(md5) + ",") diff --git a/tests/data/etci2021/data.py b/tests/data/etci2021/data.py new file mode 100755 index 00000000000..03d14d640b4 --- /dev/null +++ b/tests/data/etci2021/data.py @@ -0,0 +1,66 @@ +#!/usr/bin/env python3 + +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import hashlib +import os +import shutil + +from PIL import Image + +SIZE = 64 # image width/height + +metadatas = [ + { + "filename": "train.zip", + "directory": "train", + "subdirs": ["nebraska_20170108t002112", "bangladesh_20170314t115609"], + }, + { + "filename": "val_with_ref_labels.zip", + "directory": "test", + "subdirs": ["florence_20180510t231343", "florence_20180522t231344"], + }, + { + "filename": "test_without_ref_labels.zip", + "directory": "test_internal", + "subdirs": ["redrivernorth_20190104t002247", "redrivernorth_20190116t002247"], + }, +] + +tiles = ["vh", "vv", "water_body_label", "flood_label"] + +for metadata in metadatas: + filename = metadata["filename"] + directory = metadata["directory"] + + # Remove old data + if os.path.exists(filename): + os.remove(filename) + if os.path.exists(directory): + shutil.rmtree(directory) + + # Create images + for subdir in metadata["subdirs"]: + for tile in tiles: + if directory == "test_internal" and tile == "flood_label": + continue + + fn = f"{subdir}_x-0_y-0" + if tile in ["vh", "vv"]: + fn += f"_{tile}" + fn += ".png" + fd = os.path.join(directory, subdir, "tiles", tile) + os.makedirs(fd) + + img = Image.new("RGB", (SIZE, SIZE)) + img.save(os.path.join(fd, fn)) + + # Compress data + shutil.make_archive(filename.replace(".zip", ""), "zip", ".", directory) + + # Compute checksums + with open(filename, "rb") as f: + md5 = hashlib.md5(f.read()).hexdigest() + print(repr(filename) + ":", repr(md5) + ",") diff --git a/tests/data/etci2021/test/florence_20180510t231343/tiles/flood_label/florence_20180510t231343_x-0_y-0.png b/tests/data/etci2021/test/florence_20180510t231343/tiles/flood_label/florence_20180510t231343_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test/florence_20180510t231343/tiles/vh/florence_20180510t231343_x-0_y-0_vh.png b/tests/data/etci2021/test/florence_20180510t231343/tiles/vh/florence_20180510t231343_x-0_y-0_vh.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test/florence_20180510t231343/tiles/vv/florence_20180510t231343_x-0_y-0_vv.png b/tests/data/etci2021/test/florence_20180510t231343/tiles/vv/florence_20180510t231343_x-0_y-0_vv.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test/florence_20180510t231343/tiles/water_body_label/florence_20180510t231343_x-0_y-0.png b/tests/data/etci2021/test/florence_20180510t231343/tiles/water_body_label/florence_20180510t231343_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test/florence_20180522t231344/tiles/flood_label/florence_20180522t231344_x-0_y-0.png b/tests/data/etci2021/test/florence_20180522t231344/tiles/flood_label/florence_20180522t231344_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test/florence_20180522t231344/tiles/vh/florence_20180522t231344_x-0_y-0_vh.png b/tests/data/etci2021/test/florence_20180522t231344/tiles/vh/florence_20180522t231344_x-0_y-0_vh.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test/florence_20180522t231344/tiles/vv/florence_20180522t231344_x-0_y-0_vv.png b/tests/data/etci2021/test/florence_20180522t231344/tiles/vv/florence_20180522t231344_x-0_y-0_vv.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test/florence_20180522t231344/tiles/water_body_label/florence_20180522t231344_x-0_y-0.png b/tests/data/etci2021/test/florence_20180522t231344/tiles/water_body_label/florence_20180522t231344_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test_internal/redrivernorth_20190104t002247/tiles/vh/redrivernorth_20190104t002247_x-0_y-0_vh.png b/tests/data/etci2021/test_internal/redrivernorth_20190104t002247/tiles/vh/redrivernorth_20190104t002247_x-0_y-0_vh.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test_internal/redrivernorth_20190104t002247/tiles/vv/redrivernorth_20190104t002247_x-0_y-0_vv.png b/tests/data/etci2021/test_internal/redrivernorth_20190104t002247/tiles/vv/redrivernorth_20190104t002247_x-0_y-0_vv.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test_internal/redrivernorth_20190104t002247/tiles/water_body_label/redrivernorth_20190104t002247_x-0_y-0.png b/tests/data/etci2021/test_internal/redrivernorth_20190104t002247/tiles/water_body_label/redrivernorth_20190104t002247_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test_internal/redrivernorth_20190116t002247/tiles/vh/redrivernorth_20190116t002247_x-0_y-0_vh.png b/tests/data/etci2021/test_internal/redrivernorth_20190116t002247/tiles/vh/redrivernorth_20190116t002247_x-0_y-0_vh.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test_internal/redrivernorth_20190116t002247/tiles/vv/redrivernorth_20190116t002247_x-0_y-0_vv.png b/tests/data/etci2021/test_internal/redrivernorth_20190116t002247/tiles/vv/redrivernorth_20190116t002247_x-0_y-0_vv.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test_internal/redrivernorth_20190116t002247/tiles/water_body_label/redrivernorth_20190116t002247_x-0_y-0.png b/tests/data/etci2021/test_internal/redrivernorth_20190116t002247/tiles/water_body_label/redrivernorth_20190116t002247_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/test_without_ref_labels.zip b/tests/data/etci2021/test_without_ref_labels.zip index 0f94a1e4ce5b827f3efe7991c2c526a20d4a11a2..34e062dbc3e99cb4063871a3faa59dd5e11def98 100644 GIT binary patch literal 4068 zcmWIWW@Zs#0D;%ZvxC75D8UD$OHzwV;xqF~Qj78ubMymns@1_zTa=nolvxJUmtRzp z5pQH*XlY<*U{YdWU}R)sPO(XbW`s>LBGFAHnK`M&cwA;mmU(3v)HkvWkCDz~xw1SF z7{&2P`6-q0If+TBh^XcOCyQGP?ydI*8XOJ8iDX#-3CAl8uk2=Pr--zUGQ~>+1Ag&k>r%086x(KFJ}=Cm2CRl)vcaDKev{jM(TYqmfTA z%OB$MFQO!%PX0wVj|%x0!$`{WFS?N!i4u3JCoX}YTYw|~!j%o){0n!YJ|ux)1QoXY z3)ckm7mZRqW}!r8^kC1w7~Y64qkjHnWD;S<-GTs?u|Oce@WK&9qqiq;>jkwaAONJ7 z^!5d@CYJ#%L3I`0^Z=}RahnV(u^<5C<^w<`VUrPUB3Su_+k8+91Oh18R1_ zz=FnyWH|@J|3ottC-VsiqYb5OI>LN;=O v7{mYAvJ*UM!SXt3*{O`39G3wjpD4FLEA{|yR$u@yFbD!+AJ9Sv4iFCj6@Z!& literal 4874 zcmc(iO=uHA6vroDZDVcGR)Z9g3fdypW)tdHDWZrV#6$4oyxq{nL}F5tb#3vWq8C9t zlwQ0jf>5*~coMu>p$HYho)x7a6-Dr%ci&_`Gc&t88Q0kILJDF2Z-4XNzyIWOvG@jr ze^wXwoN2r$$OR#D37b7zw%mU}&};JQ51jUw@{F@zc~dHbBJ#5p6> zIW={vR?^|jYE3K3St)Z^%47~`l9bJk9W+!PF9oRdJZm@u5F3%?# zBDD4kY3aHlw+>Rc7;;+xeHX$2?_E%@9f7}2Kq;bfzMSQmeUdy2rR$^9mGh0e#nf>T zt$pA4v%daiZmlpm`T6&+>11^E&fwcu@m<67ou6W-C+?5l-MO_s*WcH7eInJdTwO~& zJes<>u=rqQeBss*awelc9F9eU<1#SBMKp`$LgiRYb8;-Ui{l`{@wm`{Tv1@HH+g$0Up&Fa6lut;=A%q!1rGn3sW^y3(QOQySo zk?tsN&Y83^y3agGoykJtPI{oo$Q${bqe$mGx8k!F6)npIU1s8Qbm`3J)*XnD^!%UH z+(VoIL7JKVu(X$XTG9wTx^Y`n+P6c;0?afRd^2>Kv)aV-Rfq}^!o~>F%v{Gy=)I^k zCn3`$g9*_&%}wYDe06HxKwo`t%Y#OkiOri=8Ci|si5iZF(ui;O)_fWE7mUu|Xu1>`;8~zEmz&V;PN6nUqhY2m@5ND?7H3{mnv)Q>(a>qiP3U5m2q8wcf~#WY gDsNuRM)NJ4M!4wt8%+Xc8==kcJCsD|9TY-;0F4YS0ssI2 diff --git a/tests/data/etci2021/train.zip b/tests/data/etci2021/train.zip index 5cba717d7a1083433c852e30087e86ed24ad6373..b24e36421b26fec41318aeec09acc81671367f31 100644 GIT binary patch literal 4622 zcmWIWW@Zs#0D;%ZvxC75D8UA#ONtUR^YjC7s!@ciNlMI1&q+*4EzXEHGB7kZFg7$P zF*GzaGqA*?T^_DIFEyzsu{b*sqS?^EqQt#Cicar4Aa`6Q6L(h)6hPGzxXhB2XP3>UfGbLWPVm@rEEr9xORy zx=M?91MwC#q?m)RsIeg4Js24b=1a^>3#yAC)eph22l^7Xnt>>A;)r)UMu-sh35}9J zW)wsc?+xUXJBWNhN+K#FDiKk?@L^;UVaDA814aQ52r#^G1ktee7;ZhF78wM9^r!%t z1T#^9H*VuVEi?!K8J7%XLX5*zwE$ZrxD5lf*dPF8*a9GvfMKwr6}OR~790eCjC>4a z5@jTEa>eIjP>T)%K*k#}5@|fR*v0K=R8uR6HWgF|<2Du4;zPJ~AF-xl6hH_&FiQkb zMGgZC8ikmM4-Z@k2CaC;XE~@D2LlTlPZ4W5h6f2b1ysJ`a|fs`1_KKkdzpz01mrYF zsS{A+!JCChCzKK0yh8XNv;6^T6+r+fQ!ul_EXQ5$>l4n%pjHyXP!Hk_MGjVct_HPs z5EjfN-U0%d8P(i}B$$goJA+zP2={6Nd*cKPa!4p+q<2K9U}k7g1qlNS8taL-g_JfI zJ_mrBN-(gX(VCrnZ{kjVurh{F#s;-_U|>Nb69>_5K~95|I|DUNju7t*VD=_#dwdzV W2@~MW3L4;H5Cy^tpcM_AARYis9rVcn literal 5610 zcmd6rO-vI(7={Ph@*^f16ym{%L=k`KE+_&a1`nP%K&(B`1MN1g6m42UYXuXdMm=fJ z5EDfbjYjPO6TEpQQ7&@wphuC!XfP%o^dRxzH{GA^?#!?=ixwf%v zJ>Crn|4cvM7bv{ZUMkRblpR%uQ~uzoYUFwSs!N%Nac-;zm3hB-5GuU%8_!2<&o>&+ zN0ro2Qi;VgiEyhVAC=nV!&zBA(k^wXr2|m*f=KCRp3>RjWIR(8z#`1K->}VnKfgdO zr)oTd`gyv>Rv=o1FrTS2@k__x(+L;>Aq_Ue@Yo?KJPsq5YZ*xm6`F+?OIh&Ojo&k$ zKTR%0Bay|QKSrv{-`?E0Fz4Ofe5dk*=VbSTmWjr?%;c8Z+RNSb74zw(`bRzWSMxIu z-*n}#?Loy>-(CZ*go$(kB2Y=_!E7|yHIGT=)hm%S)o>bvY z0l51j@CMhQ=!~*d95329w(+m(bTXZenGsF^K0GLvKtHYn?!^8ddUk(qFcy@GM@N;+ zSw(ecS?b72QmZVt7R^)0_?w&yi+J-(Ti5sUme-y67qodrq}6=_3M_W(;L5YEL1~`6 z43O~PJ`?<)5`Je;CG+DM8>n{Pe$(CfBOt?r8(YY=o)g4UIq_2)L78_&gb%+1aPLLn z1>H!kH@C9#9UfN7-lpa4&FI^4{8rE0J~eX_yQ)~r?&yukT&u^Z#lC~U;X#Iy6#IMG zGR+p5X&xEf@14cSByL{QZ+@|Y`-2|NG6Qj+};@knV!ucLhwaYJuz%izuF;+dxJX8(gIip zE&F3(4eIRq>bpgCb7w+iE;bW-?Byn8b!QN!CS>dk^use?fwRfyO8D<_vHN3#F+J?H zi^lX=w}UHpY_f=SR_F|vBK+P+CSh}*@9|3M&WLldz|QY87KWX1ML>SV?>Bbck?q@B||k(zed``e0OR~5gSGXicuB-5)I!7}fp=x#{Ov1}kA%bo~Ta{?i> zo$&BFA(>0fYz{&MQ|}6vo_13ZK8RDQz)=ZWu-tVc%bKBnW>zQSgVTvn9sG`fc&rA0 F`UBzHrgZ=S diff --git a/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/flood_label/bangladesh_20170314t115609_x-0_y-0.png b/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/flood_label/bangladesh_20170314t115609_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/vh/bangladesh_20170314t115609_x-0_y-0_vh.png b/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/vh/bangladesh_20170314t115609_x-0_y-0_vh.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/vv/bangladesh_20170314t115609_x-0_y-0_vv.png b/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/vv/bangladesh_20170314t115609_x-0_y-0_vv.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/water_body_label/bangladesh_20170314t115609_x-0_y-0.png b/tests/data/etci2021/train/bangladesh_20170314t115609/tiles/water_body_label/bangladesh_20170314t115609_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/train/nebraska_20170108t002112/tiles/flood_label/nebraska_20170108t002112_x-0_y-0.png b/tests/data/etci2021/train/nebraska_20170108t002112/tiles/flood_label/nebraska_20170108t002112_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/train/nebraska_20170108t002112/tiles/vh/nebraska_20170108t002112_x-0_y-0_vh.png b/tests/data/etci2021/train/nebraska_20170108t002112/tiles/vh/nebraska_20170108t002112_x-0_y-0_vh.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/train/nebraska_20170108t002112/tiles/vv/nebraska_20170108t002112_x-0_y-0_vv.png b/tests/data/etci2021/train/nebraska_20170108t002112/tiles/vv/nebraska_20170108t002112_x-0_y-0_vv.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/train/nebraska_20170108t002112/tiles/water_body_label/nebraska_20170108t002112_x-0_y-0.png b/tests/data/etci2021/train/nebraska_20170108t002112/tiles/water_body_label/nebraska_20170108t002112_x-0_y-0.png index 19b3f6a1e4b828f4a278f093652c9caf4104802a..320c3449e5f07848665bfa3dcbaaa8891a85e6eb 100644 GIT binary patch literal 91 zcmeAS@N?(olHy`uVBq!ia0vp^4j|0I1SD0tpLGH$B~KT}kcv5P4>Ixsd50E!_s`{L d7XdP1;6t8)0|R3>!;0@95l>e?mvv4FO#l*y6GZ?3 literal 69 zcmeAS@N?(olHy`uVBq!ia0vp^j3CUx1SBVv2j2ryJf1F&Ar*6y6A}`DJQfDVZ{ilA PKo*0itDnm{r-UW|l@bkj diff --git a/tests/data/etci2021/val_with_ref_labels.zip b/tests/data/etci2021/val_with_ref_labels.zip index acd6d76c332619c4d33494bb8400e51489cbdb5b..6077f058efdc21c951bf46c07d16afc0318b7694 100644 GIT binary patch literal 4524 zcmWIWW@Zs#0D;%ZvxC75D8UM(OHzwV^aF4zk%K8o%gHZF%}Y*=H!?7^FfcVVC^0fN zG&V6NL$8q$M6U@Ry($FlEy>JDEyiPl0g)yEJ(iympOcuBnuEtQbs|kG%b&+=QbNLmuU`r{nJ)1uoH@v%61sDKDU+tEzxeS9U6%R$MxU4}+r?_WpMRPz zp6JlPU&+SD({q1>RUAmj^{42stGSx*-_(3FbM> zEQ%|Qpc{!e6P;=> zN*1{HU;!RqM*Wh7kx7IZcY_L8qyvEf!wW|c4Q*cG)&go^K>$dLGLQ+@f)*FZ%`IZh zipOCVJdA*i4BTdcib)6nxob9%iQiqYLKC-%pavNPfK0p#WD;W{astKYUQjU#0U*=0 z8HqC;T&Uu9GOD2k#2N}JWN{k`YQP~}x|K*nF^U?56_~jnl!0JiK_dqf(Sd<0*&(tM zxOs=qZcwWX1{O5#C(>>V?-6nds3gVb3{U|G0}C1(nTZPmUC1KKX?`s|_AXQ3wV>n@!R{3B_7O5DFz|6e?(%*fmi?Q<^ol2eDEQ z9*Rg2#fu^cMZI|tL_~Y>(jJQcfTbV`Qs}`V9t7v@?(A-MW_G9BhT1YAf$V&5e)Hy= zugwhl1G^CXJa~2Voccz838GG<$WEqg zzgn(L$YWRJTtbTXN~yS{B$DxDPg0wAWwY}}T<2A;mF22AJ17WO9Tl9tR&y0NfH}4z z!1Cm}eES6cbQ+H#aRDB<+~jd7H-$&7);&H}RJR8f$yn&m-Rsrw-{w{eBO@ytzs5sN zUuF+2Ed(Obhb>?IXZxOZ-#^?@o!j5uKHV2?{#;oNKR+3snScFkF+G3x2;y(9Fs4$Y zF_mKOm`Xc^DJ8hsH}i@-kt#vM%30>BM(*Htj z>1Dlf^PD%4(44nNYp>~#={yXsH(s^w`c&rY28(n30a z84rel=Dd3ZotGhC+galqEa&}$5i0aTx665#y<*axw}=tJ;9?r`iivVw1}4*a0Z{`l zsP{HZJm)oPjA^~fcHRLD3 zxaiK<(D9ttNlBPm2~%UZ&{hwpuc^z=3(W`h_`Dab4ZvGHLI<@7O<^&oq64&bs(vz+ zZSB@LjWrl8k{RS{M37bEv8x6#_{}Rt>y$PGl~l8L661wzvMhvN+_~V>cY%veTNW1M zeS6+Ex(+yn|AJJH22YW1&`#29 z9K(h*^ursk(!5ehcW7qqR34j*WRwS{F%u9YgR8NGUME#Hl&ql&P}V%CZWj+az>?z& zJl+M_Jj@G1Jt52}YdRktX000gn%y)k&d0b=tR71TTdPt

DDn#9Zd3p=~N1a)}sh z>aw_)Z7&VDq_>TKHsD5s$jhurYi~NTlA2&UAGL^~uIbLl46m@S8UQ-J5-|YqTU^W? zfa!dUyl?FQI*gK<0KkVy$%+SpjSm=XwE7}}Ye5{Q_(m>RoS z+S?JB7`hlbo4OFt5=hz_nwvV)EBs&LvHy?oTuhx^{%=4z|7W01hL(1W|L?#u{olX} z|Ie)bUoNn;HFwr$)OY&N@Bc3G1#y3}q zt-fbGd9Njia6eVw}_u^6Yf|xK$=Xy?D4XQ#_}s@ zaCA&cJVC;35{cmSyoEWF51`wqSWcZ-ug|)cHd21*t2nvFxvXT0HMc5!NviI;v@+3Lu?=>J!E_R!N%&l--Uru5Oz_2rElPE8kzJ1%~70hPD-q)^Ci&1RUQtwf_G z*mMq|lYr28zvcxOAdY}D#E>DMgmq=+xlO{4&P^0n(&ngUVWdgKH5F#9c6)d_@zSh4|BAYa9^?F-vUw5NDmPW z;8I*d%-9)Z(X1g&qoSMgFWw);V$DBS=FY(2lsSck&G?(ckn9qJ>XF6TOHU^x>caW_ zU?HbKES?Orw;Cvsz&hPO4Gs;ncy#8;!wx5VdSr>Gq^Wpd$&B^qDU;+#_8QfO?@P`| z4wSc)UfDGM4vd#S(z~?_Ekw%Uon1Uva8m1aW4fb2P;Jbg zz<}6Q*|1=~vv0dKc&ZcVhBEqS<3DBu|4x!_t93fWWO$;u)F)7G%8xYlW36mU&sXv0 ztJcQR*UE`W&w5dUlfTd)mQ6cs-jd%_v+*BvgHJrH{#M>YP&z+{r&cfieyDsG~v-44Be1&3>3 z<-3~dhX{k2EAjPEiB_{{5Qc%0MA&GCC!0Xp(QoM6Z;y4Bpo%wh~#QZVR(PypIl{FuDQ z23yAp>K^hc^?eHuJy^o2243u;;x5`f7^$y887`ZVWTb{zi>=dDAF-q^I1A^Mi`xyU zXL3?6e**NW3(_7Ht}+3u;4g+nh3JmDuAz4~Cl<8rkkat0GSW5SFSNvo<#PvD6|^7y_WE}ZLo`K#w;y; z{P2XPrc%I25!?X#m*qvK{h3`36?tK0V`#=E%{&%QX#KW*=uJD+eP@;ma`NBh?Fl?e zG>b8Uydht;J%SS!PQ$KMAc$^K129pJhJIP656ddUa_gkdI7nw1a4CCw+(In0eagw^ zAzA5E&6%sK^hNLy7nT}QT-=)|{r1X#2%LB3&LsKY^~Ou-!t;zoCO+K2U%4tv7kRAa zYCLfO<91dvuB;?pN^PFk)Z}A{?(B--m1u~cb6u`+XV81wzv$CM45l^xX2IWv8_?xO zf=jtsVZE@>5YD?ubQ7rS!6#rSbHR(J2hc94y>2Sh+6FFpiQ@x0Sgj_180}K+VgELu z8P9cl=^UJh*FTP~EtjW7indsY=6^czgK)m%8!RT86@WlLSAcbLEvsc3>$!g}Rli;8 z*+^RF_#ky5F%3G99dZ&=?rpSFOqxWw8{M>RL>l?=6d+m2dtT2vD1vqyB2cf`Qra+;l8&c!d)VQMuzs6 z*(f#=cVSXoB}#E>ae}+dY$)QICi04I^?lOf6k8(E+0O*5_T_%!vsIYbAgid6 zIJiXO5-AqBIRRRD9fL zOzLePvd=$Ee3!q&FE>0$RaI?PSE1!Era1#b8N;>|qY7EwFmU2*5}DA}Flwd9E2;Hx zg*sJ`JwzJat-X* zG_mDV^^1pw+WO|N8FPHI^-$zVPO36*)wN<2+txWthb(S#%tMON{V)^7kO&bU4i?f* z9H_dG13)LmbUTD)&2QxWTQ268#5ss*r$D;*^z@}!j749o$jnN5vc_Uh`$1J+E$hX_ zkP3B0<&Bp3{GDXE97!R*L1$qOgp4%ykBs&*QQ5OnmD)a#qe z!oy$4Ff0tOWD!V~^eAH_J{|aPhFkQ2olF?b_!(mA?AfwBLo{X1*Z6$+ZnQ7!iP8)# znVDk5$SGT2D~BUK@WUC~0w!I&ozs_7rD21Qv^;zlF2(_Vw6_)rPjrqD2&jz`^zO&1 z3~oE*!hx?2L<+^x;Dbu&oZ+nfj0J~47XwU2l_d8cN^iqlvMGQOzhV5zN?Nm@Fo(>1 zE8ACB^f;@ye4(e&^ zt1?ZJ=|F4fEx2^e+MY2hUICh8dUkWeaofJO&!K^?9E~FZBa);5WZ^9Z;DSNZ_nxR)`~w_GwtHIy-jEBW>k8L<>QapP zUE#Yo3|R`cRKF=NB0OEyuL4dFGk?!@T_W_9fs}QQ(9j26LMjs*tDe|<`Npzrx$7!G zVA+&|KQH8*N&0p!Hl$ZDLg;m8;g^mgq$O`PCvH?<;QzoR*h$Aof3Wc%VTd?I&@2_mU)1I~t$vN*gMr z8PzC`)EidfQhe8&Bu$-xc^6LZkfrw`<0BaTtbaQQ=68x>m6sYg0_CP2R7S#RX4F;fWM3KamoPvB`Q8g$o6#azNbjU`eH%;&bML zHR#U3=hz2Fd5~S09X-)(&4D`kNl~!a3GL3pivDJ$E#f8osQ*Frn(ld_z^RBaUiYM* z&7i*OUfv{X|I(2c$*Lfc=Qj#E--?zNek7l0HF0g1T~O*&wF)oXoTydWbWs*DVYf^a z)cJiHfK(nwr+nwt>kPPzkJghcp5HyA^bHS|kD%S%D%o$bBPAZ=iEm*ZV7UopqfNYX-ln~E_iB|5OI7PL^Q1WU)3=FXiRc2Pz(MPq zm*-QCS4{-5A5AKu+-$GZ_L@!#wD^Izr`{MfL+=6}Qu10i85ObY9Tu=UZbJKhT!;@P z4^v$H-1nIJQf`pX|J4y^sQa_D@am{qv2~s7JgJtai$b8^U=9id(ubX-BND0`73~OD z3G~^ePKVlMZ#ZCQUK{^0m)9-zLU9uKq1k7kgbj4Wd|a9gyh6Z&Y4KU9(}M&k_MbOH zc(D2iqm!6Vx7#%BWeWq18e296k~|q{KNt;>LYwJj1z&3#_QuL;%+w1-iqwJ0HjMas z3Fi>xirKT1$u`fM4F7Af`dI%2lmJFbLWM{-A2pEnvD8RlkO2YIi3i)@8k}UR6mh*k zRZeHIT#+#PAf?@TIEUn0Ky{kQg9?qcT<1G-HcyK|`lh*NiUR$lH>>X7_lj{WY_V6; z1pRHBFT@KP4*3_~hq=t&6dQi^y5s+qo{ljfM?Hqjq@~3clx9@K3Vr15qAgAXnex#J zO}83L+P6Xk`l*qE#iq867TKRY57Z)L)A)pq{zyB17hQe9yD28Av9xkVy)6*V%mJnM zLp9$EK8N4m*sv#<`)#msW#<2SO^BZKhr(&xv1b--4d%fXX+7m`unNq&(i4f-yYDaE z5qRuFS`+9Zp#KCS`Kj@H@XvtOT5UrENEZ;S?7)U+tbxa#W@{eVV>#*qd7h|a&kmj1?*TrfX3&&P4Z3!E?a%UdVq1h!}v9GVB`6m1`74z#8-6En@7qM1R@jXH!k(S z#=Edv{E1tvDNMQ4aZ(;fSb{qXUT><(49a9B-a<^ZK5&+hWK5SQBDn4*bWg@U%B`!L+196 zYvFxoG8_&gOlUq?xr=~=9fj*5iw<4`^8AG~a@4xiB2yYrXa5JT2{PO;gYt9Txs~Ry zrOvCZR}`0kpKhR%@*C@wz*B723j-mO5MI5xeEKMJa}fBba;#}yS*!MYB0inY?E_Ws zHCWJrrNERY;EFD@ee8;4DxyF10(&F13y5T5(|BNB9M=bUDB3eW<7A7!mcZ$7mLP@% z0L#lF;P~5^+Xv?NIOm^{pEpWh!^#)k8MTF2e7} zYGnKz7By-vWTbIR*S24?iL91*gAX6BrRwLU2s=y#G3MT`M$L^u8TX>m3KOjEm8XC9 zRs{PA0v{F12KWBMjXoP$W^cYt7ZYMe({F(ehphP~)(KTtxt@7<CAQ z!X1H`$Pez2Wo7~#Li^BGO)CR>c?!sOy7lvCPxAFRH*4Csvwo1uo9q0Fpus+Y^k4(K z(i&{eag*G>m#y0`ZwadC+-U;Bwcya5Sse`)0s1e;8Sz?pwHaH$}r_UM#7+{KsTYc6+V+-1lTvgdq z;Atd=e!-}3w?x-4T0!h%T~;$tpBwm`VIZ=7LqtQ{Rr?&WT_j9J8}f@8^JuP;R@W*t z5GZa1wxhbw3#7*JvaLJQ&g3UcL(7=)5EtG4ihSTLw&th&cXwwx)K4lL0^Pi2K4>^EUP9QnBDe> zmW6v34TDZ)&&z?a8}p(KqJXbmG-$PN+mvUU@Rv?}=-o%x4va$`-Bjd<;Cww@>1{}9 z<~|H!GFFN@{j5}yCGjd?4z4F4MdQEFK6IsP$cgN|9m72bcL!{+N5?gw_^Uwb5<`irF$4uh^XMo4}d6kt+drBHP| z7&c`3AT-&u=+2(G;TG4d*iX|A4z)P=0i3|tw#>j1c&^bbgs4ih==H6LMwvk(xb6NC z9JjhiDDqI1CQLS(q`^7$5m}|&&Wv2|RC(Docub5ijngspum@W$`!v$gD{LJbGt}$=h2RgsZX;SY_1~Aml z&);V98{jT{px2>`=G$vLFj=-FnLS)EiT@niYMaNg(CaHd zp)S}DH($J+?ftqAVQQl3=!qh^tKA5LERXwmkHfQy+;S09WqZ2M=Kir znbCBx#72E;Ti<7e_PlXb?F)pkj)~KYBbvXdji{GKnj120{NpqWsq@LL0t)!b2DdY6g&ohM!OBRM2zs5fgKCPrr z+^Bq(8oQPK{c@GltQ_udo;=0-ry5RqoY9}<{(3BT)OD14jZq@tPU!zOl)qVI%WKV0#LMk9oD0s<{ zfEEq2pLU-Ou6dC_-v*lL%2kMs$q_9!{>#ibZTjv6%T~{l1?U~k-W5QJZXyCtz@M^a zflqp=MvS>I$Shn%X}JVP9bI~#O3~kZ5@)4{{DPWc9$m-wa*2~!j;X=*VdX7g5c&3& zqj0b2b;Xa&tbdVn;@Zj0ko!zFuh6-2KtiSV*)Yonu*Xqf#GjqvwBIMtISz^>(e%u_}E2QSUR&|pNUU(Q=>uuh$`*2(WBZ|$-k0*ZC1I6aG5)2osZ4do!c zR*Zg2v=P%8`@no`%^<&6kX24{C4T3IOhSu@E~cqx?7p6tu&?mH0Bs zZN9cG3apYY!L!f+nCRvx@N?RgUD#W#iz#T>J~huQs6RAx&2tOoaU%L7RuZM;XX_YS zDqLS#J%g9)V$fKedF0J+gm7Mm*{qC;&ukAWOv}=mznk}tzG6aRVvxGJy(!>_%5Y{E z05l{)4$kal%rmf`sps_i`&y>Ek&Vr1NfxPUxZcXgGMHNBe5mQHAQLiPiY@xrZ7WLE zqg}?9T|O7#O#@krD#8kN{tPFHQ-!D5PN6o&_L2!zWACoN@}`nrlLgdIjn-F;(1+T1 zr?x%cb`MY#1Cf>R`y_OdF(;h)y#vy>~78n+!}H?_8xs~(65rrkB+${j22MZ3@s zhYdI*Bp`?ju218bTMI;zL|bJZVyp~-BkG7vdct>uVm7q;YyZ;4MVOHQr-Yl~`r&OG z7>S!>vJNrm@Q72&6bzqGj>bJKs>~W=*EVR{tLJxCHNyi{i8cnCaFpOUgOPYaU<{Ho zNAqle&frpE2#=#wPGP=t@0ERwTtq!sb%z*W&6HN)5>T(-PteX9}sJ_Ly`2XFK= zB0x2RGX*_x&=T&m9L-V=)iU_Ajp`+o8b9WxmIa%18$;!V(K#Q*IJ;r1YH623zaVDkzq6Y(o2J*PZhrW1>d$tV&a$&N87L&5 z&V9k>@^S=U=twnIs)#L4=0hNjFx_B()6?_6&7<{5Cn;a4&F#EO>Cc|jvB@+Rp5~5C zzhHOH{nyw}P=|eIgGWs2v{oQA(H_tdNOXlB>1WW%PEeK>5}b!+#Yb&wCLWq>Cy_r) zlYPSQ@2kaxMXeCquWK{^1yphXXI>+=JEn!UZ&Gr1-E1cULz|Mfw;2`#>Y{%FsN$$? z*qQ9+rweZ7zL}N0C27W4D}aOBUpk>vUCGW=+RE54m;@Le(e$wGpoTN!lsDv|(d5;_ z8&#;-2|6R>5CcH#v)Y2j>tKM;m7B2CVBW1Dg)1ECQT7_s!p!c;Ps3xXQ!KYDLnl&a zdA6NLhd7PaKzOQw5H6(4@3r4dSG&}3qORB!rL^JmePu3u>njX*L`4#UmXb$rAORIj z*EFyCazEa1Y5`-;9Cv2wPAH9>B?5;PxRA(f-2X(a)YF~>R|#9k;}U74noYVeQ8QvP zdlXjf_1Ab}&q#zh+}}&xfRS9@M;XKO|5*m=)yGzz!0C0xc-L zgslyi7*UbDGQ$uVv5w7AiVk$sny4%gMkq6ZCS>Y_F2m?)Xy{}%H+TvD^8cSn4I80E z|Lp&tCN*&WZ&JgWvIB0wTEpS>hM94-Bi6Q9@>p9k?)HE51~;s0k8w6^R*RWGpTC^w zX0yG_Go#usQtD{{KzKmFKmb6%fG~h>aiTxSd;TyGfgk_kKk|yd&%dA_eB*ET{V)E* z-+9_Se^@~_|78V092*aW_q6-+*`@ZFgX{NGzyFAHsL@>XM(rc!#8vQ^l*zWlzg+hHl&km&u_2MEfFP-SA2po8FFOs9XZ8`e$(*s#ULc zwGkvnJj#lSx6`*p^vQ_Z9K}!S43%&ySa&V@q;4D61h2NR*$C$9m6D6J>YgCV6Z~PI z^NHujwB|P!T>5Xq369+pi@FjsFNIXTgKpf>I=QTs46>z;!fr!XG}9&eMxmUI_qCk2 zBIGPpHqK`K@Ble9<+^h`SBrg8FuSiQO)ckn1L|2LypN@L`0d8B?_dUJ+I8iCkP*hr|@99is$C1Qc}prDgAd2|M{eX0Su+D-fxbDwihDy6zcjXw5eMENBS^p>mgqE^h%cR2>6ohV)WqHxx)wodd+dn_xm8 zeT82UNSNs_=MBcOF~2Tr$oELVc+sjkeOK@wt`=Lj%v6gX7f|z)K9ABr43HGP$f(o~k;o$v+(H$A5Z&>6 zmC&0=-s`w0vBG|GfuCMl;SkV$=y=@=+WSI%XOP?Y{=&SjwWm6ibNB)dtj?#M?yDVw z#{8TImN^CjgOwC|JnOFNGgSi%j$QR=4^xxV& zlwtIX+lj}GsN$!8=|6N3X{c7G{my8kE9`Jkv}vB_*MKZkHg!FtUge3 zC|UyX^O?l>geiyXf~-Xk^>ujU7udr($cldV4IWkBzA1gXHZgM|rxtIS&I^AnoobYr zO6+NCTH++34y%u`GNVDzcA`7BFCP2c{FGnZ8@v8e9+$Imbz7txX1|0sSGO;yPi;;g zRQHq43Ohw{h!ojGaqRN1fvo1<`(11lD@Nrk)9K?nqC)qUPW_fHsRdI*PgPTDh+3;E zPG+rLEa}7nS|#a8R;aNWDnI3H$+Q{afo5FJYF)9%62!}D5x$@VhZq~%lU3r^5(g)V zKd0K>K=trdt%5l0b?Gnxs7rFP#51Dt)Ws=huBN&IsQElG)FDWo>+CxixLG8ZdvF#1 z=spTYkvu44ku75~b53h$!EldKI}RqzQO)15xq{#a#sWk==Ru~;l8$FgI5?0VPqvVi z^`)seX`xbuNVH3L0*~cm0<#!QIjcLOHJXN@mQhx2&Mk-tWk+1a7tQY<8V>+sh(?8qBWg<`ODLER+X&QgmCq z9hhHWdz>0lZmasZhEOO?7kPmbXT6j0)>A18%&7}1FW)&(!KaQL3MEjX-oWRd*rkb* z2}6biuR2p)ui&F}GDFI;lN`Lut5G9z662-NM9>M31aDjPSXtFNtd#dlQS zlY55_l{SBuJHP;8PU#M1co=BH$FHf>w7pZuvp@wFD0_8XNQS}5N&f{wC|3z1>`B-l zu@f_!;9iGqai;MxvTtVv5(=I@goG;qm92Hg`ZL`vhnP^xK_+8ibvMGT zy+BD4pSL($h7+dALlAV7(9xf#7Yyyu$f#m8_as;gzhrlTSbb4->nQ`erm533&R8*m znMZiR3Wsse)w#HpGoMx}S?*Y`iR(yQ1Q=f9yF+auA?it$o|~Ch5RzqE-7+Sj9x)Tu zxh7?OFK&2*_`VKyEk&o*!xnW!C!x=J^ zpM)G^LM%Xs$6S&(jXi36B$ls&XMS%qqa?gyOFz7HbOqloI=7oFc_)k2W*%J5R>(T_ z@e|WMZ5@y5lp0(&mN}Xqa@V!~^qVGs4(YJhGT>|=$F;RO-}%j8!dBcZkv>iMzR`=J zw98`1Z!sE@u0vrwArKN?G`dTHG>VA0Fb-UlgU&^g#RZ$RwNpkE1NIPqY|O|B+SL5! zJnOslUxJsvz_|bZoeTB$UVZ2-gZ#Xj$QAf77y`?-D?bRg|?wL~1^FRApqoyX@T-o~x|{%4#g@ z{rB@DN|o zMb$%`j_*y{9bo!wudjpA_njFeZd`tQ?NvV)zNPp`c&p9>9upXORY7x4%&}`SpkSF; zIKU$hc~l(UlLzqhmq5P~cp4X;yH{yuitK0Tb}JX>sv7+qyz9|NGFQhtP8Q%c<^o$0 z3}BnSX{cGNeW}mTzqa`TVX+7R(jc4g5s?#yTe)H1)75AJ9Mepe$Mf))DD;RYErg#-cQih%@bOR*`0WZep5&jn)aldCM5=(X7f#b_G@ba;0 zz5PH2R+ZhG3eEnmaO(TLc+G=lk52Qh(HF~N+e6&bAmDS?z@U4euwt6aMAK6Mn5 z^hQLf5_d5=V%2Gn&8lxZX^?U;fu%g93_8s$&6{N%uNiJdu7)azL%lx(YyA)M!nQ+x zejRp`+LfD&65(&Xrs!!)5HBdcf{Y_z>90F?lAlKh#K$Mq)ocv8?u9^;EZVWu#%^s8 zueLS@i7sUIKMGPCTAPTj&pLW0WIj7MS!}4*l;x4fnv__0mp4Q9lU3DT#n(d2FLX90 zVL@+hdrACrCR@|4ri;8PoIzadn~jvyr|gss0CccGOXAOLKu=8gRFBx{_rF{6_Ai|w zMkNz!@E_TH%uu1^+XC99Vlg8(fnm}&vLiK*MBy-M>BCB(hxjSn_FeoAI*+COhS@$3 zF%7US(K(g=H=ktNce5$AZI!wHCmIh9nV2VdUn69=j3gzKFXXV>xfc%H%hiFHZj$I! z9Xe%kVC9=k0;)2vM@5NlNH8?*5N`9IQ=lp_k-47%y`dWQa+> zZxcrA(Le|mofXTkmCO>m3yE16I}Dh**EE<#?NI(yv-nh<;-AD6h?C@cGf{SW8&O`L zzXJ!pUn&PI%+248EX}=12s#GGpq!9${w_9*2th-& zl064%PYi24REFhM^r#SYXeKxyJ6%7U)3ZQ*EZTG9)AA)etFpbPfTgi1twM87%Kb@7 znoX6sAmu)Wtui9c>*{@stm#x}@ar2g2=(S&9@XR3qSMF!n0eO?6+UZusIMtDc}vZF zIw+kn<=rc&S0fU1;|$>O*$`(9o{goq@yhHI$<*&XsF(JScP$NP74B*i8a>360 zLJ--l4Otk$h3d6Zon+LwefM81@h&528bG0+0d`IJl8VzBm#I&BaLz&`_I1MGx^Fhf_n4#~ePY9uZ z57kfk+hlRIsi5-1edN9Lw^!;BguuJ(@S7^gndSdrI8)z_RFvA4)^qn8&0M35%s@y< zEy5P)DNPl*POwm_IxD3iyWo=558-=ak#&cF)$R|(C_a}`1QNsYB0F`Xt0&??vm(Ph zXdOq+{ENa|3s(i>04`bE%UX_UM;J9ae|MFZIlL7A`HSN5EnWuEb1(vFYFuJi?$EhW zbEaLx>dgd_btw9gZ#el1za2(~LQ@qpl77Ww#g=y4o*h(?4c7+k;PP&mO!z^?9iXiI zmvaIoI*_t~q#RisDK=GnaOWlh`PV_~mDs;dNgAP#yOma>K=L2i{=ixbv07_OV3;Rx z9Y%Xa+O1ov-BL_js0lR9Vrr6{-t+W*J9|R}Gql#Xh@+(3;TrlO8}Ua(ux$qMmF*HX z67X8~-|f-gxGr5Kg|)x8v84N2*V!VE&z*58#plGnO+-p6e`uIF$3?CBrQE# zAzI0%fYJm5v2wIMc$r7iBHDOeaAr3FCsXfN*%nCg=}!CzMn`~bQaira&+q|ry+-F2 z)dqEyF^{KKnyz~$bDL-YI|kc>>{`5f4*ND`u^BHMHVYXX}0?#S(nz3@loun_}Y_@HC-q?7*Mgs`$D}jP<5@C5G^Sn&tpx3 z6?9 zT)#t0%cnHy8U^a3Eh3{9_KCpO@ z!Zf)6>wC0)*c{4o=A0kOCl#~{E&QZ)CZ1&P00o`{{Ir|x$@=2{zI85Kod7Z*)Q7KX zpVqqAq#x*SP>qH0ulwU!Tg!VL;%N-(Dh3`rE1(2Fdm?~0R&?u3>L3ZCZ4Uc4E@5{h zm0J9ojn>kqnuyl7Clw};#P0_4zqVd1scbaLn|ROkAGgXiM5r7I_5l*kdl72EU^$;UtU0%cVK}-K(yTOO zLBFaK!ds+5knzM#GJlSghu?=*LNdo?18Foy;BxTxVX4g`OGTu3FnpiB-sX`hUTaH% zj{!$8bG&SCRV3bvU}q*)L<0EwD4E0wVu5<`Okt~Vx6(fajR_lkrq#)b~&J z1sG{@!x69Jo_oEdj(4+;%eRM4{Z1m+_2!|E3J>X_>1Y6|s!oS_Tq2~0I47yC8b6SqJRkKd}#t*^1A|mhx8+Bm2?2J;U zW>_6&N7<2SF-yr58{K=JXCV9j-2j2O+e}nyfCuNHQDC?oGcR0uz1C1#iMuj`S^gQ3 zkg)tab+sg6mWaE8h++=DE8)O3AhPL+~ zzrjOTRl;qsMhBLSW?ySO=@VqV&*J6yXILepz@)@d)58tA+Lrg8x~x9hG%A(shumw7 zEk)u72t}<@p|bIm6SmP?*+iOyL&CA^-#4OQKG=U84=y`WJ)3()x%pj4;mF=ba{UxH z@l8ZC3p|M+JrrWRCf-(FhUihSmrCAoNJ-J&iFrqTFNE>uZ_x7VG858TZ%Qrm%Ff2E ziVd?_^4|^Ybp#aJbzaQf+^IBus8&Hi0I6i9!0dO6FTf905}G`DTA9B)bTq1kk{o1p z#3ZCKWpB#|s~`2&KeCoIV46e)iE^p%S8oq{(SL*-WPE)^7d8f+A~gXFP^?@CIezAn zTHZuS3fjNO^D4?-j&(h{KlYTkTh$Wui>4CpqnN_QKXrwiBovrtN(|OuaQPF9i$szhAZ8~7Mm>w)kqvs0)JoRPg1n~N23Eo z?Fl6svV=OytY-&WDyG4PJl0;yL1yIX3&;QCF8_%x&P80{BopG%scyv~Nz zb339t@S5;NHlc=`5MfBQ&g2{osZ~y2CxL%W>aZqP1B)z6zBbX&pG@s!Xno3EDbPPX zs0BZZE(+DzcU}9^tnM*ZxJkE^La8}MBwR$e_v9JlCMU@+O7PT0ti>pv7p99I44$s= z%zml%QdKgNiJBqazr}2W#^VO#?M2!Q4gO zXv0<<5nB#=eBy%n%cQ{a)oLwtS7;%o$v>6xIO+b` z1k->EQ`j+JxmJh)i5;ZJ;q*Z`A(iir)Zm$xXA!?x169n^zsNgId!MDZAw8=H>_oQU zOW|_M4lHD^OZ82ACgMAY)|eP%od3Pp!7lO+bZ`fy5^4nZsnSe@&$r<+4A5^3tKK^q za`tc_PRyF*P-)3VB*zh{EYe#y{S9^<^Zkg0?G)``Wzl=sThqwc*G}7^#+E7$fwjh3zLc97@*|?O81*lO4_$kWsdc)F< zcAJBqnZJwDA=&>3eC2ZE)S<+RQHjCcop^=Z=A0ltNcaGdZvrWjt_27ynMW8TM08AY zMMJ|WiHER`Ei)!vA;w~A=`$~|06LIiOgJ%nnfo-+ur|jh5>JaxKZyvQ*QjH`#r)YG zQVT!WYK0IpuKboa(tC<@_t6OWvQEuEQF``cNWw{82-ss?QvmScHpkOBNn2^(bF)jh z!S;!;NY7vQ&!CNSo)|`wEY&Nu9NEox;sJPcS-k*KoWM*pFfm5d8uFW z^MwK&5BVssB-y<>Y;dDxv^GWk=5~&y+`w&e(Y-3lz zu!fOe4_cNXU{3K2+}6twSEn2$BtEcFAJ86zbLU8LWEM?J%4M^579~Y>`#n<(e7{17 zWwT@uO^GIOQ!}(s6i!=!)Jr3laH^MQE3>i6*e<~P%;e?@kM^7I!zPhu>Bqh$zgI89 zHS&E3Ih@i=awf3xfs^GZ+hy6Q>WHP1j&I*5z@R)*f3H8!_&{M2)=q_UN4Vj>eZN!7C5V}K3 z-ue_sk?JPR%<4c8+m9x^12>!EXSc(cPF+5I2gc0ohQU8EU)0Vv&Ect-nhCdr+DY9r zf!bTL`Y?jLEP7)$bDT8nb55oUPZa;BygA>1n@%(INp zTaL_B3cB*gl-`V`A;(QSIj+g2f`~q`BE7r0nb=Y*PBA#T#Y)qOn{2x z(jV*@ZAt3hB^&ZH5sKQsL1r;b-KkAofKfvH)+A?fTJ_brT2l;Y=m(B`1~;FbyE2)a zw;vn}BUZ_! zRjGME)HaHX0j?o$d2NOGZ+7_usF*HVFGNp9cy;#WN9uR@5Sx?xK|?Je7rkeT zgtv6pAk#0SyMbcMT4Uy+|ercq|wjk;HT8ZSbZ=~t{qmjsq#wsI<-C=!)4 zays8nMM4T8@TIgEugX(>YPyHyO?qyEl!#lauR1h+?|hBupg@&wLZ_zKyj^<$y7E=a zCWYrI@q-u~d=bw#=&tfe589nc=P-k1z)~-!w!gbMB^c%M21}gk&$r(vh)eo(Rpa!z zetwgg{2{2gVXp)q?s^3eox@Tvay^F`?OBAv>6E)eFD*GF4u2(>8C49Axg*-3e1Pu% z3~LWv{g0~k(L%eLy?#xy4kdt7F`FK!5bndq>Kb}f73f3DfX&Kj6(<#%LpzY)kB}VU z(3?f6Ff3I@X)l$p9vNO_g`YWom9yO#OTE|P+Akj7V-sYLCp|3V>mi>unGL(Os)SnmVPpv-xgY+iQNf` zg0@Q?>zyA20o2b;19l#GBFdlhfx70(4lyHls(pMA-HEY|&lRQh*Jt5@7CJ@uO1e5r2vk9L<)*z@K zfl5Yyi5rfT#g{zI8rjBfd@Lc@kDOg)?$L*aaIGtv6rRerwleI$SfA_IN7B!-_Kd1# zI+DP%%B?vdxJ~bs-bZV4tpPlkdQ+Ecb`#SI?jBY{A?~WmvF&cc@4!ck(RNwCV!#yM z!GJVxSy;Vvp>{(`{IRWdVZKf;W>WXct<2TXC#J*?a_8}(H%e8vodBJvoc~20HC^z_ zi_stH6RUW8Na$vH$Zj=O)ja#plh;8GG6r0mi(-!&`RlWT;L|j{Ge*jBHjiML*lw$G zI}F{r4k>f;dDL(nTLl$+c8)!G4R&d%cKJ15)KvT@W8or_V_nGa!KW?#HKGrfG z8mAUzCgElAljhD)vS#m>LL_@i0|vpPkTvQ$4j2xqcs#UEG!(`M~etea8YjV!ZED*jlG~bWrRh6xXOJ!CL@8KK(5So3pn_ptN zF4xv+$Oiy#z+%1$av=exMUQ8c5jPSRUW|kK=DPJma=WYYe}VAYwZXr#^41pC<;_3Djk}m zMq_>?PS;fLtkT7F5Xdv^ zLd-A;2z~qGTtH;jg&KO=6T7*{^A%o`T?wPL1Dnt&h7}u%pjYjk-iJXp zX-a~3*XNGWiX#JzVA;kXsLt%jUMOb*0$`|aTD{$1iD^_WCntHqouZb6xY<*Of*a@o z3NWhKS6#r>B@<<26a6)UUmJqe zwOhxDT(x%1PeMgxW8K=0Ju!0-Kw42Zr5vF$49&d%{WtM!i>+sF&r5bsxeadh~uTS|y(yndrT^ ziY;P}`*xxcIT3Q?5|T@h6>S&CR|o5iWL-AIcp?7J+sQE znwd1j3q9h)2ERr8F$YV}4gYK@Bjlki7n}Km=QWjUC78B1eH+|YuPl839opg_D~uY% zvUjl$naLE6xh@4nNktF1Y2SR|qS6Ie_j2B%9_K)0z12+E;oL+=`Q<3h^DpzFWEsVUu7gyoPnKBxc=-=JmAiK=Tk=;+U*4I zzf+w+x^eMrzJzxPczCJH+AV7Mgt8RpSH4>tx;;G4K?Zy-d+0}#N*DeQwQ}Fn9aY8>KFO;*Y{PhK=~Ny z4KT%dw}TvoTV3to56}wrQpn}H3~6*1=NHo~FKbG82Rl4xziE9_t@c`ARyNh7q#Usg z!JGL5yI}SAd7lDAA@Vc^{2JYGr+Oj=ugvg4m+)68EB5RTo8cRFLFQjn%>ksbY*?Br z79*jDUeCEI6BR-Di}xp4uy~g%-^lnm>;E_mb=@aksQW^iv;sq|vVe~K7z)s-3VRAH z+?FY$3`Lfv3*dZpLTKHbE}~g4H#NYax9LYgWdd~zczuNRv#5!uCh>8E;DCO84>=2D z2w^J@Bh)Js9BXkM;fxkYv#HdwbVr~mR5A3u6Q5x+uSetE$1=QA<15_bWOXzjzyMpU zH7i^tor=I4XYNz)$^W%6z+j~&9s2f|XfC{bo5+&uZrbG z-w>Saa?FL^Vl>@uwGh8O4B5-@*NE(=ZzuEfq=UJqY1HU9;ty!{GDc;mCu*oW{oOSP zby?8d)d4)SEX;`A*0tqqigs`{W8ykX^(+MNhEp)v%cuhv5tL`jd}0|9{Cm) z{z2OMqki|ls34TB_vJtD%P&~AB5oV-Ib zn+|R^mDnRniMuQJlg*VTD54IffvtXVwMbK}oaoiVs>YpIGlxjA!LSF~o-;3K^15GE z*$I&V_ec1a134@|U|J(|{-wpQ&$5V8nvpn?fs^qny^%>RT_U=TfC~npf zz9~XJElX!H4`yf8Ju#`iFP9n#|2L^(`{%;zR5d2A0ys#N{$4uxISmB9?$InZ8y~HV z=jhY?bto2mNC&=!fSw;#Q#5s80S|;qY%LqhT_(c5#p&EUojja1ZGU$(ylna0ZBomp zEWjEdxMBk2GW}_!QBh4dMO&QJWBAy}Qnmzc#K1m*nSov3z=vXZ{`DWW=s0z|qdFsX85!{Xo75)z&IUJ{G}T|8 z<}lhW$M~VTBgQA1d+M%aeUflgn=k2z$OCaBNRD*!9qQSS41BG%c%{)Qgo`q%Ct=NQ zWNd-f%x1^er)8P@VVFz?F*2kDQ-TB``k*l5P^YMvgVDj;PDTMb%$7Mul1o>KQt`T? z^m^$#(x&qlau%UUMbG*LAi4Buf=fmHz4M%J%4$sl-K7@XR1x&>CMYvevYw1u=gVCNI^W)FW0^N4 zS0K+W^2jr*&+v}8jZ zYEkLQr#LT!u86Iq4(O@I4sY8dX0-cG)Y&N$qCsmQJEyg`Y>w=-7AFz) zaafc%ZAung^-&ebV4KR1ea@ z!b{xJD^DPXhXzvinFBUyce#vpnm<8~MoW$_Zozi+470qQQ#Ab}cX&Wz{#`Lbo^a$H zmgoyJNNQ6YC{3dNAo^NNrU`h+34>%VQa$AL2U?@1aCo!wyD(sRje!s>y)tQFQTK|E z$`>GVrV$BAIj%_P?XK{y>uswpmAiqoxMS>-rW7t`T3<{eL-~$Z@p>1&kCJ1s6(~eZ z{M(6_RjZb`>b*~0B}@;lAmj#8IVd-cdcJs2`kkqUb2Uy!#c9y_bW-Z>VVO4ExFD1#k@) zwwC)PvCb6vDc5r<%Af|!{r4N~Hq4kLoGLrJ0I=38xad;rW}>mnjv{1aFlVm#%JD-AV2MUPeKb%(ul z@YHxu^{#D#cY0JvxTpNR1@sxzG#R#i;DW%oqwL{d3kY>iile3Fr5W5fuYujNMBi!F zeK9*x>?chHCsPb#*Di3o^#!8m&C=I!jnS|KZhY{0Zxh(Ed@e^dGr^Ms?RjdJ@_lx4 z_{1VguOv2gqs+2*jtW!!cbW!T?2CP5t7dy z3#-rEjvmM4sQj~>($wAvC61Ei-#1}Pl@RuWu+Esm{w4CClLEx2#WKUq04TIo`ci_V zD2viOCoGxzz8XuyhpO=PDU@bX$X$DcDX;6)l?7Wi%G?r+{K8GOVlV?0ntrR*nV^~u z5l|rdm{{MB?s$l{N~KEVl`IR1d_XGGq;50@ny5QNi!!Cue6Y|JQ*XnWZ$F^GOYx^W z3`ajp51s#9I%z8|jJS8~{Fp1_vDa)tWggRIU0r?AK-H+c{>p<`T&LXlD zJjiB`zb^O5Mn{#jF`&sUvbzl_Dm>1`a-bdeA`%b4*;}|7#qQ&d1BWFR<7-LuM9fJ& z-OS}yRCmE!>HOj)roDg(+h9dX(2X`Vn;_|t@mA8;Oi#3v?)Puv11CTN1?h)t-9U~P z#KSOFhR);)We@a!S37TGKmZ-FPtx1E={x=@B`B^Rw%K{?H||sDLTn6xWjsR286_UD zeIY`lrs-=IR|)S=*qv0NRN5)VP*Z~?4LbiwW`UsI~QnRAkIudD6Q34+i)7)%>mYfvRgc z%7;S**!0%(7&k)5N#wD=yXDxqHhV=E&fKo=^S z%-*V3k`1vV)tbVNKzr*Fv7!Ab<+O6k5BuT3$eXg4y^G#DYCy`TiWN1ibQWckvaaW( za49a|ouF+AD;rB9ZiQv^$oet>VNczM&V7xemxW4HZO$XLgCp z`O>jnpzKIu>XfZM-%$pa;zK1v5ae?2#GP-^k#q?94POLzXNDznZK}R)FLNBJO7dX_ z5iL>*snilJs!VU3_;7Dt>6(X1rld?@z}2t~oduzyMoGSPnNwW7_aa-@Wx?ADH_<4@ zfB3}Fg&@@zUZZAOv-Ffu6MNV)KR(M8ZM;}(VO@4KD!{%KO7|o;Cy6VTJMinmkfKcH z8Vs5vPKrxjtHuP}S%)aSZAO|E3Y^s^5G^4Mlr;%y8RG~UgnjlezkkervVJlStS+1 z-6^Yjy0O8J(+!ToUvlv29ge>=s2#d@0?fmO_$8}%1(5>!DQH@>SVbX{+G#|tU|58| z$OwXloLIwL-Q1bR*e5{uC2Utqukqgd?eT8)!Z|YRd#g+5FzsDe}61&2{Un|B4<#atKs(J@){aQeSeeGS+;HLeCEM z4KHNtLEHHe!sb77m2HmP_aE$_jgg=U?_7Et_pOcMZm)rDeWWJhr&-l`VjSId>?@X@ zt)TfT!Q5CBwWDFt$<(rbYt0$*iNla>Op|Vy?R6th_)9x14~K2}D}uDo2;Rug2>59mSwCpMDA;p`p*WBAep^5w)!<-)+s1qyZcmB9!@pO{@Ep|B# z;OoG78gBZxb;tEGkD1Jiqj00&5l<9Ks_j|}B}c2UnW^}_7O;*oA^EV1a}M2P;}AEv zisTm;$^{9YaB&*bQdwd8e5Dho23zk{@)_B}P!bA#pje}y9pX-*2 z$D2{~Nlx?MZ`2OCVe(QDKjNK4VyoRwwX&itUp-)8+LWl^_6!7ur|gTN!3))E03z$K zkYj5z^f&3h7``_qlaL?3JsTLO4{PEbnnr_Y`U8PZ_E&Nfsw#j%Is6vW>Fe2dtuyg^|FI(w_AK5AfZC9d?Va!qQm^kqe6pFlrc$ zdHtrcWXTFXzF>k#2)o6a;T!M0wvvfmpEJ*aoZnvBl1ld7x*v zM5TQNVuqRPVo&AXCz_aUbvP+qhMJei)?h|T6ENT~ULdT&vOD|%;ci}`MHj+04cV5H ziCC0rZe#$G%tNa_BXxT$YVMQNtREZB1^#Lstq$rP)6D>eXiE8$S*Q1R@?Wg*_Z7WZ}Q=@Z~l$;bDp}^R-5Gn|)rF1#lgwQWNwu%T3x{ETD=Pn{Wj^ z=GCha{U_karbo7`H*_W&?G&6O_i4v@z=BCZwebjJ!vOBLL)M3$TC}cG>%ahsA{hl) ziJ5hk@IjdOkr7iODoiz9!0T6~3cShF*m~#0o8+0@#+8x8+kQ8552v#&qLWf|Zoc&C z?)w1uWS{!TJfdlv&$ptfz?kY%9RS2Nx$$60c-Ty2{A|oMqSgoxTm~t93SC(g8yC99 ze;42SUy5}II^u~<9Zp3HPOEnA=?MCUeYxq1m$D8E3TTJsp|-S1U;%HqBw#}7&=@C9 zOw^)(=VTvGz&ZnLz7JgEQM4J-#=Y+wjZ9;2PfVuyMy!snnx3n z0W#?YUu-nyb_07vwr-x9v`_5^t{h;qP-KXz-p5h9HE;NN2sA~3)e%sjRz?X8&eq-|FKys*fBSbcj1^)pt8fWJ2MhJ8N@if0l(12 z^v#A5h3SCo7(NXKK8JN(P>+FW=4IFG>v8_1Tf^`c3D|2Z4Q;oiaAb8=8iJl8Hw)x+ z-a{mF8v9-xVLLUjP*p>hR%y(QV*$s`R3~`{;~qO)Oak|*mu)yKs_QRj1V zhw`C6T&#`Hi;h8oXZ?H^Z1jKz_Oy^jCy-X0*U=K?!N%o3AD)um3Mya8MDnl54KS3p zUNG1m%W6YM86>*}G_SuvR9}u*7YYcBqLO-^w{5$@1Vsvfs#Ppjq1o{^d{`Y@6RM5}OfTslAXKLqlp^ za1N#O!|m+^YivJg1^7;?L_dn6K>iCBLxa5<%7Kw)FlxL{xzCpB0p-Fu>XcsAG(cB; zH?DB%@i$S6X$mN`gvFy$q6imUnrqKnJnySYatB#)BFPLZk3|iqaU#T#I*H&&%5jau zX4ed~12^g-!r^|5CP$Vx)QH^Q;O)s5|$qFv3iEv`d6UN$NqMaEvh; z+FH)G9>~Pl6BcVu@T`Py2a=#N)J;y6j)||i`1SDc2l&6KhV%56c!&REs)2#&f2f8z zBV|(m)%ypojaD0WOmf*)8>2>>t#q<3)5?if7qYbpaw|vKm)$d+x1k-YpS4e)^{=7S zG_z2l;J`qkz`(%Jkig$K|3Ao2KN$bekH67xd4|82KhQt^(a*cyKfl4hJgvY#tVkrN z$Y;OTKfBcUkS?h_P`d z?*=e&(Tbv`H5aXLvI+uPAE-G$H2-&U$3tmI9F;d>y=tA8ByL`M$v@?r>axh8;zh(L z!um+Gy|g)l09Jl_CvYt)RXXUbfBDE+Cb~*YOBSx{Mk+bM1Q*l7r~hsvc|3eup+h$D zgh!A^s&)2Ag*J{XguSovM*;j2!nGN1_`T06P>>`;6@Dr}H#hKZLQuf%P_fA#4(Fah?kCb}Hc^Z%P0 zDsl-x>6P2B9(XmCw$h{}#}_>O zBrcFe`jV?uglv5|w!d{&2-}{r5A}MTH4<5eXn$48|Jqjek!r(vkZ4kO$3rtp5AD5H zd|u}NV|_IEX-D2hv9Vher{P^8t)6ncb6T3b(q^8Sck_!p^OJGS#Vc-g$Q%9h@I88y za)XtUaY|R>>rRCg>=XoXh65kk>gKE;{AJdOUd6Rjyzcr31=4OTE2G94v6OJizogc2Sm z-rg0hHc2@tQ)-9enQTFZ-EA-T*%}jjmdHTZK2QhuC{H~05~`rCy!oOA|IFGuNy8Gf z>ZsfA6$P834`)xf4Gz(0J0yDY)9G1s67o75QZA_#lCK3G;K!g*{IVk%10W;;PHeYH zl$$JN;aBT3HsfQO?ePgqg&7vG%G9gPs2B?L<56Y53s)uk_oWP2{la|PbuPz|u^#_{ zzBR!AEfaMuQwwBXPHiw>dxNq?m@@)a%vXT zXJpt*8JZHvXw)bdMDrqRuAzC7>D@^XmauS*q+dKY7M4)0a&?)DEMyPHB@9HS~* zUrG--3d@iD;Xxw_V@@lBeZ{PkZ}9q|%IiU723EM|s8fp_e>5TYxqpQJ=Grq%VtIii zvMcdtV6#(}1Ty;L^A*BAeWq}dHyMLY8uI3rkRGm==m=R19GOmeA!CF-)~)uCC5U7r9as!*#|fazKRt**_6lLBY!dBc)%oa&koxdGyYl1w0Ej z9kZp;5Ge9yIiUoGmq%Ysm|+$5pirx)R9{6q2x}lT*%G3Z#yikU_Ti53IKv=oV|0H+ z{c(Pr10b+*GdTAccdVXQf^F*JJ-nu78;gGi&bJz~k`hfk;^-Ed@H*yIw1?fQ74u4a z$ha);E={UtNq|hM4?zIisV=Upr#n~}RQw7-Kq|#>2#&;9|2?c^@Z|E#jIH1G0Z~xHfQcJ+*xg73Z7W^xMw@m+5O-*dv$1DOZ zvsJghwW}tn1W$z!oxf9g_4lnKuRI`t%L3z<1VpCvUZ$JT#aX+*l6&S^7M&BH)Fd6b zuzE*sqPS$9L;P-U_AffL8i65r05QSpplB#=RFQr0hm-~kLaOC=zL?p>3RD!Ly`0eb zpr4-Yy~u6u+Bjut|C7 z5*{WhqU#`|s7F)f=jb+rjlcU6b5%b89&i^uZ|vk`uH8T&h5y2r)KYwn%cv5rHQqF- z{I!+ou?~7F+#bLuY4tLNTR9{t@Q|EUb&o+*4sX-iggXvxZq(F<=}1R0jrc=q;$)ss z3MG2JUc39YRGh^$z9t;{xRC`z7q+emVZ3=IfgD%rKO+_K#AL|o=57X4iB_4mgMdxeH z3u_C0!AF!(IV{tPG*~|JjRO0u)q3rIc?yv?KfJ*?-;^_0Zi!d?xD}~k_rqrH6)D5eE3nDO!+j6AN3xHiH#APBB<#kl8>w zYL~T*Sfr3jJV~ii?B(th}oamBoh5ZTq(-N(;lS)-C9wz(rbI*hIKmdPIo0b zAgMQ}1+8(7+95Db#ddBC@mr6s*;Ko8w(!lXBz<~My~ zZ`&6>@2HhG@N7Z(#O;9uu69v}ti->6_VU_=?!3$etU zt{M&uQ^_(9fD15w?0ZLHFV=|86%i*3P4($nM6YS;;3?8qF)r-`^W7g?5CIY()WP|k&w0zc=vIRYl&Y96r8o5AIFkNKl z#tRnalNVQaIJH_UW$gsK)ZYzo2YW4D9eDIP6U-_vPxNh(F2C^a2kK0%6aLq{aYwx85f{ zH;di(h7*&?ObVJ(iz@|_xPYt~f?$$ip9{n}${C!sUP|T>2yv8$F#vdCSWfHlG(A^! z%QaoO$qMMGn~I{vAEHw2qQXkLOO{M!5`55)67w|$KFOGKLbA)_+<=;OsGi{U>A(Tm z3=2>>?mqiOjN~^8>!@g&Jn_eEwDbZYY5MqTmAc4_=PfV+vsxO|M|2MO)B`qh{GGA0 z>%WmMHWNVZg+3#Okohyy(!LWy-#aA(>Sh;ZTB4%Ioh!17D|)&uf?s}}ji{mJ@Fecf z%_P^PCK|!)mg6SH6WluD&&JC%->hasc?G36eivTf2|{Ku9?VCQ%z{I~ZHZ*e+2a3} zO9^*a&2}M$l;x0-CtIKxLuo5T9~*}BwhD2mR`|N8?^8udaGHLyg|oOXzmuwFfV+^V z7J+$VA$WEb$0z$<@ObbS0^@(Z3%n4#m?&Li<{U!kjY;x=APi&cY`ZP?<2^zha_4jM z)jeXqbAoE+dyHsk2vR zJXCoXDD4QQV;G`)3tr?>Dn-6u=WzDr2l@V!V_j?^aexWwNdQk?2?)A+K#@`!qd%tC zshx?Ea6^3hw0!=xV&|jUdv5-ZD^14=lWLIhZ?wPd?~)Rdo$whO;RcyLR2}9J>Qtfw zFNbW5zV{tNy&^{V>%CtQ`x7pZ`!Fv zpfBV8=T&S6xyv;xW9*46Sb3=8uSsi}>dOWjOkdMGxyS&5hNy3$Tnc9qu@nd}v~$3- zgC&lapR_#6Cj)6GuUUvzan#D2#)BjH=kA?t?~YZw0bq5@{Kt!M4*$4t__KNZLb$2&WT0+H9?nOxL>M#2Cc`8e|tKE2GP~V^t7CI|g$rG(aG}(qIEp zxgwaP+}#4KiB4SSNugGxh28Q_tEFKQ=w?M3$~hdvubfZeyu2SLaj253aObUPGrfbY zx(na9+v@@yeA^hq2_(gmb1*q)tFs`J+1yTb@ps_cM8bZq=hx)VIjzCC-oQ@}v4T#4 zBuo%GMHfrtE}&J zfL3V)h4`qV57(jeLSM=GrAhEj6Nm5C?u?z!xju(gqWj4x-#OWCCHk?ao}y0Srwc~y z4W)~Ph2~FE0C1oMwtnA!D%SIw=Xt$k5KI;b%$W{K)3(VKXBBsoBwJQWeQ&)?fTx#` zanUT$?kpk+)~AII>|GjLSpfA9+r&w-hL9L4>bGf8Ah)9d|LBh_oI`WzB6fqrYDI6g zBQRN(0yu`g!F*V;O)}2kE>mDiKZxk~T|rax@uw1G1exvFs_?NlU@)@}GwsdMQruhh zGdSFkzOZ15sW)nQ32K5rT;>t0PUpnLIq9HgjE`06}=+z z*mTou$c4oI@h$m?RD1D@!^)9C38t4+x!Q2-=sX{$c9AcSX3ND?U|3r^Q z5gAcg4w&ynCLrU@Wv8x659Q*lBT$ynbs^flWN~sKV!GkL^7@fnlOAEG07z%$A)|3A z2E%dSo6I;J)!yxLZ`GNj974A7YvnqVns=JriBKR9aL*t7N@ifDC7kRV-vs-JmZ6Is zq=VDN=8r8-`@fx*Y*IUG=(?xWb_?Jghv&6VpZ?okdqgLWeEx5;hzf7dY}qu;?SC}x zcb1CrlZnZ&PV}cPY8J{JXjip`e{gSR21qF0M z3G*(>ZKN}%)!46Q5enz9{4e&Br*^8FYq4Kv_xe~oPeNzY&*#xR}$s0+mb1N3ZI?$nj+L|@;OAmZ9Yv^k(K!*9To&N!W_G*ADvzW&UweJz9O zAjzQ$I7pr`VW?I_<1zZ~0>!IS6^zS zM9uf;*!aPQMwT<-OS9q{g}K{4B%AP?=h4F2&2PRbp;Q& zd?X^-7_d+*)lf(hqk=}|m1g7>M3GVg?f0eC$djBeO*o`I?Db%3tK)m~sCPf~z4gG$ zwDHSw;>}_)$%uXx**E^!Mgl!W6yqM`si){B_6k(I3}C$H!F^Itp#=OV+f0UJcrV?w zP5I3}0K;gm)z;ML81tIpo3e-uu%!)#KK;olGoiQ}q3Hi&)0|fwU;!8f573YjsNTCi zOA7_a%_xwbz6V?LAW~@!bWqZA%G;U;E@&vn2~B!G*+DM@RVHe$eaX<_=!Ey>0ZM^~ z1xRVA!`jC7O)}JFHWgnBD^*~N z7-N3fo#)sy*W_}+wu5_nV)Eh4BNKG$+?`;!l<*~9LX6mV{DZ$5+WJIqa1mBX3E1!I zQ-$S5t=6_7h$=NL% z2RFRJA%XA^1;t4240_%1THOVh=hI6GvlXc=br*E|RiLKLf#hv(_Gr|}WroRhYR*gO zUULv21xxI?E%jzjaxT6Y79!3f^1GfB>I^s@v&rk?nWQEOJxyGRaE%h1m_)?8mcvft zz~-tHdWtmRVIb^VzWa-9r%eD+05KBGXu|5Xdt6}Ea=Lp7`F8yT`%#xMPA8(@Qn^Vnan5Uw^n z=VHZBAN|qR8=z=>!eGYC#M6-D{gqigkMtHShVp4KB)+*~A8y_Z3gTEbkHB(5!a0lZ z9+r<|X)%5T?}f0^#I5#nbU}Azqc|}KJCozaQ1lQBhYa6L(v?ecmT)QJP534;hnc3+ z7_f{ym#DO`cAGE&Ld)9tRQUcuuUU=!3;!d6G$AdTd z(t)n``oVy|eLp~_!%ttRfER}c9TP-K2j4 ztyl&f5D0orXtRMoCbv(Kmdbq^2|aMsxXM1cH6ch9c;uS@KSK{yGWdPiY&66ve^$rrv`H2Z!_|*C4+`D80wZv8wmC;k{g6K6L zWD0uSBGul$UgK&ZcnnZ{aFs0BA@y@B;Tf>ww@&h-KS%Ps5}x!Tjpx&EAdhitrJ4Ly zv=84?>c?guaG2JbC&$P|;SrxV40H1xUf)^~ZJHv$N0ccOs~FzKH}P{@$unsSSI(_k z2??0>At`RU9vII>4oGa&=hqUt8_nW1`Uof8d@m@K6F;3S0*A#3m{iJf&otl2b%*6N^3F?r z@YV1lmYw8;dr_Y3@sQ4k+>+Q!HJ6CNgJh$311a4uZ>vyNR<16X@n+68f529*FM;9zwoIazL0NebME%`H%3a?0aOZ7ZE4Df- zX9n2|H8atiFcJ=}nvunm2SGo9M55+>@9yb9Z=V1b3Ow$nqPd^Kbs}}mo!lOH zdi(ZKjY|YI!T3_$sXR`xuEaXn3-igGLdEgi`eEbJ5@plx>f#7KV4uo(vB|dCXEOR& zl!wXS(f7t#k5-(lq)ec>!X%DTnsLBA;z|=aR zfp4)M2587D{^(!A8K@L{rF-Y@otDtHzjC!@=c#fW*A`sla{T7GqE%0VEvRzP8@c%u zSg5?Cm*%5|F5TZg9p z=XN$)f)W@{tyGh`Lp(R*QS&DU<8v=3RawBn!By@=!k~3wIkmN*%$NAjIJqtbrA-q1 z-!7y_Uf+DUe@~WDs^Ws`m71%F-0|7HRwXda-c^Q5{5oZx1%z|GBOof&L$B=d>(}5+&PZ+qP}nwr$(CZQHhO+qP}&r9RPb_dfSGR76$H znIkiu61myI$v&*mV6g}-BWW~QL`w(=VwCBzNU);VUu3gxDY1w_4jm^ElREHMu^D{u}) zNumsQr%l0`&XmU9P|f37QSbD}PM(Njb%E@&0Gvr9xeEsg)veRY__NWc{5W;&y6X-c z;xD_*ZQf(5sQH*aP29UTO9iL#xS;elkJ}twSTYiv1_+EMcNa&A?H6WayM_y;RP|oA zAC#FY&GpZ>Hritc_84kc^bt16OO=jI7np^y$o&o%{s06h{SzQwnCFBo-^@Q%v&n(X zMGlqSbuxM!eI}LHZ{5{E9q|~*m4a&^d#@_D3ECrYjZIP($%S@%E5Sh4=$Pp!p(VMZ z&CU@Agy8bV`SxBBpC@cR)JlK`Dc~3NBm(VrcSKUugt#{yBL+yG3*mR+MO8;izK>r{ z!$^M~8O7gcG5oZcY9au2h1dX`Ope#>|2C4H7Cdu*Wi9dQRlqD~K;hrcJ#*J5w~r@U zm!gdXpcTyXojd9<78knpKNyPBWyHaO(I4GN@G7I`m&G%|W_Vl)v=2vu`wJl9BflG@ zrLhn#b9MB+gYn3R{S9W4&8@h#<$8RuO?nJg?WG%(a!>V~-9$ZnFL9tUzInGZV!QbB zmoN{VHEjRFdYzhdL!ZNW5>`T{GcuvnP-r&qZ`cK-5nb4enw;Hk7(uB1rSmK0BKjhVq$#TcNTh-bO6xV+NMoi!hZkj$jh4_*g^(i z(K;%>6LK>`4TjM<*@4Kf>Po|6 z6GI;0X`X#>4Ne(oANom_*_3{2J@`#qdcE*m=ahW>+1nkxddXS}V0zuqLy~9Ht}res z-C?iLKcKp%?kWsma!tZs-t(tM>^k|B-dVqV48)onuzHBBKfR5DUb@kuK7rM8+*)1# zNp4XgLXRinX_m9vYYW>A#6(#$CvTJet> z1wHl2a27gz{qvA9sfu_HSI8{h!C6v#LLDkRqeghr$%PDA)UXn*+bxh-o}d_pk~}q9n?H)x#N(oo%)>{k5|ITe|z~yfIjS?vJ;kfQqdQ z*G>go1L(!wu~tidWY$vqSLKO~(Vg|6Sv8I&sPTQUfWA-(?P?|zu#vb!Xk5hj){VzL z)}VUXJ*ZqR)Ob|2!@ok&Fv!MK*R}0nM$tw(0R=54g4pgr4~MEhj=nO@;9%z-j2M>} z$7Le<&!{B$bI541*_cZAUD#DYX6b^rS{Z{j>&&IeccfX=TrE=jR)awPI7@VT??qaTGbJmpP;_Ur4gyBSubZ~Vl|0{f`qfY?xVR`bfdxW!(=PqbWEbytFXLEj^e6OcfZ-b z`Ws8x%=~6^Pp33jKK>PnGEvkXCoRBYIj@iMjQ!?-!7FLL|Kfo1Eyw1cHk)?6U(xje zWu?4<^$*lDMKQk*@7GESCs{y>;zAsS;^o!u<|+1>q;QP=<&GEfQm}@u1biZ8&Kxn) z;cv9|L3+0!xdLm+<5sflN5XoCyKR~8-V<%uILeq6-n2);8X-iXxm=gecPiFFG}W!paH|_{4n`ltZ61@aypRbx?venye%Tw3Bl) z_~g<4Ov4%kO%AYsG2^BqYp%eT>4LQJdpV!ag2O>?O0`N{_5baXbZC+4@+9qVc_Fy& z1zF-t+6kdlBZ2Uv1(3)$C^~2&GsjMl=yp|-z1cBhe&*0w4b4RuJxc9ndnLtW_t94LPxAI zp999TEDCMGk#{=#9Hz^#Kvm8=#yq0W^L0fkLa*x^z-j&h{4AbS+cLBPqaTv=N~giW zg<81>q{!E%%Qpyd%{OQ{%7%mKCzOz_r}YFM4)6QR-5Aj1zLw+!gOK~lrt0#=O%5Fj zk31Rzw!4ntDxQd^ojCGm1RVhPDc6HUfl^(adlusZt2Ablrw*njMvwM?FrZqfZ%>Od z>si+1V{u2s-I(efv+*{>xDPk|d>dYGsFfUVmks&TSagP`M|d|6>@!RjA}YBH7G2T_ zr&+ObD!mV9($Ot@>#}r(GBuX5#8=v>DXM?kYkgkgE^MKVV4^ob1s5^Y2#M7dt^R2Lmt*jaZ~EDAi!+ z0E@IB5w$d@m0agn0ELJO>A-HQo=)$^<>|^-@L2DGQ7+Py+TuoIpnN0qRX6P4p$!1A z@DNjo09Y*Iuxt>XQN31xyIKd;nXuOLACOpx;AQd;WBwF@L7=`%;E|#y{sjvJd&kK8 zWJaGY8MDRl8p+GXULWr_kKb@nfM~{gDs_4s41e>`95l#uVSv+^cewu7S-PF2FO*f> zQdrkWAAb9r)*PHkQ<_BMtksOhPP%<7|W+*nRr|g&8oEyDVH2TU^uwTA*)8HS~zSB=z)C+W6SJmem z2D~LILVDIidNQN$k|m~_83x%?UPK1g(7wh4H5v! z#po(25>n%Nw68qc=xE9+P_Tz0UR$_DzdCXs*Co2=J?;m}36Dx8FrjWAv|yhONe^uE z7i0YdZNuuq{$GwTare-3nndifEUSX0$P9LXD@$36H?PFw@|UlyyCpIX4LHje}wK zY4i;R5;|mAL3B+0-~*I zcHmD$V*xvZaOzezcGg^#oWAOUzr5i^8aXhjck-SBlSPely^t1|*Y2eov=3&uAOO7} z2WoJQy!=J6XaJ4(jRcx;mahu4%ubvWfJ(;Idy-NVih*L*7f1Zl1=AJS!C+|5DO(tc zIZ}Z8;#x`JlxvDl+eE3(W@eh_yBV>m>-$A%Hz>RPB`Q`~ex+dajj9)noicK~5aPyX zMEyPgm_>zXG09k(L-B#U)F&VK+ysOX`?Zs9_UEmnd@D2X%f$ZcWr(h5;PQ$iFw%32 z+Z3L(NUp|mo9=X_`FIz)VzYIioeQytviCN}g?CtMWtuFv+H4>WQhf^J@2~|4KxWJ0 za6k_If>**Y5a%Ik2?6S<9P8=aVqlLHARs`Ye7TL}F0x(Y~By`U<&8;vSp49QUD_)b!)69&Ml_QdPraL^v zY7m+CwKW7g*T7sPYw?%m!1dd)yk(0>ngccW9~AVK*>Rob&eQdmF{u|L@Nn|b?*F?{ z?4}V0+9evv3bYQ#Jp~1AGQ$&fBZB%I0j0S%Ma~kcdO@+uF{`CG>T-64@I;-m_PzMY z70ZoA_4}rKo5rUdiNtFO@CJ;5{*l|C*%@lMNCwew7xc$I5@XG-Sg$85dU&VYj?h^L zzGL$}@OdggU_qOt*Z05|)k?vA%+9o@p$FGs(O0Pv6f%wFMbHeWCv4;gzO8;98@oR* zo8Bb&$?U>MqR6uLa+ep3xp^qh@FOXf+`Q`jO!xz`=SwmO3Fu(mTfRsF5hvB5?ugN= zdHgpNBhSaRgfhh0L>+gKdjR=n5$6@OpWITQT=sKk5MlEdd4Hy{5A}H`&4^hnoZ@mB z{UnRk4$wb& zKD!x*oygK_6j&1~)HWg0xnw!71o|5?(I*f-lOo89r|v3TX}!Ih zri_j$s6MQ~gotTBsU{LqO82&4Tc`$_f|;{CTc$)?@$MMNd!F}9g!-5W%u2*P*(;v` zpdB-8RrfmvFI<9|F>`%<9_xve|07-04|_iUme*FcRz^xEw-4p~&n@!I z{@apbL9>ToI)S9lmZ|#f_NWLBEE*t+g96IoHjCN=MlqC1@8=oaCE3SfXEiiPw*=#k zWX*i?uR(c==W@f4K5YNrH8Z%7G;j`!>EzFR18JJ@K-{+5asqV_L3o5<&$0|piA-o zji;N5!_oO-Yj#{nZw8?`7MfY4*l6C?UKa?wr=ZJm1hvG(#`M5 zWvK*PT?PRE{a!fo2->OaOGDxbQGN@vP=`JJ&}0aEiHrIhOjmu0a}hYyYCG zuJX=(P*_B$m_*5I%=9Nuu{q|)`fjDp%o^KHK0U#1k4mqUuwq%IevLXMkl{{6qO>C4 z49+-X_^<_?e;uOIxVoK8{ITP3Y^JAKv+%{S@fY#c@zS!1AZUq_I1%@ILCZpa1k8hAi8-)+$SLr|KviHS6)?)5cN_sf-arczT6J7 z(WNpE?0qDPL|6i3JlJzh4kN=Qj8I*>u*6ujKzk>h`@i^&x8JU9iH^y zG9EiPw{&N(1WYcdSeozN|Xt4nJ*GaltkB{0&_4P;*L!Uy1&(fK#$e>MuaPxtEQ^Q8DB}|!rPG5@1 z@%wpPx0Ycazx|lIMl6`dy()nP%-M;<#_yzXu_M}Dd)i_5yiq3jvW?C<-r`RYVh2qq zD}W|cH{%q8TuLd65^*sW>hKUBBK+-ZU751U_O@@F@&VPp=Ka->v1L{uM}FOhyaH~u zd1~9jx<$=1nJ(?pp27hCQ^XagoMi8Z^8i6#56L=xB4exO@E6-bNR4&eboX>J)jWo; zZs9cN)f!Bko+sPNCpuU_0)B+&h>-9Y02L(nmc0?aHyTB75{!;?Zo1;ybCseA{`iPL zCV*l1g{;ug;Ow%%xM(H498H?vLqV(xzg4V$svq4y zQIr6V!6Ad^!;w(#H?m=Yj~P>`!zG2`cp6(0(mV#B!NaP&G4ZatuN~Jgni+P zUMBVgQ}Iaa*CSgtjYRY!ZDd2ZoHexa*Z=8S97*j?oAwf|lq zO?-BOh<96s{!$s1W4XEhLHIogEO6j@f>*b+xIuS!C_~>wYb_T_1naMk9>HH*<{ShI z&}85?F%~k>TH$s02XCCJ@H4l1??cOmSX=*~zGMN&jZ&9Yw z!!BFeqhNch|A-7KboYl)Ir!5w{yqb=(Uv0X< z_8wD+1gJFkGZ3g|Y@29Mqm)TE3H$^BkyBRHwXSqoXd4ppzR3u)*Zpimh04K8~ZE>Ekj%s|@qcqWH{uH2mz!rAOic zOJOZs?h^DZzv z7F*os6U;bU;e!}g=sH>9bqorhFMgtC<>e*)dqqxk*dpt{#9-$Si~6Af{H%>0=v-d{ zqgIC3Qzva{mV7R7e{0&=X2z30)JHljfb6(`R*PkJ7GRCt%sRYki2Dkija#@7I&R@z z8!{dM*7Z)^bJG$g}ae4A`NEhPeC>D;gxMz zT1Cb`CL)ib_L(0;_3tOi${sLnxD`ljKgXjkMLrTWOzC`nThu{rGWKlH1q zxYJT@xR1LZ0;)N*3iBl}wXu75m!7(*3jE(4j+UTiuX1I}`_ajBJ&(nAiyb%$rxmO_ z*S&ots4TzA^N}b8fnXl_rUaRn0EFHpk-fmy2k*ttR-i;FxXqx&ENIZC;lIU>tKET% z7?GA{AO@Bwg)FsL)j*g_+u+lFscq4dY46RXRMeg7z1Q_HNy0e%rkhu)Csrh;Gksey z)NSwyxi7a@$+#UC=w~VYe%MNq`>nY|6(4uaK}9;#t%5%JZ?|RCA?SH~LLaM&i81b%w<(c67y=gtZZapry7}zhcbV$l`XUPo5wlf1z+dWiIw?3KlN(W*J0U z_7SE%HCJEz%?1052rRQD7Q{l0XpHJZgZZ`th0f|bkZR3oU36Shio|=$V0ZgAlrNUv z1b6Ev8GHXThnxh=8d8&Y^X#eV#Vz(ICb7>1VmGoQHLldW%ROk7Dy;MhK7D~@R_(QT*-1;l-9k=A98v#}f}@9KQu;Ddi!4w&l`Bb(z|0312$hGE$uK ziD7kg?|Q?D3n-dq-RfpP#mGH(-kuNBLo@?uB#7{3s zJAmBZzzN7}2u&bcho>z|VZ3Anao_jO&(@=FgeMmL~@uiT-}NcEOL# zZfJWN4Ayk85Ed6*-#Qz6qJOCwdDVTM6&{yIqq{-UZZF?L+=Pz3^Mtg7oSYG?hOf_! z6K@9_&HBo1o&kl-e0f;JAtrBa!v-W-0=I8kU4EQRbd|TQ;)^BjqWaH6cYgws;)-Ak zdqQn7X3UMI^uq#3GsLhA08{o+Tq5L`@7rtKUQCmfm5>LG} z)GfVs>BADjxwvpjZN`EuX-H{V^>|2w|%xBK-+9`yGK`n%4M z!oX1SUmrz3^NNuRwW0@>g-Y>f-{T7Cw%4Hh**jzL%^Ttv}J zG7!B3J|~f5c-R(C85cv` z9=7Pvae5v!kVP`r++3ql(m#vfctE3+i0!FOT+FM<6H>mVSo&k6*s8g=b#Iac@;4tvx|-!SpgtHe4pkoI`1(HY$$Sv;n|s3m{<*1@IdN z_jvdmosdyKdd+UOH^98xQl(jK5brb@qXA|YxP=Zs=PHfBbn|8{Pz z12oNdO%5VNqHN;K!;Kf$3@>zoNC4w@RuNwIT7m8GJJsN){X0h(>t%5JxP zabwBqUIS}aRzRj~ktmLRL`UQ@syJ9IlnaN&pA41Eb{k0NCmOpF2|w8yZ^u>}hVIIb z-spYJcQPGg5N~I!_}{@6(6Lt{^gHc-x=|TDAnEbxJ*13riRkh-oh_OnTk4d;ESx8? z?N)?XaVss-^Le1&gkedkb1UH2^=?5Mu@=rP{8_?^SXjfS|1~bM_8U8xeRca)N9sFb zsJ*8ACf^IX5FZy8XSnalhC=90Uy94lCQIPF_NnfLSSVzc03lPS;f54!F!kQZFki#pohY1${Nkz8 zaNglr($;sZ#y_5azoh=tz&l*FQ3L?4AK{Sk=B1Z&LvHR0LO0pH3aJKJqF;9JCDiJa zB%y4aIiHnw5{Xr5rKaM!)B?8hdrKt=Fepv+KM^~9=Q7UIjl@K%ZssDuDZ8X;;F-Bi z%V|Vm0ri8XCTS(LTPkC<`CiEoxSDM(d2FE^h;M+csSl0$d&PjkFX``%VgwWd3!Lsc z4OIs&ffdOY0dB>je+dq=z?t`YLjI>C6$#Ta47ssz(5|Hw7?W{Tv&J30Oc|(7WcIlo zjPYOJXui$b4+j^WdHKS*?Fgo3%wzW{A9>e)M3H+6>phVVaS-OmAwB97>?(5Drs#|7 z5TOxYm(#W0Dz5*-)$dFbZR8Lun;{xM!sS?KYUXIrGdS!1Ov__DHez01iju;*qo^%LziM#W>$4RZ z9;Im-KnRFQ8bs~+;r-oSkNOYfgkKnSpvbn+1S}BxsD{S+V+E;1=hWb49b%do&erN( zwM6(ooH9*r7tTMm5Tae7tpGEoaJb@dD|C}tv_10#DMD^iU5}CRPQ}EKlui>P$FN!P zUmCEBu4AK;DkOs7U;4f5lEx@`jxiK*jj?hpFCQE(9bDyY4*`v@q(wI?D3f}HNM8^m z5^i3?SBLz@_r+^$D8Jcxl#Q5Xc&w=#b+ zuD?$#H29!0$9jy_*506j^A*YZp^nx8tv`@nRv=!rLWfW6SQ#4)k&XFb?iCQ##(C`- z$IioQ#HR{Z&a(TpBX*+t>Y3qtb62goZ^oUxlPr^wLDNbVv4M1Sy~R)b-Q%IQ6xwfn zV<`C6Gb{he{8O<>8Im~JZNgibvr2Cwqz9#yHYf$(Gv|&h`{$>YSRN}DBMJ7t@$gki z0+`RRH&h%i6ssq4$_#4wt9lizrChb;%L5(N0m^T_adhE&FIk0d&-xt#s9@`^!E0`9 z=%Z|x|2yKqIheGf=BE}7&uW&xg&63GD*kLPOpf7apIEqhp`}b4 zYP09`q`WqDL!2j8g_lLKW)Sy^f2X?s5`G%M2apK{yIK4IzUFRwtPL zoIpr*2UT=)lj+}+Rop&k%E~WheXIa^abI-mmhnf@oxHnBgMgAqm4PKOVyAzq)W8m) za4f_|=JV1I=w)I-*SSHm=&vQiu@d_*j11~(kLfMI4`2RhHVPpbWWS_aO=mqpu4Ueu zS#E_&PJEIKKbC0ULbAln)eqoY(vik-dSnK1IEtVA<;DqhxLWY2>bBZB?LTSjr}3v-ky4@K~I^SCrh#*125#8X$# znD1j9&yq67(fYTdhmONSU*WML)ByWT9w^@L7l0Jl!iWwB zm6+!H7RQ{)!7gx%V^`Dv{WI~kDL18@^4k18B3it2z2l%5)e8~U9uy3O5sF8Jo$4k2 ztW0*wluw=Zbn;;}6Kndu_vXTPv5Z%60?$^o#yki9ZN5tHUH1-FVoWL}I$= zId5dO)K)6yfN3OGZa9(VcbHSI%hQhq@$hCpNPWq;uT?LAMTT}=UY5V9LN#beDjU3+vhX3Z+duIiHTrsUSMdJQ&>>a zp@YJyHl%x;(%J0)0{l)4$8p!NR;1-gmo2_Cy+)P6B2kyl9LTeK{vXf;iKN+H*u$H% z$e<4T*ixZL?V(LF2qo-NR@}FbjPqGA4(E<>86m%eJMc_&m)>3j7FU|n=-M%#_&J*t z3}t&6X_|X(u0gh6GY^`5&g(;coJy9%;l$pm9dmZKa!p^~KIML$7YCJ0|Bwn4OH!ij zKG(SAP0lGZCAN?Ato9dz8wVqaqLIb*`x5;7)&oa&cXAxJy=v$I+}~f6v;e=tX(p z*Eyoj7Ffmnf4IeK-~qziXG4ibV3dNR5JgyLD>|uiIf?52nr;F8pkZ z*@=sZIw^ER2%~~VS3c=Wg_M5kcaOaf`4=#!w)&!iiTc7*}{E+MSpQKHJ*#59TvC z39SONYUzdQp;knJ5j*aD%jm5KpPX3M`3DEJX!CcNyNA*C+QM_aC#j78P-%C+7UxDk zFdWFSeAH&7G%nO@i~8|l#$@m2W6!Btj$hZ#284HVQQJPC!$)%)s_#nJ zgw*j&K^%@WygSFqQ-=U}Ay?Uvl?&~~PP&+0`|aL7$1gY#x!1fLSrj(EsOMvS7gttj z(DBU-(L!L)Z?LfJp%VA|)LJQ>^#BUJvJfzDDxlV1JMJ@KCB5s zE4C+0evO9i)CB%qKcYtn8jc~P)v5g53%R&({4aNg>X_ugr3Z=s^S*+6rhmf}jqZE)F*DI8ao)pE zmz$SGN)nP+ler!3LUkIFZte?-=87fadsJ@NF1LpM6@Xf{S38(Dq`;S0bbZmmY;0ll zR>rgc*(feiIEsVfQjW#qsa%cwh>MijDFs_k3}`9Bf{$ix*+ztL7$+=f_BJ}W(q9O@ z$Cvfd+EkbFs8j9!5V9_w5GmNW<_tzQQJTR0;I|c!l3DXH%ZXoj_JE{zBGG)e=f?*) z%oF-x>)|h2Hn!n54_R;5{>NFeLiMo$( z$Iz0lCCgHGWfvXj^>zx+o0-UIp9EH(qh=Au-kuNp6NG3k^Xw!r0vVtHy-W~Z4X%s$)t{h%r_!Cw7a&za{1O-HdnUr z_WbBW7mXzoai%7`PObiXF}UVw9vIYqzr^0LGQwg;-W?Pqkft9CaG#GPdeGCI@L5q@xlC2p%`|Ynh#%4+X8a28S@2*U z*1#3dH`L%i#jR5b8K+!NJ(JL5UwRL*VHXcTzPUW4dAi$6WFOfz{pXTIYcJy$>OSF7 zXN>Po(a_qIliodAlzM`3OYc0rv7VY%)q5?vee4Oz`R8qJy0*AdIc4DTRcGNOT&`ZU(U?9g(;mMt z@tMQ%i%pe+W?#%NxSVT${XebHXbYrZ3zyA`HiHN5j2B2_N`YE60bO)YON$^9YqLCZ zN*@40N;!iNQtee9pL5tut#Jq7&<)(eSvL6k*Y&Bgq?n6kfGeGowLsEXnl{cKz%STU zn#P>}R6=0@09ya7R9WSW4PFWbp0iHzmu^Z69et1SgbP&7!%YoJa?3viQ>>-Crr)j4 zpTY?DJiD2Zuu^FxCi#tOhc1QL&1aV%;e|O$X)G>SIub^4en8DVfnCQ_#QHG%l@$eo zpKL(WVo47Gh8RR_@xnY07vc^_;@qUt=Kv^l1l^S%*{Tr32_?GzqeiY@r2#y+RCZ`u znIesp7ly{|Uz1uF6yf!vkRTwGxx&DdT(=?X0^C^17+9ubs&wKsppwGx=vpt8yi8>9 zI*H*u{$X-H!dt}4FLu1WpKBLP@dXJ3pzQoR4(xIRaGH~9j~UMyE={*E=Q#_u*)zgz zR2d0It7-+t+TbOM7I0;|L7aW3ec&A&ulkQeYY`v!?` zx#wn3%4Muo66E3AuPZ0xmldE`lP(s4?SG!+;1Z+z#(A?5(avA~llvtBN;CQcU5uCK z+ZK0=luvnKV}5-9_^~i>rQRcQ{pGkcq2~vxPFA)25Wc4`;VRVJl_6okCo8hMlOyz7 zoCB0Y4KB3NO!`J`;i7RO;$ZVaGwkMDYWbEmd|Fq1Xrfetf%Nf2#kek(kiF4-vVjbZ z1#WZ@B&glOdF26(o;7D_XD2~IEQ6PLSgw!Jp7-;C{`4GJwZES~&C4+zSDXDpY-ykcDk~?~`J_7E@Uhn9EdQ)U& zBJpQSVxjD2PF^p+S2!6}V?51^nN}a-QG+&>MWFh8W;pBcZQKiE>#o7{!em6R zoI+_%zU`91k$r0`Z&ocFY&F>^i>b8oJ1$|t{mAMItxvqAT8{mL(#QXq*G!+t|7M0n z`B`*{)cSpro5X@6|803{!pC~)m&jj2ZO;}xlf}@i%H{%w0->2TuVRfL8pi}pckwZD zOS?0WYb3Rt0DFMj{PA|X(zzjHseYt&m+a%J>!$)S3r+FE5KqVd<&Kpql(rSlgi~&& zAn;1RbJJCSHmQ5U^h#E;_Xn zk0Cq!>DB_5Q+OYKnYwFU7&1M6gwKk=AyO4!(;h@_TGvhy3J}V&f0e2<{&fKdi zLS;|Ny_bq!GE=XwuUiucVY_TTk3|6TRp1P!f$T_&aoX{t4YZpr?P;38?e0$Cq^`W- zmfMj1ia-ix&^ltga18GUB<|PG zsw+=`A;3c83y^&BCgB~n;;3w%rzBmn-G@xVU~t`D6nq*edN9>F+?ETXHyuLPOG)|W zWk~LYhL8N>q`_}AHA1swS#4|)0O*K*q)qqOWqipyUWT;F1 ztImbOMqwlmKAW{Q3OC5_=ajM^-j-NXR*}~Ciq)X<)?e~n$%Y4Ul9~ZdQ7_2ZR6ez0 zN@!}-pS3M-IJE5ze2HY|aSZ|+o?Udv?->X)#HYB}!gOK6rm&?)_-GiH;ng2wCaMwY z3-|LhM8-T~NYgsfjmlWxl;Skx2Dq6eP%k$)Mq!|q!#dXQLC7v_fh zyEf*O+O!7Zgbgd`i6o|wk53L-XXH+LlZ+$>{#hq^4I3Z4|H}qRCx7C(t2d|VJbc=} z#Jooa+g+Ihum0A{71?l&LFQxKy&;Ze&nm33(NgT=UCls@qcI2QX6mVI`D8En7`H@p zZL0H?E)VT->)7&93dI^JIVaHp{&Z4~yixz)C&~5-UOHqIBntj`1dQ9goY&c^gGbK8 z3Ss+!SeuR=*dYnk7GD6YX|1oPs<`k@2ePPGo=8g5t5ZVV_f~-=c0{Yq; z5^#>*n-~}CQZ^9hVWt_%ChOAmS~T0HIg_b%o-rdkRvCAE4iluLYa1S{NA9Nn$%EOx zUPK%*vBap6go964;jP7~iX|kp=L{%iU&pbsMC(3MDqqcCYSK4Xy&zCQGfP4ZrJ?w2 z?j)CB&fFnMVmio7iztdB=3mb0_zeAs=N#6Mm)3^i!T`AsT3O{UVc*Eom2LUf6 z%!?!KRaY4|Q^_GJ(Hs}CNE9+$uiUg?O01X5vPoGCIopyW{6iL$hFf62ncH-(MKV=F zb>e?mJBKY%lqgY_ZQHhO+qQkmwr$(CZQHhOyWZ^{_V|564l;A?*b&m;(PWn7Li<=C zG_Oc@u=Ie`cXK}`RCrXPl1ajUSZpXI-erZk_M0dceQ1#`(?+0Pp0yC*)o z+tSDxkG9)3p~l8U**WzcISJpwLV0y;ENd7|dN_fTdR+wQQ@ym5AUZKUow1R%1UlTQ z3UKF#`|7_=vPv9jMCaL1ocG~k;$)Zvd*DZWreas#@biV9|(*+b;A7C;Z0LErG z4i3YTt&UdIRhLN|o~sl0vXrH8v^R2OmM%tv_QKpPislRKGCx1jS0aUYm>|jnd@)}R zAst52Od9a)3Xphc(l6V$*XX{w#riCIuBZ8|8e~U_;|U z-`;Wf40S59ljm2i@U2f#rX}h81OdQvb&C zgX;Cx9GU5eCL?2`t=4~And`0pxRJM79o{-x@Lkn^RQH76oTQ}|{RM*j{rmm>0r~|2 z{u28AfWG4d0S*54#{VF%`+oZf{>CW&cHX|_)Bl{JUi5yJqCb#h0ZA$6t#O*_NS@O8)e;mjq^-#ex z&^kS%ATipBBwxuDP*kXFD-Y}OSUzO{y0#z zyz*!beO@gw|L=*!+$kr&SwX7wPdFG#*0#mg=dwA6+>y!mv2l$sLiB4aR}>aZ-vujQ7-sc zZOqHm1jw;LKzCY)vx%FDD{?J8X#YFK0sj6M1f!3;YpH_b%aAxCwe zXahQTV|>~InmwXwOcCpjA@B@B^H|T=%?DUsa13Fkylt=??>Nb`daYc_!`-wVnF;QRTC&*;bVxg!5=6_`XO-qt2x~@%2EhL&k0hr1ioL0t9X95 z-$@E+C>}4b1Ifm6=Ik()H8L+=7O=BU4LFYJO@du#!0$VDAtu`Do8Z87_c?bzLzRu4 zT*!5d&+7f;Rjx;|Gaj3)`i9G5u@C@OK&S{hr(o32ELw`kMhU?W1eH8lG|2#sC*@m_ zG-#7Tj9JGix0#Ca+MTavjs!IiF(>c$!qG1b8RFA58j^K*cQ0~-aiXRk5uYP!#H~`r z{5k6|vT%0N-->eaf40I0$tG`-P#VhkZj}%N6W;41aDCysgpU%I#%?ZscsZNe=K6m? z+@8a9ZVM+0EjJ zB-?rng0+n<_I{Fim2iXYhInK7w1Cg1B}r)OT1_nojG_?MLVzfiC+&znqv|c~2ZM{P zGUb=!w;Ut_f-P)X@6)w885p$Exvr-1Vi|p0PdT_i1>FItJL?yIwYEC-FF)cmUH*Gw zsx1PjtAJIb8dr4{(IC(vWVJ!$p5^}9&(ds@z2Ios{EJ{VJ?WWXoCk;4@Bg_PvJ}}R z71c9J_QVAZ9|4ojse+d5g34p$Ls%R(#MTj0pLiCxp|rScn;LhR&ixv?ZWk_;gnqn} zN7EbC$gTfPQ+JE75F5A;Z*dCAAzT<$6YUi%bHl3axzam*Xvc94FJ+uo$2os9*)0@f z?nPD(v3yw<9Ehag8M}v~**w*bWs8Bg0bU1YhZ*zKuP$btQ84z;0?iy-vO+zU5w^*_ z1CYlT$lk=QmeoGgAiV;@k=YDC;kr^os$JbwcP?PA?Cwe0Im~OKoD}ggZr}9f&W3u0 zGl1dQWFQ4Q*5|4FA{f;Y9+B?aOgDl{)@MuSIH|#V%t2?qF-DMrD1agChSt+Oa&a6N z05wi;#b3AfgwXAY?#KaL^xa4n(5@%j^@X~_w6YADgu^6eNWqxsZXhpW<~reP&y^?$ z+Uh2C5*1^q1^Pst5|ze*XiN$y@?9@>@M5HOSVUKz zoBO7x;T~{)Gr1BR_V29ePReh&`l1rP`|g%TvFo)ISX3P_Luw7Y3aY@QJ|DD#dFBZO9F*J?;myY!^(Ea+ zQ#tjgxmY84(GBM$Yp~u%-?z8TKE}7jjMO&_90D8PSxDL%kMMeZO*2z-(Ssn-yBFlI zyMiN8kLVxW7GNUDDHS51k>aTg4mBH8%SvVeOh5Q&t@+AH`yWb6qYwVOU17DAmBk3A zRFI-yYsMA#^(MILCpFFp5@+CI1-ym#oaL9i_^t6Uf_<72ISG|Uzz|i+j_lcRYL=_1 zH0Y+52VWTZb>6r^&z>9Uu`RQe7p=J6blNw`<6*mHEB58|$kq_2OL`->#S-Krro=Xq z3%+^Uqawmb`#2d-A0OZdp?*U7gn?3$(tIUXnO5f0IIs%sN^lYr-r%=pglP}yC4a^k zm1^LK05M}Eual{m%wqJhe^{Y|SP0pPT0*4aQYolof1bQ9)%9|%7wKL(fhwigVg6OE#iaN8JeL9qK=XNF8XXMLe`o^6-eEj-Cmqx3(l^=t) zoA)u0G!MYTcPDpnbiGIN{2t7jBsVqO`p=%pWkva)oaOoOXLEMdpspKf>M>J7NZBjZ z{QiwlxedFM;3d1+rvl3nqA0d%1ci`y_y=V$95aNF zOJ^*u_VnVv~6^ssotM*S&0- z%;nO&V=_0=gO3+?{>Ie1SCoZDj1|Jd^(o*8gf#rnGoew%#2}u;FLZ?m`+37S0ocPr zYf=PBAs6Iu?@X@|6l%PQ#D$(y(G`mWls-3xT_a45YL6=z>P%1 z@^y|8wK$RQ{I4Il>DL%_6t;bCV3pU?!#7yd$CWH&yu}aMrRsmVU61mq$yL8WZ*_n zhVu%MrD>yBlisp(ahZiA;b#xwZzMCBMG^dz8>`@7+WYPWN;jb@-V%PQ{VEZEDZ6&! zYR15#Dju*ccAtFS?EqN1ffB-Y-E}4US*xY>z#ZNl1}@=vtK8Z-h2lhCpu?L=d-q84 zh^w}m#T;*amVD~%=$tjAPef63M50y2CeP5{ zgg9i{>O-?}ju+7iMgf^o-uc&acF~JHD&gk_<0|s?g>>wE1Lp#8SU3ySKWI-qIet zWu_g&t3`HVKBL4scK$wZInmEijZ?jKkcZqkP+5h6bx-{dsp=x#bPJ?AXJ570XiSHj z!t%(*sGH-4prSL^Mxf-vZ_8CQ%_+Y3L+UlqM`-J8vHM?UE_vv@;uVvegy7!NoI4v9_Z>4m@ z<7q3Zj*3Huy#HQK*!lj`sM++t5q~Swbs+0|6fOPE6;m#)z8n(@{sLmv>>b8xZ*#^2~Er(;147j`Q0}Ft{+^XV}jH}8su#`*7-fN&sf4ra6 zUav*plAib^9BT`=1aq8(6_4dy(2JSjE>{(G+&evA-BgSZbgkj^oO}Ezma{=} zBZ23V!Pg9t4P!SRw|3QuePW~y0Frokn%Di8p}z%~9S|~rfdD&C1*4oc=x6eUw9i(* z5gcqI3ZPuVLJkaJoVzz*qXYp2wvz0LCa>_|4p8Pl&0t96`sJB^$k{HSo4W8i!hx2f zRWm?NU4!mjMs-RRc^fUHiX@Kt-b9e zC*vFi6mYjYgS0ybF@FZ=xvJD~O`W%`e1F&b>~R4?gmj0eG9|k<$My&Y0$W|@)Sr|L zo7lFAFu*;T7KZ|CAjcDsbDD@#RhQ$k%^1&<%765#aSo7Fit@gHc+SmlJvNfGLp03e z+0is6b7e}r5_ccKx54z^oQ8_)QmvH9Z*k5*QNa3}O|rojrErntG_#pW(~|Uqym#C| zj9ck|?|%a9a=QgRBOHCJ6qiuq%Es=7IPq? zs*;2-UCPxqQgNPzuijs52{||jvwtaDG>Kw{jAgl;|13Nu&@)UqN}=4N=CFr8QvTP4<>|2fH%3d~Fa1PZ)}q1w?e6M*H^ubd z(X5yax&{ zlzB}&sJsvSi6G2TZyNt1zv!u?DeD)5r_d`|)zLUqWSU$eS1>H{_)>dBlv1Z?+Dl=B zTD15!4n0trX-*DDjL~g7&f#REbNTo8Fppz(@P1UQJK{$@gD+P5x z-ez=6V#wK4%vUCnG-X)-!}Dh z`>(&A7kV7>Z(tGTdRmRe?*+kP=`XtTfmIm{Rrh=H?>Yrk67=PmF+Lq(mV9Tgsv7s$ zgdIgCX0%HF(+j5U^=i3l11dcvRifGwz4O8!PZ}kfymNR@S1C6h&*$A#XQm7X=0Xca zA=iSK$L#I}YW9tzh@g9Q{LnE{ty^pSOOP3qL_MV&SWuQ*ld)eSJ!vt;Rt7LE^4^6y zFi!_6q!C-E5NlXTClqh$O6h`*|Jc8Ds#C(Lpv47upSsJ!hXR6c%Ad#z>Ey$O_4{$E zGfphO3s%gUKuO5``29bG(wTa))%`*G-|IzHAJQahCsX%QeZHFy2Ro`VbBg^5(`Xq6Pvixy7S(D1il17jRLXWQj4Lw}facTi; zhJAboJ8sx*Kj6v%|2KXD5DI^1w|%YcujdgXVsjxq@z<4+QL8RyW> zf-?KTJqY%I8=dOP*}SAa?`72)(PBj zA5y9r70`aYJ5%XGdsz5&J`RcLw@C?CB-g^Tvg#=FGMB%3XTy=`9NF5R7Gr3(uZR6sWj>Zkmce zCb>yH_GPd~Lf(CT&aencRutuY1VpLp$VSv3rzQp^vVWK`s#!DA|(GLM~}Lk{-Se) zBq~FlL&D6US%g@XFP-m7+N>KO(tWd~63hC*X&e+c1AnnM-AJ<@uH`Bp4W|-*u?gnmK3ecWT97S*sfwfBe>pw8bZ)6xWke@_0zoHJMb6qsJxH8i{_D5Nlx6X|I}cA zwiwF5y>C9c5onqq+Qku+#$w;h;$f(&*7L+RckOfc5+WZ7k(J0T=VWf9O`sAN4C{YS zcdPo%@$OX~mayjQ8Q3z7>3QzqT}?f8h3a;3m-~^oWa#X`Pjc3HJZ;ZR5po~ov!)Nk zZLY^5$9>DP0>L9(nFKB@uDg7} zIWW9*B?hvwl-?Qbw>3hkdVwXM8;%R^8JJj|^uJ5r(O?~E+G+(1HOi(7OmFDvFBuwG zWy|Gv=Chl~+g}r9mwNonc>g$leWjTh`=#1+T$jwSDp3j7p`~po z(k0Os0%BgH${#bZ=y~1g_d|^%&!|qp|E?=VHRws~40T#ZS$JUc(fsrhJea!Aa}~^X znFE;p37iO?@((q@@FqjvUl;metuiSb(WfVTEY~;WY>O6I@6*>Ui`?BG6Lul=N!KDh z<)*7iYu~%nc%EkF|MANRih>~h-7F6rbG*m!+2e7rY4fCor*>5cMhg< zXpFX12bwSm42YIj@{a4S&((&?z#n;0=tj#Bk4uxgEdJh3#$wU;4lv=znJFF%0r!D; z^?WCTF!~-|k%V7ho~0@^c6kUl#GruZb)s*{BR1!n=OJ|uR9Vsum@kqa8R=%RvuJ&< z{2MUp7dl~0xHOaOpu(}Tlqj8 zH20$zYupPYg*6WQUvSMc99S1O?WN?uyZBBOnf|DSoR&mxI1|M1Wn5R-(6{5$+QGwI zw+KyoBkk>IY`AL}ZgALJuB?$}X>+vOHoP;pPlkZHr{xe9<2`M{C8acI_1dSKT^Hc< zwYi+*F^*yx4;pgbd2ZDasKk}a4$J?TEn3mlW{3F-#;qvjmT|Dr4rVPO8i)ZUhE)6q*$L@DISJja!L zMW+ESluH6IEo6+fecQB%nw}{ctf9jZ4dM}=CEb4&r8MjRfK4&~`<2345fBlf(tn~( zjhN++2IApNdI{*4)rO@;2ve5WT7OaWtV}!?m54`NZ_SOOa$lJrYeNS{4R8xHnlG0& ztJQTgM3faH!K&qoPkE5oUH1*#qk`v1^+5Rpn18P~8Sn7M>sLT#HEC2jaKk;}pq~bB zET+DM8HGT}c*K1;^MvhXYp&1x+7K_x0*B6oPBEeyziiC(ftMcu4Mv7$`^B^m!UaWg@!oS>Eaa^3Xb8NFdQbw^hB* zynU&ktX49yQ!tmk(cX+nr=9J%r3Md9<#rAH@bDISQ+8Hqw`D^5wO zN0?pf1%L$VFb{e}U}#W*)(DCt-m@(6gszBSGhW@xT>lM?K${1#nq=gYAm{oZw#aa= zv_g1Vg!~}8uE8{C7t=jO>F4Q!_*cbDTMFwH@#_rzngLgO2T+o;i{y6jDq7kfl8prD zg$DIqHR-yfp)umAfw)N9(^~VtvjN|Okk$LKRJ`L3UvJJ z-H6pzWr(UK(PhzTv``@50{An`pklkIe7hFw)*K<&p*3`0QK}B>0C?(~_b^EIvCiah zKz4U;_B2NlkFYI(hVgW&Y!n3LssfIZivn-AFZ~QUvl`!trS6qERTPe9^1wHW!^)O$ zd$>x4rIS%9SM&NB)fK$2_>uM=NeFBcLF6ATOt z6buXv5bTv7=}*4?&zM8w{qJt>5AydvwgKVqe_Rc3AMzl7PSWrCLka`^@jw5=HgM0J zfgX?P6WiYUm~5+5s?)<9u&Lg=aue^p-o*7NaB9c$T>95GaaN2|tdim&&bg#));^fC z6;m^IYU%XYNdPSsv!D~gDY1p~g?-T=Wn5}!%Vva(BCe6OPGU*&_AvlCY}5zhf0xc$G7<>&MHy-C;w&9Iqv2 zA<51T*FPC6asmiE%_!IjR(5+lGh|toB4mXRw=Hw+9m)o-PNUPO&p634J%NvwOLzE0m$9G>Q>HeY2Pxv|=mdui3g3n1Q8K zkthu>M-7P#$GBz^>C)0oZU3TxtZN!(rk2YLCADM$86H=J?MGIYATwEV&x^*h-Ay2! zD5^)f2{@#YuX=uQ?Yo=n8s{j&sHq>2GfBo7+5QN615Z=rx6KK^F2k}F8#}yTm*y)M zG?5CHJt<4tphlD0bkn(Fzm|JT@J|8eERoebR%9TparvcG;h=+ml>Z zjJnrw2JY(Lr#(rd2PbP`$(6h?v7wVU*Tt`$zB`2EoVw|Tm>GZ4B`CZ`C01Rm)7Zlk z8m~8797v4{pwd3GGA3vjEWKj;80%Po^{m`sr}uT_@V2=7nzgL*+39qsEw3bM?!9XE z6szzHo*PYu?yPUKrcjCnh+VHRugsJ;Y1UGv>m>m%Cw{^P8PTi7wCr?fPVAr=1*H{;|AS>K>b%9r0M z|5-;91IxLWyjQtIPB@GTfYr`6xzAR;DGE71h#krUT6FeOpfAX8akc;{`Kysu$5)}M zNuj#sSj#^%n2vd!`%mCCrjeYoKn1sJ_={S9`=@0y6+kOGikV`~4e=+ibM=!d{X|0O z70H4afxXP|1Epf!OKywOTjz;2`c_czF$x>J9t7qDjdYzP@j{i6^4c-9e+_QKR}`)W zr+`y9oaaY_dLw2!{e{Ln0l`uch<0TbcRAfH8UEKsN15}xpinqi7ei_9@x+r+W0=)r z^IH0XPnoWgJ{i}En_4`-O7k8|Eztjs&yv#A@>uWJdvjs%1p&C7kIgNJIKYE*XLX?Y zXJZI#9AaVBqqz|6pLbkdBe}__t{B z6XY?u;h%Y5$Rx}Pp0R9R`H@Zu8(FFLQtyI{3tfWa>8%$?#xkysjIBX)#1LAh?J&aF zn*b})cV)!=LX=WjRS*^_o6`0yxiMia6Nc6d{+c=$mp zlE08wDGfYFebhqZV#xWZjrN+A)^ss8<1H9HFpH-d#P4=_O+QldpAD0t2>2ZsUeNq{ z0K2RX<^qK-vT&gF;v>%5lIL6?6anJNo`8#NzVkVlYL5iX=MvB&wJ3t?`^F3+A<&0i z(P>9{VE6>LX$&MirEo=;7|l?REkxkeM<1! zy$;-e$8_799*;19)?(Ul*0F&8WoUQfL=4x0$Erjhe*u(-P46=lEO)eOc?m4ES#5VW z{R46SrAco!3kYC9#A9eDXc zNBtC{-lrEaJR)Wzdp~i$VW^`ZsjkL3hv$}o2*$y9uVjXR zCF;nr9^B>jjA>tyAjES85rBRZJM63i36;lUz&}do*=Rkf*L*|uh?!Qa)r|h2s~q@b z{#LTafg#!4l@@=444C3^09!f09*Skg>6>`N^~x(Tc|cBb7SNm&D#n=$pwv-~{AQIY zRHFXC+dh|I^V56X5DHJ)Si-F-lEty?N2KMRC3!x%Wv0NNlMP_BYt$Ak$S&i{wNM9 zCAQ1REvy%aedZ+J=zgqmmFUXe7@&wpDIzf0-VQmkvO2n$^#qXy9Nd*jP>9d#g#-z2 zpFIp=Q~r1G{=BSqkt&IS6_1eH10T4u`LPA;rH|yUPwX2B%~e_8QbcgJ(xf{W3jnJR zPgypcQq%LFI{XM2Y7XR+z5v9a`}?kI*rIpev<;743;HjqfeOo~XnSHHYAMhRE_$|@ zi1pTg%O8%Am_W-+SY9F_OpRJdiXwv{Ph7odYa_{wAe5Xs?5KT-uVI!_AY89P{>#}x zD;!deY2d|+uT2h7Dx(A)L-&0Pm*0D63*>8}F}#iKb3}_R>Nl_arX00$LI(o~*sZW^ z*LO20*mhXuA7)z>fP38R$@EI?(p^PsQoS#a)(BQ%p*vh1jmwV^!P%~Luo|Z8p#+Jt zCe7DYaOxMyrURq*6Ra~i*LFab3sX|1evj`bqx_5p>?q<2wRr}m-@i|Ija6~@k5bNr zW9{k_Ve+oZYxQ4c7iVF5OTSVZ79BQod5+&k^(#1Fv&dN(Ijj1o+sWpgQ5pl$``Hs= zKL-KLkQzYZbydN;93&z~ivwQdy2wQSJ8tr&=kgFnmw2G26g$oXiWP!KC32f+(-?zK z4iIxjNNpNL3~0A8*)4Zy~_55&7b9Rzu)MTsDK`E?b40ULR#SO zP;|g@F6Dv4@oydTIP26^I2~#P_Vla3E0*zXN`&VKnVY#`$sVWEDJagw<5uFtS`PYaxr{@$GyJ`HBX| zlmnVwsQC&!Oq_-M5)O*YO+A_hg&LxCdW^2XBO7y&pNXM}plze(<)&z#@|qhyBe=p+ zGP=_x0hreR)gd1+IA2iMUglZvi+3y6JMbu-alw zLVG#&AFY_X;crNv`iSMos|$!8^H6QECN+E+>6F&Vq=q%5w#eqk88sTE@A>IhGoyF9 z7$eASey(bqq&tCvjOnA=4{`)4>pcD#kU>wENAJcmayUSDY73hZrs zvm$2W>+gb|Bwhm7Ntw6~{YADiWl+7zy~ex9Dh#^|if$&jqf3Sjm`W@P3xa0#=5=D$ zm?Fks>R9h0I=(O3Lbr*3jZ+ETPgObEd3g<;P`t+!Zk;RSR!h)hBR(ow26uu|rz#?7 zFcI)DFNPF<&xv&lEy@Yr*t`wmr?R*!6&823lY};7OY8BvmckFmuy7ZHHcE@zVubu* z)%^>Vk(pPzXRRB*=R8&Zb8_1WPW*aKX5jOWU0`$_Ta@j%OAnk!UXVSvJ$aW9gDKmZ*n;-zHoqZm2UfJ`(;^~+$vLq)p~-TJap3cKGwVt&*RTmm@cx-d@L zpq5C1Z6`9u8=jo=vG-%X(N(u`AkKY1#tbS262GU*H%Q{IC6?!2( zmQHr}b=|=`kbjoCx|K`ma$pp!B`_?2_26Ulds~)2d&fi(+|S0|up^L=KV#$WzYj@s z&`4E#RG#Pg7FCrR)s%y_%SQ_P9d$h0bz@S`wl%A+G(x`owK?IyzYVCrf66-KvaOW{ zSw2k?G3}w39zb3Bo+=#(zVtg`!7 z>fNpHdoUQUSHb`o*zeGO2*UUr4Mgcj8|%Al41IZYFO<6Z(Q(CA*Iuy2Qy{*>>b^mcg%@^^W8U^^_P#IW63YJh$3$~*s892zdd8St)v7>W$OlWXoB^rOpS z8_s@;DBH>>1c`uID4r25&|yvya%S4VJZk(qoCV zp1!TD7cl&f6}fVP+^fMYonZm}mT-i4U@hpmIEpd(mtOW{{){G_7SqwHRpj|I+yT$n zxhDgIs3N}HL&@uV(vO}|+}@oyV@JOS#-pYJh3MIFDprg^YDa1glq_SVdXeOhb0XQk z4mNzZ${_OCKkVY4^k_bq28g+=s6|k{`Z8GJi;o-SmbjaySwSsYrOZJRP7^SXoGyqs z@wAUS*D%ndfYECMd*OcjUMQqGii3W1nO7NiZA!*eS_zWg0 zbhLuKt{3xYt5T4j-3Y~hA*WB$J4Cd~fgF&qJi^oHrBIz!>d7aWV6Z@;)_#A3y`6)( zPVqtq{VNx3l<-6g^RYh3!|t+(8M=)lTm-KFnslXJ)K_no2kSe?)xcpEmiTJ-hX?Kp zuC2ZvwZP4VEX?o!Dy2yG&16MptZPuu(meUcSipW3AMu~1rv*nUjdjD4uoTiO^PtyY zDMFg#E*gEp-)9W1*&F5&dnxYU<0OAXoG?-#%5mQ_4C7WOzRRLuOknMTsw&T??lfI1 zg@OIw`ntO;;rjGED6Bz7RtcaT7kTL4ZjvyxS6L71cTXHKBw|2#t1dFgjJkHPU(z64 zlEp66v20FlUGq(4Lwt!$e%ye3cTa@WPv!#=eKh;Rk516w6(~G$XVyU@Q9LW8j@4zW zOE>KcQ=)&S>`*t(FeTDYWg`$qjL+TVb}julyS>T7UsK0gZNbEL*pV&h?O(SirsBQu zL3{I(irH@HF2zHoNboyg((<4sIT!w@871C&%p$|g0&<)vbNtkxgMOVa9YSKglbH&O z+(B}qU)4_jwrYUSjKZtQuwI-Vl*f`^^>=bDF|+hucpx;4r1ZG>y^f zX(K=m{hOJK<6E?md0#_;mE7GyKC6{@#)H09IaT;Sj|A#R9l=I<(~Q^un^t7}l5dR8 zsL(r2p38&qFXm`JCC7ZF+=mEm7Z1^&OT*TllyerNmGSSYzeVH$$nEkv6awPkMQB}<;X!R-tDk7Pit@h#&5bYkb5L|4Vhfh-f$D{9K742t@ zpk;eWN3F*$tOI*9nTe=7&T*RfKBVQwk!R7D0o@~^#PC#4oasEc>Y-Rxy>9w((k}wc zB1&ORzS5usO0z`#_>h<8pznlg5WC4mUVvUrvDA2!i=sM|DSvxj^Rg!ALfW`oXG7SO zh>Dv;?qm~*4WzZ>9jU~QqxxD5-6@$P;a;7n#nT?^WcPXNQh~NFa7n4t{E|87Y7Bpy zGtUbwo3uADiXM`{gNgSbtKsSQczdu1VNBh8L-R0KHIxc4+o3&5;48pu@frp3=|ny-@gXQOmsWZ&SyPNkN1H%eZ^2 zvlQI}EmLeyA5@XX7W+{L|Z!7tAA5x}4XBz>LEN`@f-dQ;D8Yuj~%e~~5h+yzqshcpkHpEc| z&sGVI=+vS6;V2K%<|(P*?JP0{Oy4R8J^Gw5+=IZ`oDWx%aA-ZMl~)VVuzYY{`mdep zLd2|brFu;`K-qP+ym9*rT?i832&a$8Yh?HNrgtfa2K8y1-Szd%G&?;Xw~a#7evCQm zt|f3oKRqOkyDA{`C|mAc;3bb@Sm0yI{#n6C^d#`p01h(+lL4^SAhiHHRi?eu_-5!v z0Uw%JxNFbC#e|+go<{^&^&{bC7Xl2hUDhAre!@F=PO71ncjuQQihYlzSUpU ztUKcN(we{KQZisAgd3fHFR%##=h`9uQMh0TuDmlTi)=`8+M~<}?F4v98`}r|UsUhU z#sL7R+)oXs1(|YmNpQ zW>va+Z^6|Y%LhyTuA)>nq03P)?})KxY4;?sNTD8#lKN{2*5scuT134 zQ^2K6Oj?fir8OT4XIgZZY$hY$8M^F;M<_kL2k~<;w0{sB1y^yHGd^B1$-KtRE`gVO z$5>vpl=Ne@UUrMj#v{%a?KiE7WW_V5my$XxD1H1&3yT=7jBC(j@Pz|*Z8;VYz#7C zecl?Aw4BNg-&{Z(H7qACCra_LUo*~kX%<-kJwFoE-wG{jSf;Lg3yecG6NkR}Bj^Ks zh@c#Nc^S>oU_ITcWAw&*P48PBI>a?jL_lMRM6>1F1f*WJpNI{vtlOMA$L3-$4kH{0 zl*|5)kI|loKZ7eef??Palo5EA>96)m6J$-uYA~sYs&$ISIenXJw(j5!Hb%S&i_0KN zj>BgYk1Ku^S#EsIS9w5%TB;#TT?a+JZs%~nl^zP?sl*w-m@586v{2t^tBuLV3j;%9 zmJdMP@RSMuy6PM0K@KRu7G%SP{^Z>S=^gNaNS^h6uMrQQ&iO}Ibs^SAeij>3lRwq3 zTl@}nIA=~4(cxYDhccft7e7nj=!OrRp!_{b)B=#y;+?JkSg^4>_kkeNP1G8wv^lvE zU6U--RDwY$zoalgw&iOa@jNV)FgNY#aGeGZ(oJ{p!M7NJ3Lmnt z{9?Nbg3n63{rN2Ng93RuxHR-+Mj>RQWuUvLFZ{;dnN+Ge)K~HM%=+id!Ntv=F||m# z!j0E4MKsd%S0NrfT>-O3v!qwBeIQ^FUepX*vZv6b_mZ69GPu3;cz#v?B9`%5NU3lW zxjVtt-7h-7(xn?w(q`!|}8J!yP0BVuZm~Ktu zP{|>+vW%3k*^UeB0G>kAlV%S^+#x#mquV5*_N?#zg9&25&@=j4V#scIu-$7C9P>Zj zc?oZq!a8Mm^0XfZ5yZkIW;(|Q%wgfJkPaAd6ivXX#TIq1vJtN7E|=XFgz0yb{e`zq z3ntHr_n6FQ*@@R`N!4?l2cS*Hoo05HxGg{!Hi;Y*$=Nj?3|3zTMO<}B-e|iMaVAVJ zC>qpD`I${Bg~DvThMCp6g|%R2?K+lRk^1X3vu>GEAdc)Y{vT`S5S$AWt?SsfcI@of zwr$(CZQHhO+je%6FSc!-zi!o?obeg-pu2k3-BqjCde{4$-hcOW@Uqui4F89bL~q$5 z=X$Kxgo8*8sZTo7%(8%}r%XKACw?M@LI$m+brG{aa>A1*H%`Le?OBgPf8GyPHRO# z48167k!wcoY+=1wRKZ_;icgB&Bs%#X@rO}6GygXvhD_0r0@DZ6zEdnA1x@A5b?&Y| z{+{y426%QYrZ-zwkX=i%=Nj$J4~00X774yGa-~O_GkHDjnG)U!R7&=#8+zHY!#b~a zm3hfGPXAi{FQaLjtPd+$rn%0y>8!8F>|6&j(BMIiryLZVA9c31J;b*PMNO15sUw{| zF8@eD{8{ghm$x$_3UmWg3@SR(fZEw#9pseKUxnvon#}QwKTAPc_1jA;(_M%jlFxGu zr&IXDi)hlbf9wA`ZC*(Rq&%}Mia?ten?>|rFJzuo;vp@w)IZ$j@f+aDyN_TVuBuC{ z+gFp8YDGc8tclo67LD)yZKVrX#OgF7N|?CZlioIjfv zoVef#)33|Y9i^93W}bFkY9*r@Y0ytXs|5F>DOS8(q8;X9p6+tg+&QN`;CVbN@qIR$?$oIY=V;na)2qeID$!VA#@ca zhC=r4Uzevb84%LWiWaS&(lP=q>Ty}x<~;EKs~~^6CsTkG@>$cZ9x2g-_@S2M;@%Ld zqzfe<5zH&y%(9Z&OBVfgRHZk7U5~p0G|?>m5;2$kJCBmB&}chW{3d}Yj=d$Ux+4CH zs5D|ufTNnOgN`iO0FHksj8qLi8Ltek;^-loFPPb0@5H>jFnC5mG zt;{bM{Ire{(wdD29s`&eIz+-wxB1;vF_+oCR&8~*bBFj+m!r@QATHAi^ zSeq@YoH2k6x46+3U|I9uG@F~7&3&O@(S65$F2339Ci8N<*~AnZ$N>ll2p=dQ07T$R zocI^|!2b&#SZQ0r3aoMP@F_%OZv6&+�D?c^R)oK5EsH1$45+eu33u<}=6bB@U{@f2%M(e) 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

oaNlZS1VvPQ=bSwO<=ydsN_lzg})3a2xjmgH{= zV+K72a1T7g^cCRqJVF1E#jG1mVLoBx8b-;x4S8b)YW%W_tRyhHTS!_Ox$r;SWq*kk ziUc}~!)%UQjT}lhO?J)sf?$|F^DVB^1^{Z&m!oq#Y(CC$^@SC&SBqruR-`P=2AJYKAT>+hF|1go zSpvowr`Bp)3`#30KJ~CzEz#-Y;6az6&1``0NVYeXC-~VF+EWzj4U?gfnl-Q=9z{*Gm;&y^_>+&jrxuY zK|E$8c;72p3DdpBl!GK#%jo#MHz^*Hzn&DUyQ*TEt3NPvktmuRtTFJ2bW7l4;yPkz zMC*8P3FK?Bs0K7uX^pK-6_-QoWJe#L&o0Bik$5|r(64g@8W#s%y>y_z8jQ>4=YJyt zWhpEUu`{@o3V_*fIaXi&8c=LI&zc1JclUZ+F8UWfVhr$$Mr16Bm@Oelsq5uICeRcf zc$O`~_mWC_(28_ropaN$NQ(=8h3M^+_+(y zhrJ~VNTVzGmY{pe6A=KX54VJTTV#LGf{*rGMaRwzE3;y5rNDHLL+P?JQ4d=X_OAk- zA}B6)Iufjzy`!SCYYI-Z5I=Xf65YgZr^~P^f~B!s{O27Uzgh4DnYK~a%njq@W~AAU zai$^{@u%W*A%ZDiFbML~35q!AK>N3yyERdnJ*lMxz^bE-m=8w zz4AC-b6dfA@l9oK$#$oQup%*@PD}m?4VOM+y7^-fsyHd zxrQ_)Wio)RmZq2gjvhKmoExn>#{d2+Pqga%YbCpyuyy>od#iif?^)|y?Sy;f+iPoP z!NtJAz`)?az~Df^c=wZe=lB1M6ZRMW^%MVskN=Nq06z7@x!>!4^Xvc3qnq`^jYffq zzW00lbAu#UE;huXHYOXu>XAm)qC{PWx3|7B;{DEf*e&tny^SzR?2vi3i9N~q*1y77 z@6W(z$d#u~UIL<)hwd;hBFCVW8^!A$MZ@UO5n<^cL4x_p#}{ReY3{pLF@ae3N#hG^ zzm!PeGZU2&{3$IvHWe#2*18`BJz)N2 zUAmjPa6aeEgA7{uPZ>D$5x`)XFb6Sa+bMGSG;HLSf=Ud%vU%?O#GW7eJaQQQNHUj{ZSVrsk}#H|#) zfyz$!aqI8l>TTbjzC&Y^wk>w?x-A1{LnlTT@CJjEL0h)%LX{rliL&~STn+H1rrN%Z z6-IQ}AVYY(7j#bz{wZZwJbl4{*zbIxDz**3Eb?{e;WZ_Swx;UnSR=dM*!3wK8({ew z>F${HM(<|q{<;zK)p;Xwek99nqg_;kJyyWPIWlCZ0(F4V%JOLM#417m`ZLEcElBh? zXq%+Qsz?B2OVD#n#Tzh7St~V{Lyvn9exHj0S*#;SOl7{S_P~jdqd=_BrBd<=`9MuuE4w#Sfv^T5zWN?5VbXKeo`zdlcb{lR5La5OsfN8Dl ziUzH?Z)uyZgYiSO3cx$%5(K?0c0Ial_5{O9ZBYI^S#WlSI&GKh7TeG(N1r}-V!x_= zy@3!j1`FaLc-tL2bX(H*A^v_u(3}(vh(AQ1Txfo3(`mL3yxZ01A7p-CN$k)%F2Q*y z;OZuQmsxtpRCx=M&``B-0oyO0OXtr%WAzP$NeSU4_sQL7Qn1E$4hH$&->nSy-d3qb z2<^F0#Ffp)lULSqSwy%hycu8tQc-M78+BCK*=^o(X*8y1U%8E4odHM!uVfitvtiL2 z47-rZ;)r=Rvs4nYNejAfO&qr8`KGgWi{M9o`w5&6{ebzb8xrA8>}w-_Z;WQ*{$Q$M z?RXhDy)?GmZ9xb3t#}W!o73VQ+jZ4k-mfl$gs|rEKGLQ68q?~X)S?f~4ITlq?;ubL zqeL~`{ikX!;R4rk^N%tm73~T6ffnOR!ada5ZZDSZi)n+9x#d-ZZLB>u<$WAz=K4sy z!!)JoiYigVQNcu(^(LCA3OUHLU<|BjMz~P@wB8n;Nx46hJ!Lv0|B

my* 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�eyJFHMMiRDA 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

i2cbT*TNq$CC(kTWVKI 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%0D}%bXtlSSO`jOaxm{$Zx9}cjHnnl1F|E-GR)lI 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�uk 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

    J~}2svI%Ho0pShhn6(CO);5tTkHlj-U~Nv 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B02.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B02.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..5e14a9b525a1658a2e75e1b784b25a5e9432169f 100644 GIT binary patch literal 8314 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 tOXpC)-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B03.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B03.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..6ac049ea88bdb8b69cc62644b9ce895ffcb81d25 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B04.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B04.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..718b05845f1dd65e511a9971470e1d05147d4bd1 100644 GIT binary patch literal 8314 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

    8|A4g^W^#RXT;5qDj-fybR zAK9@?|3!b&Oe-dRlmmk5;MN`7(iP6=4}Q^EwdyFN<5u(Y$Nq)u04NmdB3{-^+SNY( z1_>6lwR^srmkOJ;;TFL-(36oK4rEI}j-2S69kHyUe&jTZL7znJ_hRJ;m!KN`PD&3Rxjz8cw_`07PCVjP3n>umlI4__u0H!75G>}&6kZ{W4 zoGH1S{2Juz#v>TBbs2!~4}9y?3f;Gi!WN==I6x64bw#r5&J}h+sr=9Nhu{%>1SnjV zDKIy7K+i3WC-5pw8k&TVSa^2*c7-2dk>0e(ngr|T?S%F`H!TG~_K*EoeC7j?L`9J< ze-wAe0E-gb&HT}{@ezbpn0e_g(m!Kyp#3>w4!V2f(Rhe3&Ban{ujh4$?lj}L9Cp^9 zl`W^U>n^FW%ZxnY<9Mbhj4#8%E`M}wH~p<8RE03p3HX6X#)yNP(67aTaL^k*;ySd4 zb6j2APUjP`HC`qhzJV52pJg_SnJ3*TGt`P-;j*MQIc5D3=j+wOY$MXY_V!LW6glL{b!$6r0Rdc^A33eX zy5YyO<9lD0QTAl2F3(J4Hko<_bzcP=*Z8u9+?#`NB`Vs)G1P535vk;o=^kTM8;^zO z8YX6@HG#nw42nM8OOB_)5B?{DcwW&S^Pi~qqPm>=B0Z>lky3kQiA&WaQ=dqMk>>GR z$xAd{smy{?+8|)}@@6gLW)}!ri>`y(zo$6kGlXl;fkjiyuAVFSD9cl_lp(tynKE03 zwK7AHD~6UD%uR65i)z2d99%v_Qk8|_rSX$cZ;WD23qx$ceJ7-M)Q?^Bsh@lTolinIbTT?iD zL%axg{AJS8$n7x(?=NZ_*dVS(k`x(&Zvs9(i{yh|^-1Lz4Q8^Ih9gQ16X6<+wL(q+ z9?$A*R0h9Yo_B8phV5BEPWTU&W?*NwqWPj(EVM*oO}o%d2lQB?U_8+!{_c|Ug!Jgc zFXL)HSYDS(cljX)G+ow3nhUM1>i}QbMe9RB@L2{F zQIjaoudCsgU)Fsz0^MyeS_6?1!Xw9*98{oNQMSd)2WnPbe}2+Om&Z8aS^ot(k%%N! z4f|YW1w?oDZ~n?FUVsUeV*%W&ulh6ypMDGi;S5c`gk=OW{*Hzk`tHs!i>t8FE98N)%=cde3nM-2{;z988 ziM6;u?2=oK)@Z&#?%sGLz5@?jkNfb4Ob$@^==R2a7JUE`bART=dSJ*<$jM)>n58V^ zQg=GrbKNJp{YsZM^?0*Oe;=2Oe+hmrUJTDjX7bT!w~4t6dFxl}?>j}CFP2EO+zJ0m zXP4EO5RgZ-B2uN1JoTaqyt*k*673KY2EK8UA1$Fd&s-fW4SZw)Zh}ynjlEFir{$U= z@rdc4yg1Dn?v9?i35O@x;Kyq+>f?@t7BU(ibMd=1)xQAR)o3X`ZfEQ z#G{_IPunbaApVuGG*b}(hsBdIjfPA$$@&ko=s&66FpW2%{LtA28*qfyB6eDdh(M$n z-~#^&de$H3v9v3E;C@OxL>|A1XXVYj0BFUx9X->QDc^fY&;Xc=ZmE3D)B zW?C#b0_wV?0?aregWXUk%uCEg3C_z@VcrEcNS)4F(!*7vN7IHvVwAk_of2jUbVxu( zFh<0$XeUBlW5=GeF8(WCX&<6#4TVwX>1M+UdcxdHr%vnuaw-LXh8Buv4r*QFD83+= zcwvK1fG_BAITF@mQ@%@)F`?wT(Dx=y_c(fV-(U~92-fYLXCH}Zw|2h@&JL#ek9!xZAyhc7?5f6+ux zKR`DJZdbie^+C}BtG;x;3y^@PO_QR*4mW>P*n#;W<#Q>fwNh!_ zLEPi8VB@#wE{cePi+BOI|7XjQ`XD9CkXO#fPWB_^L3&_ASx$T*7hlstlCg1xJu`5? zlu5|bz{p)A8vjM5N=*aqoVGcb$%Wz*PeZHg;z~#o+w^ImE-7EpR8WRAZBLwk7hgA~ zL~s%vI8UGJmf@8}sYs!Ue(a_4Nn_pw@Z658xwR=%ErYS`8@zn?vVH|vvnJLDgJg%| z`)Vih@ATfM?d4`5LjsHix0g%bDM%=H)cbj*h0i7O5q>)G9!yMlgkVpk@Kg=8fpJt& z3+zd{h8MPH;Hf0V2(jF5I8qedGd=W<0**QGBCB~V*mV#u{k<~(^nX97KUnq@l9BG@8LOc^ucpE)|Ls9J*_VSC4YhDRdGk5p8hs6{uq zGoCF#N{7MzpMSUhqJ_j;%}Z-I!_M4blEwVQL)@M1eHFcWdsGKkbT_%U8JKrk^WeFq zmq~QWKXERLAGx(7FC_ovcXZbYRTCF4n;WynCTfU#+qYEtTri(st9Q0*NsNUFHP2&X ze9$R(em6xIT|f0fpfbdyl|AU;(Q`d$6m zj>pm(0%cr=4Uj>z1*@2g=w8C zi2(m16?eLn%Qj?EALNhP3#KRt8Sp5We3K2`Vnnek}D@%LMri2+u+<+7VL z(@?Dl!CqKmL%~eChz@MDUqqG9)OhK^djU5bQ#@BOKlo=?Ey8*sc?;vRHKyTd0JZq@ zip-PYMfZd<^PUNu0R))?nFkfeGVo9?#J7(IZcx)ik-K0{?n}eYc5)k)u7StIP8-F; zlaKU9_$s+p)N^8HEpf%)wc?p?hHm>|3MwLy_;;5nG_7yE1H@~b460-tLT1=o*S3@- zxi&XS1lJX|#KAJYWfdfo0SYccRqa9U!hUu&WO^9iL+N5<8bMwC4C2flQ6?N3Ju?Gp%Y+*JNw-K_?Yf2iGR^5-j?2nulcGK#P zHFx%pWgN(>^r8-he;-}ZsB#vq@$)c@dCZc0cs!}N>VJsGdwGAu-QZQuBWMag(<1pQ4Xtb-^R z;ntHBO`hK?FZ0YN)j-}OsH}P1Xd`T;cQDx9X;DvVdxzAeVgg=_?yQyEaUhF8r0%e5 zFuW%>cNG@*yi3e_5!>Qs+;CuL*g0r$*V!zlT{^RHzx6o3(}xLsou@9O8T;M}nU=a- zxN@Cu_pTd2zkco{KgJmzpCEbR#O_u@a zE2TbcFad_%hswCEgBYs0_Tn(c&<_QyY#8SQxrlxl>OV1x8-X&-Xel2BA+gGxnW6+DrcLii~?>c(cJ(zMZosY zR9ThfYS>|79KS_hUGtp-#?R5_8$UuMmuy_+-Zl0K-vN*HL{%8nKG+u0>{}S6TkZt$ zeUoSC?=QrbMj#<$VDkdRDNNy`AaxGve8VB#r#f?~PLY}d;w4e%bW^K?-bagl7c6nJ! zUWEE&qJKo)W4sKAMoj{ciOxK}8Zt)%_xH&~u&^H#p-tr?bmO%0r$dm<#CC|)&#B9%huYV+eFE`* z8OKaKoJhqw{9VMy^V{1E6LO$kvw!7y8Uby|jHm2P3`T{}?wcpBkP(6JrQYrp$kRfP zjwHdlaI1pXbgze1W|bm)gF0(!-_mZxY;n$YUpXMO+@TXJQ_J-$3(W=2A{EW~HbJ4z|>3gL9!1CS_)gDw~c2?I;DkS*Xi>ZL}SzlefhLuU1zf#qL-X!%62o)qhg zbh3*#l7@kostz$9orrJ3#*%q{Yvf%{`O~Y5_+OoAF>TmO^ru^}&vY<-2Pp0ImbeSI zFERx#Ux}PpQbHEuxxbg-+kfhf94bmL`EZD2asq7hi;I-pKTm5I0bz@!o$whWcJR zv*|NK3I`SUfy19@pW7SHWUGei&%^VlL@yemrm-#-M~8lhX1bb1XM9iI>MFLH0Wrh+ zQEu+E79gkRlhwFg4Xdz1+C|e9iw=FN4d^F^p>mU+a=&)GqfHFT)f$FRHN9$x3o!Tl zj2AY^$Cil;H+hFQn|~&Ogy06Uz?e6m5*t*oqdK7QqJyg%8pa#9!|--&;J2Xj_b<+ literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B05.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B05.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..c63567895546df1ba8ce28c08407b64a50d23368 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B06.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B06.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..48b17dda24f930484a3a396464b5cd04d27fa3c6 100644 GIT binary patch literal 8314 zcmYk6V^k%8`ggN!W5P7K$+q3p$!@Yvc1^a;6Hc~mYqD*-$@RbQyY7ek;aO|1z4q_x zBP&Y}fdBykfd~Ns2?GK79}@Y`LH-XzK|=q3kMSQ5{a^ln9o+vg=6`#y|9HIr+2a3~ zAt)dqNdBk)PX=K@;mDGpq{FdbP#4<5uB^PlGb_ZX7AmQ=CZK$kv(pl3;3}NeN!dfx zxqNtAe#(|Ah>R;v%B~6HLMGyPDc~AeYe6+!1A%ZZjb-?T3KVOm7d(C*FQ&Tibl{EB z&KAr(mkY*z=-G0WC~ zW1%bcO&I@UewD1z{!Db&SjpBNXGlX_y~0_;rO9N;eS3YGrLT^HBo`k+-sTC!)kGyl zM*Ag*r?1b{yHSEWlTP%pbo~imga4Fjxk


    JN>^pMj1P0)75CD#HmYFK0offd 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B07.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B07.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..acf9bfb4cee45acac169469ecec63006fbb34bf9 100644 GIT binary patch literal 8314 zcmYj|V{jaR!ge>djmE~twz+9+Cv9vrw$a#58aHTcr||}jH@0oQ_xtAlxIdnmGiT1D zpuhw`1ONa?000y$0O~&^{+~hp4?{!2{C|)69}n|i{(l|(|1j2nd!PS!{Qvn9{Fea~ z008O#^#92KDn9wzh74v1j{5zMdEFu2MWL<{s|)gn%O;1IZVKK>9glJM#AuVMjg4J} z3n2K=k^S$q*!ThqP3Fc%h$uZK^)nb=4=H&TS_izp&wXV(-XEAXdKh-|;QN{G+X|Q} zZwUs5WTTTL^lWapXpBe1$xpxMlt~&l;CL|dOI)|*^pN|btkA7aM(d%|;J@r02imYI>m`AgcG$CW>{>}_L;lpz_|8U){Oe%WHUJn8gw4M9LQq~k{KHex^Z%KGG zTQn|)uU;VWDpK_g43amj-nB6jGe1ZMzke!8KX+PW0^1j^YqYLKQqc#0z3>HeEaLHw zJU@z^X;^<`bPS*);HE#3CM0$AfVx#G$HWO&5@q=0E*Wa z$nj|xMtQRA?Yio>$9SEdEc^tjDiLqZ6eU-nbSun|j)SEeLMOC+YnSTYzvla=T@4o= z)(7#O8Za2NGslX3BQf2HPctRcKD2~sGySHry7H-Reb!D)Fu}Lt{QR3R@>$fWp z@~Dbo#=Zg*B!Qn5r{W|y<}UJ@%{*sX15=f(36y+--B4aVtboT3Z6?Didv&}h3@_+2 ze?yr{La}nOsn!j>A9HU|HvazT#ol#<8&EW{Tl4ChVwP96d|4;}GH-cF7lAfB2?=*< z0e)1dG8iy;V+%{6J>l0dMSumd*2<{2bzpR{bLwqRCg`giSN{>!^!cNG*FbpR54AZ- z$)kmV-Df8EGg7w&Cxd3-38^a_Sy|l4%n|jMZ!5xnV+MzwF#nvaSvZfl#^NdN)(an+ ze3kIJ1sVA^aAa(fh(hfB_@ACcTJUF56nMly?-+=0i&7 z^2_^&eHM~fPZn{gYB?lCCx6`9pSztgBf5*+^|n?}Etc_6OvBrIVJ9v15ihL8#s)a=Zsr^P zRdG=#V{y#Abe1-|GF4RhCYQ0Hhbja=H^g8xt0q$QnM*8drUMU_m|s^x7UF2rdQ$|Z z+_2(h77g)rMe%Ixde7hU5?>?!w;k6N0v1I5wnNmY}t9Fw1^8X9U3%RwMf z!l!7|HZd|2sL9sHV@~;n8WO*Pa2k~KQ#mfyW(Dz9(kpKd{_yXflgp4;dH@5@mooa0 zrFUBW1z%G==cl@o1yXGFDJ^eu1m~#5m$*Q-E5^Tlwu|NHZtXe6L74AAR8P0D@v6}W z5vOCFbWDddXH`=$L8Q}h@9%ax7iC6DLi-vtGcpQ4x`8{mkfzkq0J@je2gC9Fst=^y zWEz*~;q9cw{@ftiZ=W7a<)SCMW8}OUVg-p3q@$D;-I+%=zVM?Q0O zE#2$(9Z^EODsU-I$1L)szUZtH~LcP!fGr~otWS2 z>Y!ay1{az16?b-&U#n!p{+WGszV%#5y-*dNOxTMkf#d$b!SxldS%Kls7_nZ_pk|K) ztv6-N2Yg?+E0X<`aNLEQe0mxhV>anE1`d^K9BoIyO|;7b`u3I-v4W*E&dG%l%ca+_g~$KEZgP#{0P4VbMQ^BE40&E~eN!sjT_6#p$d zsdqYj8o_SBbxYf~6CKgR4C#J*NLf-w3H@by=%(or$+(b@JA+v-UL}pMEeX)jsQ=PS z!;a>{%GcPEO@0!?6v;qfhRivOI1M+fd2nhs%@O8*I4^(GXfcbiWgjf4is+mgkQs6u zXldJmtJ8M2!|`v1ST|z)#iw0Q>Rxs&fBxcFn z6}7Z^o+-w_A(Sp?*`{Y8lTGM4v~ z{R;w`7stHQmyBkXDoG)m>8V9w4!gF0cqn#q*5xOYQ;_X`k~zrG@SM}4&}xb!^l#s9 zoHHheka;jqNLa}oCIk?F6%QItl=6)j5xUQ|U|O>Iso{Pa*BSYB6GRYp6oQ0#^RPC#f`~GbgQ^4H?I-I7Z6eoy^>R5!@=ZQ~Sc}P`y zUC{S~GqnoRLh4e=FUGyzUT+{iMs*t+OF*(BxLk%mN`ZD|e z>j>k?WDGR}NMl#FKREwn%M-E zwgwAlj(N|{zGqS;hg*HTbr2{aem~CdAloA)+QqF9$tSItE$9Ifi*(pK@8RAVnW`5) z^O>$_&8HXcajPzNx`505X?!I=i`VcA=|C3puhTE$o^1cqV|_KKog`Bn8`dS@wS zF@J45Q?WCw6Llz*NK}D|HB%O1Uy|~$pp&Li+zXpP7tMgahj0cvyRv_V3SmFGilq1u z@C$t$diXTQ8bg4I7nBE8hIJsvmmXsa$C;rCg*XEy$fRj|1Y&L>lZnGQ@)28w+*j@< zP)Az7bKP@%$WPK|jQh?u-|{3oCEU6->Xf3D5plbAN*oG16)JaM75cfs#Pwl?IXA7%yWCtVMD{mllS*;lJ;mctt@+gN9XXejmp{^DV@{iNiB zr#oE}&pG~TOaKPzrV7rE3)qbs!WAJ+IZepqa~hXc%#1~pSn9pT-_cRfXBoGWtmB#^~nP-Rt-rhnrR3{H&Qq7 zsDw?CXp?vKvd4!I#|SzGGDKhQ?T&-0h5DjV44x<`U)5V0(e0xj>A#)yK))o!S%W2- zQ@aR7G8&66PK%ouwha$hx7%o07GHW+!;Rc{-c+^!l{)j9b&*sCN*$3o^8*W;e zIfJhdq7D=ED5H|X#fKwC6-=q-^s5FImR_h^q8|ZsUOp*CE_$v z7y8QS2Gh{llMU4#lksG2jCRe!UOV_AR1_SC>hI_)=7eg;? zl+8R*HneZk_v>Vdig`p~_BXVEyRUWr$+64dLG>Jf+0YMQl@6Y2$qh5!sR>*QqseW+ zMcd>!qVM9*0b^Ya&m%2&cv3s+9% z>LpuYeLV$=jY($8TxG0ah16Anuh30$1UfbmYUs@@6wx<<87d*WN3krp618j0+ha^b zWM3s}GtAtm*iL^)aMPHw4^u6cZ!RI;`ZFVKA5|H_WP>|G7dv(iab^8wnu(L$#0wsl zeja}^xlYT2cN7dh4EQk)CO2teuys%$`}nXIt9ri~tDvu4S^7bNDqWinGh4|)Sg5r6 zwA9_q&?avec3)e*c@ADc1KF$iPcT-@?doBb5~bw{gTb|x%UqmVia<(^jls?Jzfn`s z)WjuK8~+bjZj)1An6!~{Hzd(r#akfBmi zYn38wk#lq%*7IdHKh{!t2Bl>tL zK+E@o%Gq)19f9k$w);mMPZa4J@R=zR3|m>PAa&v3GBN&F`_EiFA&?z% z+cL!FF7I=G6&Qk{4F})VHUIeYv8I}n%MQDb_Ni=^sArSOT?TXj(jXf4r59*;eVbOR zwTK8E4S9kVnFgk_3(_+OzIjZ8A80j*#jHi~`fh`WUEYgCYKL`~E`_oyu~xP>I{?@yS1ap1TegK4MIq?8?eq;`OTL})8Y#C4DK(P)vvnuCvI@_-&| zv2G+9aF6~$RAWWiQW zARoM`Ey-Cu8zW$(7Wugh1oEqL6q;f|e`{B$D=@kq>b0l9F#7lR0Pc>`hEIZ<7Vw;B zAS>_bwJ83MxS`M|7gwIZ-$2skcP+6WM7HCTXSu6ep>qM4e}9R+*bKfWWKwpC%H1L} zC)E5SL(_rG3a_d^7Y|FUg0olax&}Cq=x==%lqU~29miK!jLKVx(w6N-VrY*r9fvT= zQOCwSY~XYNJ4;Eu*KA+-!E|g(G6?zKWis*79UBwG)r+UHX^~A$u1!V!%VGxUr=L>j z;)~lG2f(O5kBo_F&<@yWM_$8xY>p*?J!+PmH5CvxL8?^0s5iD=yU(-WJ69Q_;nJALbpN*#rLZ+ov;ceE>lm4fBG zV&3$IryCMaj9wVb2ZWqs(GpQ-v?ty&2}V!sLrMfKMPx3@p(jferd4n%2W^1C&=^9|+jMSdL_L;+D$ zxDOjlu(``9`JF$_A84@Vi*r*rc$j_kQJ}`MW|yDm9lHYgD_eAjTPIW1=Sp4tXjsUyNPB*YP^Ok*(k_4eoh)Uvb*^X(j$#>!$GJAP zq&zgd7W*Ul1xkVx7d>){WlSFA#%JifMbOwzWCmZCffO~scgGq3s#Fy$Hk$V*?$bek zpea6vl%qo_>?_-X;`l=wLi=ag<%`KQ6MrTWfAi>gn+eP;mkfL>abEzaeiLB zsos#W^h<|4w6j!(1~c_>*6E^C{{?bsN^e+~F8agI9W9454x!FKL6GZqD!tuDzh7u( zifLNaPEJ%fLuu|%F|75bY)JQBO!M3cYRO}e+^&(|pV`e!a%Pd5mzYIKBj*N+^vTJn zAi2BOh>V|F_6s_}iT>Q_DAC!R|H~B^VT=wgQNuEr8VZ=uX+l`H3>XTEI^LF2o+8^t zvCYsxWxK;fWHSc+zE3TmK1~#SN%4kW=af^&xcojl#Qd8rP2EHvIOYMoE~Om4)kfZX zKDQb~5;>yc#y7H1LaH^Jj3-IUpaH^uXBlOX__n@ga>hdZ7mNLD%UV8G!K($|KqW!H zH9FTgqj?#?vYGtW`&69nv!yi%M1#3T{20=e)1DkctD?fV2KkevMb);!)9#b|8i#br zIU2>Bvo?uo(>8cQo&$X3J=~|m{k&fNz9lw7iY>dV2lWZ!nw;a3^NVJCCmVD#A_4xD z&Zjda9q2N=LzMNHfRYU)idU$$S-V{SL=q|*oiP+;MYBK;*!cLk%mou$9uT8n<8wEv zc`+?IJh}Ke>(%op?)?#-4tNpsX2Iz``kk^!%_(Ahj*zyhCIe9z&xki8gZj7Y0q{`D zmpWL7ynxXyo2`c1A+F=oZ)32qUN57tt=xf!3hs*}v&ZmO{{}5US?>G^ooK9L1a*`o zlN7dI6zC0y`r&h;Rf(n{kD?8R_dF{QFotmjKP+>svQ0y!d7E=U1xvf^PfeHhytZreXO zZ2>m4sZed_vH?N}+A;-qxH7Zo~9TO)1-$8GUDqGKk&6*RX4>()&>&TqpF z!fKKQKh4e8NM4C)8C>cc!pQ34%x%Vtv0~k@kX*K|Tmyg773ZB2080RFCpQ6_=aFK{ z;e_NozpN1h5LOGNA(8$bg!0#v=<(}N^LQ4|LrzDY`7-##`8#?LH#T4%xfQ$Oo==)* z*n}J|6eo&ZHbyuirbe)|->~U6K$a#2K1TN|i%k`~^T{tP6NcpjZkyxTe6J)c{_Pjs zEiy~9dqRk{73rab?ir2r-;A@6jtwQnLfedqczD0??2|rarHwul*Ru5K1oCLI=a}Ko zkw)mk1c$-F$B3iwhNj`>SNb%Sv){TA|Hp^ z3e0_D!(Ak&M_a$&`p{Y!qEb2ha$yB}XQ-=(wyDv*eIZq%E;OPAFC_T!p)9>^w+F4a z%Jn~$|2^sHnl0sRF;aOm!Y;5vKEvx|kKkX?>j(YhO3Q%f2#PF<2~(G z=(BIeyOEU^Gl5`$Hg~N~sC8GZ$%vw_tS{afS+2`K>A^AEG@o?NTiE0d9nzVvpM?N z^3_CRRfB~9ghNpAB3Bk<_A=A=%eB}jEr6U`4C!@fFg1PLM%DJ#*C?XvM}Yr!K%DWc z+yrL*O+Qp%!5bhZ)lEdv6M0NqTs+cWE5yM&v zx>B}b-wh$zg*7jF3RBZ0w49PXF~y^R4*^#26CN* zKxqxptflM286K#yore4P--W?wqSU-qZZe{_(sH9}-nQVAA zv+1yV9Y{!?vS8%7W;pJ}`aJse_p*Cb9KKF>`E88;3tFqz&+T7K+fMp)Top(oesMM> zH5z-qh@^2`xtm1v{JC!eB(`47@`xXoE5O7{l?PY>SaaDtH?@M-5s}7nq6hRh1ov|R zBm6;HaLYSL(Cd};Rj)UJk@mV7D-q=_DDAe~q*o6rt6wla#07^!AjdnT4i06_Jxs@n zc}tf%pr!)3iYg=T_|;(lpHcXCYq5W4DGD3x^Iqt;CfjRZ*2R20waLj((OZo2&U?9Q zcB;9r(eTq6Gs~oO?8jDkr6SD;zv+eyk<9LR;&WzUPC z*ed1pn3fD5OPoT8-L~Hy{4i9uaHm-nwowq?`o`e#+^c4EXREGIh~d6drAeAuKi#h5bPb8AneRZo-oDS=UxceF@Cn=o3vxtMr1>@U3L$6ZY3k4MnTT-OL1RR^|gB(NjWUwP+ zUg7wM9F8oKoe>GxLSF1a}GV6p9yO{@~XRkUyXuf#I7EY zZi(4+$YPIhOk#eg4rpb;D_K|@So)qaaD0>D)vW{>REd#Of?envl1WeSpGaPdjz(B4 zrjeG{<(qm~7xf!aRJ<^P)R066&_IV+)l4D77?{tNvTqSSWiS)K3=zhwNp6z&kRnuy zEmv_2I4!$>WgY5>8A2}WY8ovxLUbDyEz@=3*#}0d=l8*Lt$S=Y@`Bz^a)n2w9EuSL zGCB0nV>UJ~>Dva-MTUwfE!(Gu&CN4A+wmmdWihPYvwbu?Wr@5s05ZpWwUx&Vl&cTe z2YcQUNtT)Oc>5J_F<)4Ct|gGLJ?EOto5#0PvMET5gA#YOjTrv&9`rC{-`noOly2KP zi`aNV!82$sH3h=xe*OsVH_7Eu-Q#ACdt=!k?3BFM(3720kFS2?fTOq^Sit{L6y3w= zfM+QZONubzmEQ}}wD1T~Hy>zVMcDIs{^I$j1T+dmPc}t=FA_|k^0Ec@fxdepv2Vrq zVM@i`V0bMC4e=RW#)lRS5AaxDq9N5nC|wdsuC*G&2C>abd!uyzfPLmG^OpNp6?xJs zY!mGsl`>S3YDU-m5_1{0)np8UMJb^kJ9A)2;d1ag8 zu~UW`kKeld6|bRF25ppU?4ZgFJ4(p0D^C7uOayx{&N2Is`1seSP3`;K!G3+JbA0jf zk6Pq0UHjNXkW%J9^poDTdoz}Wg;|+k9(?twR4D4(aK5gyw=F$mso5u@dI;hy(}THK qA0u&pYJ#K3zjy7F*UMiKc3}fA{T{*>ik~QCnEQPyb{6n6>Hh#-Hv$I$ literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B08.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B08.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..b9eefaaa74379e0bd4417e66c23b3ec6236a4a68 100644 GIT binary patch literal 8314 zcmYkfQ*b2=({LM4Y}>Xyv2EKfbgutN=| zKm3H}E%(iQ4gP~yFB#8D#iD^TMV$y05XZam(H@s=hj6FCB$6-HdG*j1HT*zfAjmS@nW`GT9PkF%tttXI2=CxLPx#QxxFK~k^S-2samwI z(>2mxD$`?Ynu{LMMUaKcYejWCvWt3TmD&u&@Z|#EU866#Id+D7*E1IYT5ZuDkJ`E! zVR>Lr@1wjYzs$;@*x&?E$OSX0n}l8lu0bQ3v25(<1BV zIhUdVcA~pL3Bz}y0MFsqNi$SqClW*1l)6lKv;!*T^*R?}7G$*|yP$Aa^2J+9_1J3) zcR142tD`tQAh%$ z9;3eB0X4y=faBpzOgS6T%>szE4RzmF#)0GE42GQRS6k%Ed8slOgj2n^HKUqS241Mp z2;u^mM-mA2LtIVII%S9C=VVdTmd+~73`-kqd zVN^qa;;iI+tL=1mEaZLj~K1zjN;+i6 zOQhksjTLz=1;M0{j+DVs=ZbUlUdsk=Dy@BMBW{qM9 z?kCo5m9o)USwA(3xVwowNU@I4b=0kQFkklG>c3bJgDqwKH6Pp$!CX2M50vcG zH0o(sLZ0c6c0sPZ9w0HMbRLc_0b8K0?6aX-+XAKajy?k5)T$@*#ky6zH~e8O#+-Nc zxWLJeUge9er%x>ti)hh`KK12(2y*a0z@j6~KnWJ;Q4Ml+rmZr^yzca+SMSxm*pk*b z`6P5DWP;&L!gEGays>XllF1bB#M*7K6UF>^Kq0OsOm|INbNi++j99;p!|K0qJw%TM zmty#Y$;OHdafT$#p+Lt(=735`<&x9$8qMN+$->wW_byU15n8D%)7l!Bpn%f&Hfs~b z)50wl=&2}9e|?o&t=qtTPqY8QfL3mDu_wBZG$~KR@U%aB5zi@Khr#A`ZyOBa%&fj# zwSz&$S}J6q#Elvi%%jQ~3bz$^^8{=196r$_>yzR*@VjpA#M&6CYi1aR#b7PVXQp1Y zWKgEx^HhxweNv@VP82Vl$rr^NgGUbCNR;3FtqH~R>i_i7?!38)c1VdVOf3F0V~vO% z)5%6vi%`tb$UCNI!iefDiR>@b_{nMI8cC6Ie`N-&=J{wmdDQst6Be>w@ZQ##;ObOP zYtbR;xQ_{cpp@!**FzFuX_AmGQ1}YllX_G(}@aHhZ5_ z$AQI@>cSgd&!IVQ2w1(~NvDrey|t?D*n0OM+xBr=OLkHk9Hw zmoL^Jo*3h%9rv335$1ooR5BiOweimTYkbn@iMaFKKJK1sGnJB>!cV#GzlsRQ7 zc>(<3m@!7rZorqp8s~!Zg>JB?Y~-6+Drl{*U{_@m*>+{Ae0hIvIQYmO%Rka$j<3l* zInq;EzvNXd!KfG4s+usA>GQ;1W0&<@F)$NY?mt-(y?VA-)=40$rKBhJUc`5wnBN9O zcky!`K-mX=by@#p>*F$@NmexJgQV7x@=0o>QGsFq1N_25c%b?6Lax=&mdgb!ji$}7 z(&J%UUuXB3&pynq3n!9uR804(tVb!@YMs;IGIg)NwzRyV-;`>h@oFr zZ_m;W9tf+U)Bt z9Mz)jr!@A}D~b|bf8s+ywOcow+0l?q%VSSQ(QkSL(68OAdwrB@F*xRq>-BV<-ytP605}-@3q1e5zlwv-054+o8 zG@;s5{3+{+cyw3of#l+u|LI+IiC$6yQ(WT~7Ql6dsF1O%^ESLc$C_+9uc-tKHdBK8 z>rZkdzuf59O4b>KE?mzK)#HdtNNvyw(L=Y^Rk_2%<5Yw_BL?ELv}vNZM(3)gI8RZ* zJcY8Xx}qG)uhTw$tPth^%H{@~nm+1(R76F{V{b;jW;ZLKjb`dda*}xIpzKb}3~o-C8^xR`#=v0< z75)CUS&h3nV1`>N97x1;t2Z##n1n2>;x)Y{iuK@R${dj~A|`ynIgrb;OG4*Da%&L@Y$!1g2+oBM4;65B_c;ROn4)QLW5K|3G6%@N|fXtIh_ZwT+R=i zZ-R??Cg^73@+{iU1af~$C^T+D+|CU}|C^W49+CW3$`yLcy!9v?sElIRc`whIE9|?} z+atI9T~0)ss3cB4V}s`0i%LWDC&{&Bb+%2@Q@B)XhoIZZty0-^Q$%GpXpuo({q(^I zQpXo5`8{8`fa#8lUrD0T-{~oQhl5XvE#BRw-n4HdBF8VVR=;L=DCd4(Y>hOCx&SC07QW6-KU0oX zkp*wWlcgxyx2aou%aVa;{Rr+V+r?%Vx&y*fde&scL}|RkL2Kf&7y9zkkAx?OQPTV2 zdCU4zuuq=xT@4_bji8rt4=SA5H8v?f`I~G49PDeLaxL_xrbDNeBCOS z3*9!c;Wjea$NpzdU8Q>!azOkn-Y_W)fpHo0)yaVE5gH7%eAKR92mqsg(Pt6xYWRjO zNY0jT*<`&phXjhp(qsck=Eb(+#e_>1%)B%Q*|WlW8=J70UxgBhTn(CFiTm`1I6*p% z-fm2qW}nH1%W2i}uk{0v1|%da5H8P(!It>aupnWW2m-hs4X|~BlVwtg>e4HwE@{%J zk;L*#TDarU6MUd6a~6Xoc8f=Ql3oTaMosSJQj4jgqjWsn1uofevSI6ukOXo_i0R zKYn9jy@NXW!LZlO{_NR9E+qdca>j7I%@)@T@N5#-l<&Z*2WqH!6Fqvr|CVqA$N5TF z1L=Ui<_VJYvHZcy!CKa=u(1TX0t`&S*?5d$dEQvGpC|C971Jl4MR2{{I7qjKEt_c# z#({uX`0#C$-l-fmub|g}W1exx>@$I}>CssfD&ooeijwzul=27=GCBMmE5X_JLU)hm zcZ_5WrSL>>jPxO2Aw1yO{zVMr&e$3;+WhTi#Yi$QDn$;b6)(S7+R-H~To6cQ^&EpC zuB+}j-jslMV)l5X*-irQK&S{h`zY>_QwbSH@QY%ctU89=A}YS7M$a*s-2Zi;@wt-^ z9WV@qo+qbtK}c>WbmBE#9q`=g*GkbcmjbxH`yFHx4#O~0^snb?S;A>u^=x~K zIzWD0fKyZWHS9t1jGFZ@ATmQ9u4Ye{#WS;m2gFm2WuK?CTKSP5FJ0{NE4=IngWzaD z%Xk3ST{3Tt*GZHSe+$z$uq$;1NRYF~fS->#_y&X*^FA@jwSQVc^~QY>_GwADuN; zDmoJq$7pr8{btFUw2ol;d^*yq^wo)O7*Iztyt}bj+rdnCqQ$6X8oJi={x-D{Z^$8h zR4A}_zT?}!Y)mqHKiPC;A~0qBLAh|6&aySgRdi3i&URC`D=v|kB4XQu^tqtkLClEy zJA~6RAsrxYg|%60VJ=Q73AQiS==FIg*^hT>ERW~D1gY-po~eVtzCo6PVQ-|Y8#u>h zoxb(j?EHI3H?}w~_l{x;qP?VuJ8hj?6$vrP(xhERuj3>3A>i8^>OiCcXA(T!If>jE ztoi7~a!I@8sas>Il*NMwT{!bP>T?oYPGyB%)K0<>XK2TEiBM=9RpB>c=D0P{d5KS# z8Y!ct&alfWiOovjuAqv=T<%RGWvjLiJVtW)tYHiSD2eP|HNj(PErgv^P3Hs66EVI( zi~DwwbcZcK8|7U!X9axi4xGaRC*EKYVQtrMohRH98BlE}>dj_~JEgRAs}}?cI#4&_ zuK4N`u*Rp`?qs-=^=V*fjmLy_T)wHF0^K*V^q-Cg@nIAz%+~D-s*R_^>pUPj6w4qk z3o3~u-HkV#%5=CIM4)+7QT-Z-Prjn#W-}jU%JVXsZ8`qs7@sxNWH}hRZxLys;c2kI za;NgtfsNbGM6pEx_q#0?toYj~>DdnJb3YckD@mk}R0nW$<^`h0{tJCCq}UUXH!Yo;e8GJJ*`VT9Tv|q7yhicVqH#OHts0>)6C3{IF0AlnhE0TzN3qOuh(M zHd`*{@;VRE*lRZCm*L=AIX(b$1~%Ge29P}J7HL8%q?#{YYa_%m1&KOt{}6H9yCf){ z6jI4#*s@9n=XdzcWb^5PvEV3b!WfnK-cTuB1532Zz1iNDb)jC;;9$qte`**%ZV3WZ z_P4b}-OHMyLtdYYYUvz?2z;L@s}SH5l1q&A;zF%s`=-^qb7tkBW#nLlA2 z()kvy7et?LS@AMxw3BA==rEp^Blvd-?eR8^I6=I)asEdB<7``Jk2Nk{Q}q?nZ^E`)>B6OFc(d#4?5Z zw5&3Rql)PG!wl)?X4SL5V!95ugrqLR^D9v;L_pwEn8Yn`%NvdB%Z$I{mf$8Bg$-|3LWB+C>xHOE4 z`C4o7n}xjhI;!44g*3)TE=Lh(`B%hNq={!?Gui$evqD!sPt*WG|AZ(98vHK8)aVp5 z9iz<2_8%nBSv@ASozUhK7F6>GQ?<8A;;*8!a5=2q(bE=9Lc5$pD=oqi@1rK4VJkZ` zn^~ang8Pei!L*6QJZ1*sK)-|+nTNDm-v;J7kHjlyi1To-S>s|f&Ur#QOGwd7=38~w z{4xyHIqw2CW58DMNAgXkLDN#Mn>IbEk_x0)AU^5ao3?I?NPLLtcxp{wa7N+GaOdmk znVfHjtDsIg6l`yn6&VnwfR8E5Q={VBU&v=7*Sfk07RTc-^j5`M6FI)~ck<1N>}VII zo+7Ew+0FR2IGmC$j4iyWN6jJXI=%1%B<5V5a>QIDw6U6U;-=3c_sGFLTAMlW?tJf^ zqvcYd(`-H!14F@>P+id&)c!{up0XdDAa?}8RCxXpR+wn)Gt!bZ7hSuP+KBi)ZtUK? z>{6y1qkzC`X?0X;GNGEcdor1Y?{DVBr#}0t9ru5?6CC(^iMWjsgMmnYtm3gZ_6zv| zt{7xaJ(DIUfI}qlAx`RI5fMA|T}j95DYgf^Cq6=z%_D9sWi=&0L7+hEIgu8M4BwXT zng?0ykuJ6cm~}g$8W}l@M#ug$G0kQ9a}74HG@Af=i#NN0C>CW!4j@02*JvIj>sKQf z)4?)Bt0`#J4=ReK@s%mRvgeO#UJ~{dm}iQwH}vQnnWh<8JNRmPKw*gZ_nc7fP z5;I@xo#b@5J29Q~C(ls1*5M>7R`{^ZHUZu^uA)DhnRDL0LAcNlH81trDx7&#`rZro_cuVaSogO>+tkM9Qae-x3hfweda}!x= zF2d-f7ZTe|dbxHqj&@k+{%3=r=OrQLHR@Ef?}qP$23e-$l?4R3f3zd(i+9efw~Gd- zE|GYkVFM!V;(+?ibvHwMSGzKT!futHXM(Q&*Wi zI_bb-M>ECue#9WqT{C8A1-2erIkxmX~ z^u~CAzcan$?EURcyRbJma?(r^tHQ2peQ1I!Rp-L9=Af7ek4ra-{&(AoRCu>cZ8lGx z5%*XUS}TZZ6wv7%k~ma7vTjkVjBV;O6Un*F9o%_G8ubMPV$mN->Rfh#%sZU>KYS8w$L%vvJuAS5>@lUsXD+3PGaNT&{Mo; zvl$=0i8lw=3rAm4Qpa}p)fQGxhfIakaCB0LRLUPrnA&WSy!X1_{B@-rHjidvTb~W) zJQ?zmI5Z#hcF533fj>(XX~4QZj#IBV)|y%9Sl8WB|;aL@3aa+MLgc1(j= zy{%?nCgX!a@|0euwIea{Gd~zINV+_}3l43z5q~;1!kcI7rVcTusPMH(piaY&TTvDQ zCU$ZQguefQ3v`fGb*jLv@Kgq2poJtunkbb6I;cTltj6} z1ihXMFT$PQS+u=#Ok4TLd*PkixKK;kNh*)AdZVWTz|uIzuM)6)&bfO3%R!mh*JZ4F55;wHI9 z3Wka0D3uv}ggCL_8!DKrV|2F*Eba67HCJKcRYi=5S`40l9*u zLt~qP9@EycQkCU)6`Lj@r#6#f5P5TiRm)-ra%}s7joblX1udX842(2vIcV=o zSUTm5dJtPZTmOP8^FaZ}9tZZMC*$ z27M+VRJ33C-qj=Ir`yNzos@-;GXtuNc&)-3B|B_9>A%#7-+UpE_Tly}EJXsWz|Nt( z4hl$j&N;J6ajHxo&aqdeDOmkxq-mkqF4@ASpo^XPq8#0Z)mD$d5b8OC?mi3pC@=fLDMRxE1;EQ)vwh!ZZLc$er4l5-1aXh}HYr=#SzR%CcsHsy%^GswO}4*A!k zA)~bj+xFSb{-7&P0OoqcY~E#{ZTU-1?z%SRK*HEa@9&vuz*a=dfhvwFY&SA*&dj0h zPWv)bdq^$EG^qoExA(aUm31fQRJNuz7&1UG@D^VhZVSSgk5k%D3KvgShp<&EHXyl( zPY{3wuA8@l#;y$l7E-etRt)xP2|}rHE*0OfmWO8UCg+EZtCVTnsfEdv&OO_5#ltyb z*91JO0uks+rtw?(W!Ae_9E$2TP)b`4pM6c~e6Fcs-bF-_g3^-2?+E}=W!PElznuE_ z9IOD1=WyQ5uH-0Ub4Y>0Q9BYQY<9|v)UGV&gQ`Pnj~ydflxE3vGb%6{GkKw^-@dGQ z8qZ0FaPII+?FJ<1@QY&(Kg-hsyx{2@oD2u&;zb24#hoC* zL?&Es^;<5xl}8s!P4|8+Oa7^AUn#>ISUrS_j*aSrY*zh1cK2nv>@zh(lp^|fGs3Z( z21lQu%}!mlyn(}3UDcWjTg3wZxvw6k8%(X;Gj zpmqH4K6xPSzUfbat{qlTy}(V{5?7s+)jz|yX)pip1pr-}bL=2^K}QZBV20Miq+%*0 p_A?A3Vl~FjDMi4$Eo4;CA&65l1(2Csh0_dPSXf+{v#@$W{yzyW;c)-} literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B09.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B09.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..5120b3b91d20167822859f6e234f1cbcc0a43801 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B10.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B10.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..b5b6e436327a8613f386336eff75a2640e268322 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B11.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B11.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..047a39938ff0edbb37c53c9cbc6fea4d4fc94634 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B12.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B12.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..e47a97810de77b39b233313819b1dd9eaf363db3 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B8A.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_1_rect/B8A.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..0be3b5f5bcff2468c0cd6a3606cea704be94a690 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B01.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B01.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..a7c74bb99e99fb67631aaeecbbcd82c3f78e322b 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B02.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B02.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..9809f480283625aa33cc763798c5e8664a319f89 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B03.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B03.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..5d891f19bf11faeb7d0bf52544dcd37da0c78eba 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B04.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B04.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..3989aa999e784dba7a533356c0423d092ac03ca0 100644 GIT binary patch literal 8314 zcmYkeQ*a%O_i%l}hE3AgMq}HyZ8c~b+eTwIc5-6dwsT_J_KDu-`{sY~yVx^p)~tQI zXUoXY0^k4u06YKy0S$ookA(jli2q?o2&n(xqyFci{*V8^4)%W-?f-hO|2)?J>|*~P z14sY>g8%9N%K!tsICGXyo?o3K*ZtmA7o+=%Jb`=WBJD~|9ql8}*uk@8p~_kLT{%j8 z&~Qh!WUx<%O{Nii6T?dCjmzObNCL@b4r>Y zBw^Q5@+sMtKjD|L_THdN8XFY~T{M$td?pg~Vb0qRr31Idgc{R%SArcAp<~E#!oRVLZ?z#6mZJw9MC28#(u$mSTt0bO#o}$hV z5w7XvaXHwpjWxcqO!)3OB|KWEf-ETIO+1&hKYh%}Y9Vq09h?qFI+FBJ?dOG*xfk8Z zG*%zs`l3XF5t!}-9XYkdWRE%BA6p=9Q2Iz)A&wVQww{;23^C1Xm~7F+gEGih^jM7H zc3Rl?^>^-?e%f$G zvVese5`SyhI!Am}ig@zk4I&f;n!V_pq+3-r2a3J={3IP{3IrCW8WhMtb$DF*zZ10{ zuVk1|+Hau5ob$aaqi@WJEV&$m)kYxZSwr(US^DK)86iIQ1(r?z?4l>Gx3EWNkmi$ZQj#B%b43tec}d_?gO2Kh!XMTNP3sG+(s5oA1yD&s)KJ&QDc&4RCGv_I$oW zGD*RYHGEl>%4oSr`SeZGL~-IG8q7g@T=M_j9haz4;{h|UsDcHDjkwV;*17hVWgzof$FuFD;x9&n7zb?oOfqvo$MropRU>jA(kF#nLJ?kqE5`|xV0YiQpVhuN$DnC#L1k9fALMlb*xLJU53B%llpMFpuf{8_FA!stGP$L|d$8BH60k9QRt>;Fr^;>yS`-YaY7j2klsO!QjM&rez zt1a5IZ)rgSFAIXod7X3ilb);tc3sTbGo{={N|W)qA2%&F=tXw!zlwcmV4rPKuBFs0 zgb{8r`K@kyW7{l-ZLnc3L(VPub9VBacCx_wwQz)qfw|L?>e4N-d?S42`rp`X82D9i zt-`oGr^k!?TB~E3HyPAIybV7)GI}DpSX@c~A6zK}>Y?J<{U}-=d((Eo$5dOsxa$h1 z>BPEw_TqjQekw?yPfdR5QY(o}f*}dG{vtrNKfBv$-{)ZEchqjUonB1bl9?uEVb{Ff z-qi>HJ^uLTu7h`l{uNra{Gf!E*B>2evC;LJR~c;DIP6FMx|A8DT++<2aW%}cHKQ)_ ztK03~of~F7ruB7c_Tt&Oe?=v>q`cBHi zxo}I-R2NeW>S3>6)a6p447;NCOYM$HXM$Y>Co)9#8hQT2Zr$~&Y@2`4YAwp&6ZKR2 z9{m_4$s?eR8jCVBStokgSVX=WD4`Nb7LpJld8^K1zRaOCh1~^Sf+&1H9HAMs?hcCb zVwsA7K5g`qplNs3aO)s#P=?jXb7$fs@R|+;RJJ^p5t>wIZfWulx3&U@a^#%Z9TkQ! z96vZ}zjB&UAr0Y@N_id9yyWc{q|R_{?Ra?&W;eJe%2_b28{<@c3jMhMs=%)7%i;E; zM-BkdGU8j}Zu>7HD|BA_3r%^EqfC6Qxr?{K) zoyxCY)gcWbqT4ri}vs{G3KLt-E-w6*5joaIW|2vRfb9r%xsdu>h1BA_O8M(I5NE-HdlWco-WsH zbs1k|@d_yPf@%%$CV~$-=cRc|pXn!HT_m#Y%6%z4*!LClAkw7w+iu+#1sYy2mPCAD z(D=@lf3}$Dw}x!r22Y@5+pZ}%+A+P1R+aOIu3~gV+oT4eBICv73Z5O6s(J7PTGnfz z;XYUxi;head>%%$K%Un`B>ARgX~nVEksl#1u+S|NDq2XL6k$vW0aiBl>dx!6ICId{ zihh(N?%_ieX#2)8u=8Vm6Va67a0uBe>eTm- zBs_PplH)CzLMr10`{ril#D@y%J%aR?(-oupT_iCgvTMTpSM)9sEO;m+TU?^auJgQ8 zc;7!tQS^4Cdz?2jEvj3CjF>13X&$A%2C{&BExsV8f)J>1oy8-2bvklEAA_K(N%V4+ z=L!Q6BSpen%^CEiUL0{%2A{{*Taxbv!3pAsIA&Jt*Uq4+i)_ zQTgQnLd}Y+`zhS=-u?R2on-W0{Cc~5-K?|j_j5IcAjR;IRziJ zolY8M#}haE?coyDyz`75_pMT$F8f@o6v)+_GhfC(+qTLYy$+v-mQ>R%He5Qo^>dQe zn(M~U5%kJb?Eks%5Vr-(@mswY4{ZJeEzt>40XM?IcCQs^dpqbgDZO}M!BwS z#+n-B<1Xt8wyBQF9w0EgM#{~Ny$jubIU+czGE_GEeYr&U+3pJQZYCn^Q3m6>isN$6 z+fm-uHN<~?fBh7DvE0SoOt4g#HPj$zeo^?yg-MzqVZ@DNWn6#Rf9s&xFHFifLB6ez zf@Y!P2h=A#JYV>l4Mf!_Qm%LU4L`c#AbON$RLC4Qx*j8*JzDeMV>4ibQ;|zZvT|~L zz>dc8M{cm%Z@=quGygLf zD{)Pew3!^=HOChR^WM#0jf#AipmU|D&IAjVZy3C}?BI4f|9VM7-}T18fDzcmPJSnU zT#3u?fwZrF-nLaO3dNc_iN`w};ls=A+RNwz$v_J?G{vL2&#RW;)9r+~bpLe4UFPW< zyeImbMMt-2?(2sFwd>4J!j?e2^92K$Ip~I?XN`Mkw8g##nf5hT94)cJYhqs{$;Bzg;9dE1aTBd{b2YMDx>* zH5y+%w70i1kQ-tyrSQnw!R2tSQX;L<=G7;4>KVkmaTVa%4O603*u5FfZDj@Wluj}nk%*R%Ghr{YVqM!11 zWc>9efN6i<{o_8kp%@I?DoKQ@h=Dxy+_chwM>x&NbT*x0$&~R=-C6iupWwiPV|Xe(C^G5gOWDZ=AGkQ z{n(l!NQPede!>UPi|DGXE(Esie37i;)1 zA?NeNThq3$@SKFHMRf~rEhBT8nyyTAu@i#&Xa}QAN{cU5l1WJ9zh7n^I2-XY5a2&b zh=Kc(Pz0nqqb?J`Qpi9G^$+BHc|at|%fWcQb*)V7JIKSw?zUC3Pj&sD_TV1(H5*;!KZMNj$wULQyoOQpUe{( zv)#Q+Sxh!NNKkZ8AsgJ$0BP-i-o&MCOqVQlQ8hm_sb; z+tYk)*RlcPg8;(GUHgTB+(#JO>JQikc~^*z#E(<+Y`vXY@5Y*F#!9b&F_s7MG4w8b zF5>c)Y|nT0-``v}G~Jdq7~nq~?4O^|ynFO97u<=rg7(W_hjf;r7dLr>y7TOL)3pFp z69aVQxkni5{(7$#B^^AQVdBfhc;te>*l6uitjSAm$acj`$oJ zu|)h?bv8FVBH=41bGnC}_rT~}@nm%wYVAwob2{dxuf4Ms!L7}*P2?F#$kY&&Xm75m zjcYv4RN=_oviBxDcNzvt{?1ObvJ`afG{p@W%& zc?uDRp`twy0O3e@fmx?h|3_Co$x7-ghVi5^HO?3U|B0mImwHpxQY&$_?>r)NBuVor z(@zyuwcldGHth4tVhZ8365!nJj9paC)2uI|3tpk=Xk@RzG27;lkBFZ^+lOQgb5ul3 z)R|5oyX=6sv=u*i`emwI)G2M!FUvROJ|HlN(2}cz9)w1uC&)9*H`~6SHKn^^^o6I; z?{6B}(Cwa}j_&c?m|Qr)dxs^tC&u)`h`E#6P?w~?M)s|286C@<1Cc12XwucNuyC#* ztmqqcjkBYKZmg0+qQj*BpWwuDGfdX)F%-hM+bEC^l*jskL8pzvBSl$ZUaw`&`}Saa zz4t}SbC-1N&5^xDw>rGo@6!hQiAk-8iQq5(B#)JA|*38i+s#xBMUky0}l1?VB5}n z?~LNL>XEn@ov|yj?lW4S^Kq-tPx>3m1vf^I!PV26s09yeD2iYC@;n^^VH7etICR1(oT0b&L@iV;?Aw1ly@+ZQ6wNMt|FbO7K3ei3>? zi#w?yx6)k2_qYXVq{G2X_k4wS2j@`|11xU*ylwV9U>2^w`(h47^D&UBCGZ=0>KjV` z*+S>7ppWW%B?}KaPdFMk*H*_0tZ~Hk zC98=gmChaSnSbNhOjRx!iXC#vN)KwVw8RQ@l{NNX8@(J_XWE(9`e+>;j4LgTaZJ?o znP-ar4PPyu&*Of)O=Qa=9TV=VXtI_JKE!JB6cj~y_D@`0^GOi3}hF4h!xmvIiS;jlH*dJu-$_nE{Ks3CbUOp(Z4G=_h4-_SW^Q z6zFyQn|nAqLr!ElWu+PwyAwWtWC8YdTMBiC!b2~zBAeUEpUu4cG>^5%VU_!{aL{%j z0%b})quyBXVGdA84X2e?^z4Y=LvSt7O8M(y7>7rWBuMi_qU0ULJU6^!=6+=1CFE2| z7I)KI44|e_l+QZ%)R%fBn>Qt3uV!xdp876-Mmfy0OWza@Zwzv~)rt7HUiCLXgUg~ zfj~(1u-Y5s{AXA0XQYQy{lIq+z@L;r=eQJtC)AsK2K zdvab@3%3FtNVSXi370yIJ)!;PUSM-sJ^`6mQsxYq(NmFAL$bG;S%Y*M(Kt7i#B4LR z?Xn10RD5DA1PyaF#a+JDS2hRjM_#sj)s4Q+5hKEyyU|+@#nOs=U@h73^q48fD!H&9 ztI`<1BqEja*EwVUPgL!^!IzeU0MB;ORyTkUW zG&5g7ekRj6F=Gj(<45=Bba8Jk3%A9bZT{a#_>~|&MP_)YKEsTwd6K|9{D#i=Ac5Z6&1mf95Mxso>o{MKiRRJY&kCR(DE71 zI*U5p1bjQ}-5?>aok?zRZtM8jE7pau`5}%@1sU8zq2nHe z!vz!f3NlKcRWwI$Czrg-p+E+ZsQWw;_~9hel==l+hGbp@?oDBhHAna`UNQa4s*~3= zwHHzuWtKwDUhh{#wTi3DA}~k7kth!Jfymh!p&rXKwLrtx6pv*vk`;N!gZ86@FMc{euOSD1c&=erNZmskmqm@&-#6&wzvy7Hkm>BV3G3#cnGI5_tg z+<5pr&R^d!(QyY9+(BmIRG{y5_^$Lo-@pno#^>`RAo9`U5zn{2&5jf%yIJwshJHsE z?*X6u6W~&7BF5b^rXriLCK07YJOHvW8y|%b*BWywSmWj4i;sX-1 zNrYz+@(A^H^rE|?#1%v##8GvNhATGjw&G-nkBUBs2Hta92h+ZVcY6}Nn->qP|8k3m zB8hpl>8FnlGfu|vtj38I@HSMC;p|wmSPSWfhi<#MH&JTuF28rqiNTZ@794J7mDL#0 zDL<3r6>c>#qGUN#XX;z=9HmF6D8Q=^AAy|8yaJjrh{11QoShib8sPqcq>x78pq?ow zeZ{YO0#@~VoLGF)eox+0>tl-|p+kh4;^sS0jB$#26Uow|om&s8PnYd*`Et`7W>A2a znMc^ejAFof&)sI|`+`#q!+m}r|Fhd88)*g3DD-3RJ>JuRJDplX!}ja=aDN%R=|L!e zDRGIHN zz}V%7-UhrvYcW_gldP#^`}xi}N4bn-GFKyv??Q`L{Z^eBHEaAig4uFTZsjMf=J2tZ z$%=&vzfOOUPjwj<uW)8-hH=R9kU3ilp@m^wo-0hPTwDkEYB4qay3jZJllqIyjK71ByheM^zIS}OeGhV2L2NW(S z&s!<=;N52GmhSs@)It2YiQD}pL5gv_CWRkLzf}85;H5L!yZGRaezOs9CoK*SWb@B8 zZz{j5qYS0D;)aFHfPmDEZTrF&R^aP)Y=)&7!G~M(uE;o#vw6D6u~u?v%0ygo1}8#3 zR~kNz9{t^AeGVy28`ME)Se&`9duM8$?_-^^JJam6PEnuV&5os2eJrv%r^5U;t%^Yb z$t=liPk@y&vl zvOw=?$h$HmF!&#}EK?bx87sd;c{MTXf?11RU|n#$d@=8 zJE&<(Wu6fDF{dqA)>?RYs$Vjh?`zo8HjN{4dg4ybJO&eR2j+!)4T2J>)fo$`yY2@6 zL_saper}CD$MuscItkDH+8jEgS$m(BVF<4bdUl~zyYdi%w_^7Yhhu_<`krWQ3KT+l z4+eV4Tw`bdv3SJ1E2FTaa+gY%!(gntg*GEH3&-2SZbH$QP4g1e98F}c#Acc>gnGRh z`Xe{^eozuKc*gyanvk#?l5c*n&%Bo(c3Rd@HkQDc;4FIn8U~glEFo_K(K#k3d zUyi@S5=+D*jQ({VM&7hBj19e;(NgG4b=;8O3yR~hmG&(j3t%Vpy}L5~+X#c3bUKvH zjQ(ifHBygk)m6l1V_YcV^#3f!4vZGEFt-5o>QXGKkO rF8Xkq@01Pf-fIbLKmI%uC|CfABjqG4h2J|Mi8;6bCHrgS0mAry#SdBs literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B05.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B05.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..323f1629690a49c768be5080b6a8fc0b3508bacb 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B06.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B06.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..647bac56eed9acae749a34388a1e024e77d322a6 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B07.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B07.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..895e6c6b789a29c4521e6a8d5d928cb1f0e59019 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B08.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B08.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..8067466b418125eb52b618ce1ea0f74647661efe 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B09.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B09.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..e95a142bf608f02bc37c912c4f24ed7b99ca7357 100644 GIT binary patch literal 8314 zcmYkgRZ|=a*L90aBaKUN*Tx-!Yj9}X-GT(y;EfZ4ySuwv0t5-}65QRP@o%3~@5OVm zsz%Kk^9RhOpuh}+0s{ks3IhX+00a9UiT`)7|HE*w@c(~~^NdLpw|L6Pu zmlOO?m+=1>h7tyb^nd*SG?+ zWV{1!xZ9g%?FY%3g?g6huv#JVjs|csUmlO9?zk7;Fu)2DGS@O3T{_8uK-hPX8QqPFRHgakx0>+N!5V-nA zD6BpBVTek(s%DkAyQE5_&FRSR<=N+oX6_2GzHZ?*jTp{T``cobrX<5cLJx+Ro%_0Jt7j${K$pxTUbUMt-IowgEoa4!GJC_s->4uP)z+Uw;0X6Fs$az*>%^2U4QqWRwG)hIq#vceNwVM?4%~);{61- z(2Th;5*wz6{v;s*@UX#+r5CeJs&B#3;!Of_{VMRTs6;=&!vA;R|AcJo81a+sLlz!J zk4nsp$64r~76aq*eWmKLUVD1E_W9ML@rh);AoGt)%u!SCtS_!2ELGO1g*l23sG=D7sX<*$e*I3djP?=j^^9kmK!d2YV%2A zb_@+zTOR=Tj*&?{w6;9X9XA3PSz+?1z+Ov-S`#XU;xNeAe$YNm7lHL+x(h2?0JD{U z{x5D>IQHM2>*;MxIw^v? z0fcFm^#+{{dcsC)TEp|Jl1Sd;mF)`*!|l{b8n?}iwjw9s{g6$g*dTk5u)qMyD1i7K zADP62zYiG~vgF!R837(&QQ2~`(^0j;qZi4Y5<-9|?PixJA>n)BGTYnA>~O7(97C#^6x7O+`IS{*=o|48X)Of&__0{#h&yE^Ov=HI;Zc=+UO zVrLztb|Hp$H(!R{dN-$s@YMrwHlO;14v~u9{c69Gno2_~Jbp*QPaqGR{q(CRQmk1) zZ=^{!ilY2gS6Gg~Cj3*m)U)=RIwxgCNC4!|LP*2(OlZ$vh1vd?Ft|6#x_!2AJ5N$E z(JUF4(zP(xe&L;x%L4d>U&C^mBOunNE<#d=gzHN02rEm)HLgQd60PSP6*@;Be@as; zb@Jq3L1rr6Em-9#(lp&aCYc{gXgo2q0~n>;Zv4dzXgrqGmZ`BtDi6I+EL1x&PQ$pQ z>>}-Wv8&yGt+9?K+=YwwVxk087bMj$&*K0!-7+fo7PJKQx<{>pDfB;Dcz)814W3{w zeL1T)K7#8QWN}ditS89Jdi(5p7yS6=X-_c07uwo{@~Y=@!9T>MJ8-}s%_iANyydd!H{UvW@O)}#E=fr=8yB|Z7V26J_SFK zTW=WC!g76Iw-CHp>dB86J~wyv98U9$DXE2s&zb?##q|y)QGak7pUBMWxK2*SIdBNl zia4=i6EpuU(WBa6zm7uLCcA4fI@~qWS(Dy%YXT&GiLWLer_L4g6G^5i+B)o;H)>C% zsh@H*Db3KK63lOyWFx|8?Yq2i&(a7tc*XrgOw0kMM(NEVTd)y$TYq3k1&6-VveUte z_#CgtolHq3WR9YiyO3W!`xv~zB~+rm&@-h`wtbR_8`&+WQ;VxHAby`op1&sab0XrA zfso$5=IA=znQ7aI)suaANJj<;Q@`H8=@zCJPV-7Qe%n*D1NS2Fj9c@d4-iL{6;`IX zY_Cy~Nh&%?))_%w(qHN)8hWSgs;`;8)IiVTwS~d#81@K_AEVnb(0dv!GTFnNaN84p zynQ1`1Y^{3QFFknXF+r7CXLsTQp?!uo{NmTD+w) zo>$@0n+zk?`{~$|?AYhU13XqBDoY{p;;9~{4pX=%GjoYwI)=Aq?21)s1p3~$q#|=d|5xp?#{zOwhxxvMKj#V=K4!&WAcD>Y=sFp_RcE|a2on%2L6OCk>X!mjfW zqC_@>X4ZZ3Q0lyycvEpGZAeKU1;43es`m59)jN_ZFUSu*aHJAomhW4RUEpTXn6iFJ zX(Wy@z@odFi}>9g@KACvygzO$V{XdV733yXDS{Nzth9#ZRt5mOq4VP98_?)Vz4JCc zKVeRg&%|?#TLlmcv9z%G>W#bf?Rc%}PJHc%1BU2)6dq(@&qk;{LnHJ)#EsqwO!0)c zKX}$gBMa>L(7G-+rn@NO>Bl>2&K`-Hhm-r{(N}1?5JN3v5rJR0sp&=MWyE%Sg}XB} z7qyTmg*2#X)oq0sEOSbQ%gIUvGdGOEA0KsjHcqUQ~B`(DB+P$>73m{>Z8nh8%q?tr2DPa&C4ezxv1@d7$A;u4Y=^ z{=Sd9O{)vgY`dy<)~|q`miJ91hX%MD7_WS9u{uM$I5IFi7=PP9J@^^P;=dDV%$A*~ zd^QO=Jt!@Ok1XPN6W|8U${O-_)kTX_)KidvS|lB9|J;MnU#dYl>+i2FDs*k;EG2vKqIWNF<2gHfab*0k1_G_|F8-B8_ zyL=)b>hG^}2RoQbQk2;gsDiEm?e^T)TgDp3+FRY5*pU`=c}ck5mZ$24M$tK*o}jm^zixn$=h~|L*_soXKpDkWl|V^2_}_?0C7n)65CvSDGIY0qCn=? z3+lsvWxagR6#QX}p*Pg;{E_n_Nj7}&sh?#WeDHYJ(1gB!v^t$h1Is_Je_8@l5Cw6POPah1BNxR6n}yX zmf{fUuDx|TZMG?XPj(Ly907K~7V}Ha3Ut{Y(uDdS+wD3Ql*FagNrNCbUnIo-m>zlp zD`0*~?m<)J0MdmRKM*|HlBEq-qlT*7UK8P!;>S zEr4l(X#EhUP|L}(5K+0*$xB3W1dXKEMkL~Tv%2l`UQDj@jVuKOb{K|lrb=hGTC7N9 ziuX4{)?PncTf9yF^pDQ~pFkP4^aX4dcXtJxdg0LEAV#dqm8mLyYZ=hmo&#X;dxu&u zn>&zN(b0DLJng|991Gkt7Qmyr?pVC)=Um?RKAO3=_zHRmT zC>kmhGeKHNG*j1ly+xu z_|BurYLu$@G|RIY9tBIfUZl#d)-0Uo$0qB7IBi}KPm8Knj8ys~rm`h+kg3tbRpw~X z?qn2rf^id6X0884`rzh()`ebp<i2-nYpBTO-X=GJEjvwt~W0(kvNe0i3jdhRI1skZm_BCuNjhleG*yoCS4WV4vfy z#8fRmv89G2{8Cc4khP?N?q6%B?`xHBZh=SczOAeh-ANf7y+K`+_fk+d-%VX zSpGbD+pHb!Wv_Wgvn?7k>vslX(_~JKgf*{a_A+>XCBgDNa=TVh!(k!6wD@mib@D!m z@%Z9U79YQNH(q37x6w*V!+FYG5SyGM^yC0;U3=L5;^S|H4w8B$sJv>sX=*cox^n>! zV+@$()IO>d! zh@5?^(QiE;IE`jFNYBtorV^2{imu}9A;~)f?<*rkCaOBJe~gWX`lX_ATYy2jRzrU8 zZ@Ya{puP43?<=7v`m9c__r?1t6oCV3UxUzn0gbHDU*dSxStYo%dW z=P8#SR~l1>b7WowdIk|gysWks4Y-NwFXvOe(ptgc{%zA|0zdYC2MD*Xb_g?^&`|^s z!!6N*ON%ck2M94<(C=d_mfwRXsgQzv$!O>TjG8N({H#&tF!WXGvgG}kJFwWlU9owW zi^C1Yj(4l=3BNcfn|>8KBNV4fPZd+My^jn{Nc$65+L^||p-Ap$os+BTc*{ORJ^?D@XOW-Cd~sm00Ut+%1G9ke{^Wvz})c z3o@6oVeUOo>UY%B5`>5umD69gvMq9Bw2NS=3a5sY-G-je_PtM1phqF#hRfgWlmUDX zKy$SrL*Wxs^iTDVVio5G=_}{R0p_UW#t_PofF7k8ohD zzb%udft8IR1QVPza3;$`G^5pR1-R6tdoSXhp~x?qhe5Nq+E?kA{L#I%kpbb&4L14`nw=NlJJ*QtDg8MBgcuhso!$j&^rq0P<6V}imzLx^(+<}Jk*Dlu#=mJ>@ zQIAxwuSVv0)fQKqKc`blQ@MN|4e7o)k{vza`;fA-)9lCb;SVSw72Efd+!vy@MAMNvbalgZH?9Aqx$4sR)Ru zq)Ff*D%ei8H$Z)XH%?hgRU1#{mozp_n?P)= zWfR*)LZo=vH^yCYwv`eT`)CWxYD_P>2rEb5=ZB3U8T16V;QCz~r&>3|6sa3Xt!{-d z*6c5ucH`O?09I$(7N-xYY}kF1z|JLUpLfwr_wm9K6NMh6>xDO={p`+2MB$69IT~qp zj{;7Z%l5ow_tb5PJ=O0agMv4VNLg$X$W9jH5V)X~qrNlGcw@`wJEYr*JPMi(Qb7qB z75uSGdDo4GOT6!0tEXU#1pMLjPrPgL21Mo0w;g0xOq=_wIu64cj`N5^VeNKPU1-vu zy*hub!(^D-2H6y`4D!3>zYou7;Cv4xeQDDajXMq%<0d-aL0BFd*jo46gy9U^D{uOW z!)$_*FCMw-t3KR12}F-)#MXv!W*RbB}4GPobl3 zwe(`-&MWMeH0^9>cd{;V@S)1tr6LNo;|L!MV5#*iVcZJgT_KH?UXEtGA1zt<%lGqA zZ@jJZK$)gkf|2%pI>I{Q8g~}sQx`he3D^tQYoB;_m$fgou9 z0s!vnIKl?Rp7=Eq_gB|%wa#4O0_m#rb&(ijK9{(^_wnHdCprjS4{syC_8l3*ZBqHn zDirxYk@30%v0gjS>*?HXD^;m(&uKcv)Tyyc}UcGVM zjz~zy$Hl>2BlP2NV9y$|p+UI?N->S9`NZsNUreLBFP>s=_>NP#ey%k#v z^^1{aJDQsr^lLQoisGdn+|p-YXyGD4mkMcfYZKF^^=Ak<&G3YeJX|St~`LZ z=Yg*ys7t5;^&$xaW@C9cb^u2pozl zPQSzW)pUf%LbisK$5<)~V&>WJxOmG!-GFE+fDvkV-T6x$;K?DYbRNVhK$-` zDZPi_*Br!~LaGgZt`ky~z}cuH|C2P%D#Z;HR4L}vlxTE-d$D zczS+z4(Cbka%B&H&m<<|EmLgC_a1Br|d8<%EMd!Y+h7xYrI^3>EGMb*$_JOf( zsw){t2C9ShH3v@5JZrKMP|;u~#QaIym1Jp;1OA))mXuE8g2NH)r+>VCR}Qy!zj*$| ziD6pRwV1osqj#2I97L;`MfXBpSsf6R@!D@d`9-032}*CK^o%C;itmud`j(K56M=3m zFY<57CKU}1I>6H<3rtuep4|A|5^7obg1Ni{Y;~Q_qZ&1H>|A&^wdXXs(zuN<4tWuL z6K}H|d#|hYrvjgPA?NqszV+26xNb}CiuRmvll)-+vWH*!o6!5Chy>;^$`)}4%j8i% zI^RD4hkvdwt8kv!<7SZvX05$9Dbj8MCJ6iL8SXC3vAUs2rD-o~r$h)>0JBRyPIoR5 z&MXKsHIogGj_iV*yKed7cN01`A?2pg*;|`hs-Vl)`;uX!;Gbb~Ob-P=BBfXWgnCgB zi=4TNL0-tI->E|-&Kim?*{61~m;#!!tR;HV#)F3A6|8*FqE3B1GXA{|XO?P90yV$s zsC@#GrF;q)ke5mBo~h+S^~qml6nwvXAH$%}6rf2rP3= z$u*zaBr1PR#LYpS9F-!Q;oDzO`Ky(yn(g_UuV;f4i$vF;?^Efp&InxNNzseAkr!?g zAO@dkTV@Xm;8Q)i`*}qV^^N^>6e{_K1uER~_P1R3LS8PnGGNbcdqo)ckuVdxFbEO^ z#qP5jt}PWS@i*m4Hl}G{N*^!KEKR-F(JUXj5B@DO-{dW`r}&7exuf@tkfFG7|XmHDU`U8Mw8mL(gV;pbFTIn zn-$?1PbC-kW22VjOPa}piZb~O!!}G~9;i%8uQY<$VMg#^+Lka6D67$^<*&8x8{#p6 z25Sh@HzkwC;l8=v)%KP9h`EhRoRWTw<*T*s&Jd|;pj|Zk?iQ;LB{7Wzg+T0RoWG4- z-?w1T`d1DC=Mgy(U0YdEaR0NH-2vxZi7L#$q*pdwY6eN-lT=5c8&9{`7}>LNpGhpbGA(jm0(sizc`d5ZsgJz6bW2%|4wOvqJ|Xj532YXf450{ zO*$l+)xM@yx%OR~Ifm!B-ko>p*{cma7zI1PQ+$SjpQfA<7ci6I23pL@l09lE)K}T) w?vpFLbbep=CD1{$F>5n9+%De{t$$d?gl0uBKQKX-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B10.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B10.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..39f65baa3f5ee643a7ac9bcc827920c104eb3a0c 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B11.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B11.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..ec0879ca82cb6a8cf252ec44a530c96cc3b5ae18 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B12.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B12.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..92b30223833f73c75c81c833a33f74da3650f51e 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B8A.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/test/imgs_2_rect/B8A.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..1b130a20bf61b18a0e6b7b1e59d9b04cc6675870 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B01.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B01.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..0fb1192178d856bca3a868f6f8cf3a5de3b5bc4e 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B02.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B02.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..848c4441980d15145106c99a0d8767a7953ef429 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B03.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B03.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..df966b575f947f5e9cdad451a664b69bb10566b4 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B04.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B04.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..93d01cb2a79a44d1bb8cd50c4747029c2333e808 100644 GIT binary patch literal 8314 zcmYk8Q*b2!)^1Piq+^>Wwr$&X(s4TI*tTukM#r{o+txq#);!F^u3EKfeeYXJiW&e7 z003YB01$8h$bU%iKL_$Z3FN?>iWoizk1#s?b&7NwR|RVP<`uCZKm!gNmrFA`P`qGdDPyzTQdMOGDu;Vb zB%QR`uKo}wE|xmEl$i1-3zUfk!-;e`GiQ9+-2%bBp2|(Y#~xb>{3lEUJQ37q$DjhW zpTkdgZIK3XTU{|pW=*zcJVM;BAIr#@RFY+)(Y8f3 z#F(n$JD&=Nklpqj7o8&=mQi=APFa#>ltov34IZD|Z25CcfoaqWM_jpH>|xV>{#D$( z*B-O5=%);o=uzdBTy&RRIYtjwZWMEJ;rhZ`xHC)OX0>GYEywAnj1x!ejJ3SpPt(t` zM3BZq@NN_@oD@2NKbA4Hp3*oA3=$e4co6x}*Ibb%w|#K_6AWaI+zP&lZ1p{6BJE#!^!&xpi} zb8L^!R!*}NgoM5;HWsPvx;j|D4k)=~so@_SF37{@Swq|~^=MGszVz!tGkpTlcVNAl z)6k95iqF*J=9GKXX#H?um1Y<74DZat-0OgyO}WoUXI{O-T!HiJ#f_C#X;1?j7~qHR z^2^wCO`xx9A_JgFC7XncdyAw~u%&1PoG~Wg_??rC;*%HCP(eVfV^Wg7f*B?Y;g|#( z+^M}OPU`SOfZ^@l5FKz*HB{->@Z~s{YT63K^d zSem9Fxm99b`Q^us6tNuWP5|#YvRzK*Xz=l@xDLNY-cf?Ef;-*FL6hkbLF;e2yvM;L z$eN~JbHGaIK6>sNGL#}#Am~eOeMGU;$IZ zy%RHj;FeL$h0xSj0W}>glV4NoE`2$f>JFnbVDT^nw9K?y{I~gnGDiZ2>`x5lGt!S* z6XlGo>O^14`hfy(QNC)#fOp#TxP#SYWgKmLng9VX>f2px`Dd!sRi5@~do|7}(a3e2 zoYcMhE!j*v+`>7-@!W1Yk|byZb^9okRUEU<_v%#P~#J*%#OHR zdhZlCv-;|)j%+Q2hg3DG&PxuXlJZzDF~Z~|;N5cye~z;Ru7p+ZN}|bS8m4uBmVmEO z*Xhu9i)c4}G`b^dC-L1zj|D|9a;I@?(+z|Kc3xS7cx?CIrf6j8!ukv4VH6^~ZO{2itBSMF735b5Mc^)H&Mt!>EGs3!yONM@G&{=5!2 zE<<lN0EY^%bw?zpi&?$%%vR`xSxebH09F;Hl#-|IiE zA)?em?^hk?hvrYX&59VYG<~VDQBJBrE@1RjPjoP(x#+BqKB>q%F9YnZP1VlkPy`q! zp)7M#UG+=IwFav^8~$SMQ{_p>Z`B@R6zxi1kWI>ts-5ij7ElkLk*g+pxBDC422u_j zW55jy8eU2sxISnXzenANcwsMnXpWG6TOL*iqNpI;`v0fg>Q! zwFD@Vn224@%~7$uhNZ_)NJ_IIZmB14%_0g_9zo#kw_5#^%q` z?3bWwcdHm2I8dQ1av94tRRJ(7c2-F-Z&JGsqcpZFjIOcVY8&ULn+OYOJy5 z_ucqXY#fBXQ-vef!&g47rCHzCq>8<)#8Q9uNUAZUN+PV z1Uo(Dxk8{yO}vx-{HiZH3uW}`Ux<}XUiD-`j}=TXcA*CEu1;KK%LJWi^ju>yIpWnz}lvcoox=ded+b2}Thy86Vj8wt>x z=F8sNd=L|c%}|~Yyh48Od8?!E(w-}0JocG`v^6bdP1^eb2JOQP_#as#ySCv}!|J1v zMxwVnJ;e@wln+^Tz=#STrOva8TIW%A7GtY8!G8CcC09BJlP!g^CvXzNPU#tDt*H&J zT46ml-jQayxxJ*RvcsJ(beeEP25*Fc;>yq(&t0?Wd?>DC47X9_SbJw?p;7ObT|Lq) z@&G0!5YALgGD}_C0+-7#ds&8v;xs6Y>!L*G6QTc?k(1?+*e`V>*J@eB&qqf#j8VgxUeJ` z6<3|x=ybq@;Ax=N7HM~Cj^*(bcyw<;n`e;It~43RCD;sIWen?nYJrM__WWW=%Y0-2 zNKjmtD8gb65ZpfkcQZiUv?OUQ-;4N6+9)Mla2FZ2;8$)8WG^B2mzs!#y@^&pI3=ob zN^fQBh7JhYEz>?=v;4S^8;Oh$?Qg#{x|qRM4kv1v2%qt|@+*_ITWtZ9?p7KqbVUqX zm@gbGYgd(LKg(E-@nNWdr;vN{m${ip_OI&cF>jtrS?H|@du3v)I6Ewoq1<`$v_4f4 z6NpGw8@N#LmSQazAEKRf{mx@1<|==>5XX$2_i6os;2sUi&HX#E-7bVP_1Y*?bPjm=u5rT-Q)iytDqGDNJgnL-`{BMf`}m+&TW zN*05^Tf>wrV7r_XR{ZH$vde(kY})HFDZHb(g}VgBuIskc<0Ol@Q;? z)ZuAIZ4zQ2_Fv-%H%~~_;Z3QCrEl#!x*H^iPH3*dRQA9o|KEoQgnv{HqVr~F0- zx-SHse-V8;=lp$OBn?ro6q&{|zhvZe1+o3(VMqhw4Z+k3mdE3;ryVBJ9-aXNyEq;D zL#rl0UPt8w5-DheF#<)N!MtiByaTMqir*{ zx(XD%fm#JEjMgL(tNxbjVZVLPf^A zNAyAt&f?1H$k5)>i4r?FZ_VDmImR-V@-&NR_nD73H5^A68V5%l8%c3L)c?j zImTa+tBz>6cMG3Xm+>1kiV|LsL~EMiKhBrenx#;mo_xZhbNY=HNgd24eF$4#LFW87 zMHxpJUwm^pXqBnstUX zdsI^z!Cx#`b!%A{@a%2Tj$MO!?I{aHn!|v5aPMMQxk}r+p+W}i+?P}-xC9t8wbM5n zy5yvI?sC1CJ0&FVLk#$d${!rzWb3?!?GiWKo+vmHXsWik(}qlR3JP6 z0=Nf!EY+`<{YIf$K1*=s-aC#GihgBdUs{D8W2>i-aPLT4Zn3;Wbm(_Qfz9mM1y+0( zb;JXxF`0P`-vM4JNB$Winm=Emuf1)Y)3Yghzx>x1>&!1De`*C2xQW10o?cl~PGc#T zAYgjvG1zM<+q)S!BeJauIC~y>he4K&^?jLtL?&%#n}^n{x4`_3<^|ZP#Koq=i_QsIJs>#2Ndq=>EEJ z1jzG!o^jczjjD<5_{`%ROI3K!GdWY~Fk>@)VQ^ur*N<{zvWYT{$l_l`PjIcHv8YXL z<4Zu2b`OY-|MjseoO^8;qK2I!?-bBW39i7-_n5XpaggEmV`*$6^yccgbZ4F>_!%m$ zW_1$@P$h{=hWDgJDZQmp-{GU_vI?Cri7QnJ zw+_}P40B<+tb$TxBJ+Y4K+uq|*7ZqdFkn*glc^i2?qSsMDpa3irxa^gj1{QcocHIW zfRh*?OOsT|@s4&Ro@^dA!4kp$%{zGJ`d%#NGq<0GV;mJr4|RrvQU-s$DqS3*34&5H zjo*^Dc_`0t-)E)>w7PUfU3ysnJuz6OR$?Dzx*x)Nmz7A&o)$st>n0>eXZg8tO$}|B zgG}FfiDx^~s_e9t&w~_nU(s$?cd&VyQJomQM{ypSH%d_b+1ZngM6R}H|2oOWGE&_X zBb<@Hpt1pj>~O{A)6P@}T7JxT1^K;NtNy8|J(hEcB4@~s3K_GYb2K9(-&ciJ9?LWw zTTAX3<+R>qdpp0SQl18eG2}J?^hDr^-lWT-z;Re-WCOUxs^Iu0{$Fc>t;VVC#BP5E~m{P8VaV9LV?T8xQFUBR>_1`=CEg+F4 zE>4C1(iqCOQ7xigsL!Il(6JR=!ccB0^p>RxR%D z@bfP>IQzhnblLWzTXTruPf=S@t~1VhDo?env-Sf2a`c@mX%kqbDz42ktuUd3+kcVn>M z;3VXBE5tNbhn1hE<|jje#3Cz@EV53TO>fq)Vm+gaO1<)oErgTNux~e;lXy+TK)?*s z+!WqOF6Q$E*c>y;Dd=dx{$r^|g_#6PvdTP9=euYa6lxCx_!< zBwB1<0Pg0<5|64s{NP*r>|ZiwP{pcBomF`9$%Ka>mpTP+cdQXzcj}Olvk+NRQZJ(s zKYB$pKC$UHIj^n#pSd?9vlt_Ygx^}Gg*^hRu>5}ks82c0m#!|0nbLF&FplBH4$NM; zCE3_R9t?Vc@Bu*N{=7U}_$pyTVGL&z9=|bk zzrWgfcXPfNSXnU3R`CS!TQyD?n?oubyH20>L0P7GqYUWo3FKE-bRu+Nn|EjPBLF8A zNs@GdI8RUpb&5v}t5_dyg;{|I-%>IGG^x~YMhYmarK4>F4T|CDy}N4{;kP?g#uQfa zb#=XkNXzNww9`5FSg9{-dt4d$bn}EM-%?M_;MTE33~8Y+_PqyK7F_M}f}|d`?4(`G zC@R1V?ON&)HxE^vS8n$JTJ}}GfRe^mjR>&H=#C#K({PYMFJe8V-%eCyH+bstdcKeY zNB#$SxHBfqpfwhgr1hf@$Tyyl{3}&|d_BNKhqK&W$$=Q<*lft0YoyseWG;p+Qf7R- zThT(<0R)a?>n}RuRP}3{-H4h>VhoAxo8XrTR1mo;7sM%M9O%83c#l12S=e~N%*&p@ zzc?u4elH$w*pj#~AaR*iMJ^R;Svm%JcIA7ybd^Y_G&vY~E_a)T5* z5#@90VRPLVpUoGY(tz@b^bFH2;y_LCd2J(2W^W1gY=f}il(-zw+<$8a{5ZV4C`p?RlkJf$HfJ{cZu?P zlOt<5H%ujsx9J|*#|&_Ym!4VbCF?E!s^*8)j^VJVLfeAIHl~N+8M&lVB7S@wWGWY zT%^1oQL5C~mz@&Js;_;|i}0MiD~?_}?rzqM8ZSH1j1erh6WvU>-m+5}@spDoGty%2 z`iWzv9O6r&%O(lUHyl~hcRsB=7y&%-ZXR_PjIfHF@Z`|+yF6ECKQe^78OSV@9v0aP z+%T}G(95$OG@u2t-Nr=sp3j`%NEV2Ta{k_WQhN)dIXwWa)#GLf=N!uwFEBpNmMAZP zIE_{Zfo%KoI^fSzmlv+X0dNrN5z<8jPfO;3Z;qQ2<<$|Ywpcy%AA;n zRm>ox{`h2W#pZ$ijTGSEArHusX$s%0(ZsAqA2^-r&o^1j4~m@=AJIY$!67wjmr2p~-gX76?Etxti&o zVWgG?nC4_Vx{<&)ifs}MLY{on;qlR?%wN?J*lVqRWrGD1Nn5A>H71-kXvher>q;v( z4U=FC#MGhf>L|7;yx`(Q&1*_BW+&c`pB~S<#1c^l1EM!|#iaci^^Wclaw9g44Y|$v zy`Y2ut+hz$cBkLOn!Xf~A|o6D3r&ei8-!UMRmPtRM$0XMVb<{;6+mN|E^j5;?4!h_ zU8P`3rR-o`o;NJ!$1YRa`VTFZhiv8UIEM|cNp-b6^Yza+)wV;(A;Rm#5^Sm!IxBq6 zup9)gtSIzsXauoGplA)}E3lbzT%~^lmlHO*{e1G{&h4(_j<2CWGhFVz9)KKI6ZI`K z78B)knVxBOxe`=FcDqCm%?w%=-rT!;00NBhZ-1UI!ND6y8ZsHCldaI!imgDbnyr}8 zq7IH3A}uTsTm$lc+q-F6)D;qNS0B?2PhgIUyUTf6FjKSNuk$%0Gqd@@{k4%n7OV*& z$F)e+FG*)_?=k|pUjX-Ul!#Lq%Lqn*M+KI|_kaU@GIAlwMs)Y`3eppOAxy0TJq-=t z%4JVof8P5he-M0KI1Slv@bv78@0I5tk9uWBrtes<pf?qth^6;9co6ZMptdNxg2C{0^xXu<216VccL8~gpo&^W6}C{V9wFUQ2;H|* zJ&nq0t`?1&QJBwaQLJtyMZ$BcU9kd=v>-!SR&pBhqNd7{xfUup`pEyvx=}`~sz-64 z-)3|U-}<{|njVCq0X~{m2)(qY+jLWfa+nq>FHOvNGOaV0q>Cg%M&+6&2{iz8D2}DoMJP`o;`-1e0MN=wK_;l` zV0|idw=<|_A@Lk=b}px1c=l>zb{;C~4*i~O+nE>?{z4u^V`0Zs4^9d&q$XDho$x+u z<5R3e5C4``?bpgkjI09DN=zfDRsHBIR`YkzY#SX=Aq6V5mXk792>0hBgv`uV(FqXi zL>zCZvsF~;xNwvOc67V8i~R)UGa88FTOZ`9d299vZ$cGPY~nDcJ*lqE{d%L28*kPCx70Sy^-X8*Fd!v5Qr)bu`OR!uMQNb(j$4P4*Z*d$nY?@0=HvIvNz!B(B&d{|>9 zPY0ou^XvwGEu+d>_X&_B0=!K!ku|OOC`Z6sZc}8l{q&}301D7SCZ7-qmJ;w;IEAe= zQrOD>42wW1&EU15`e_=W`!SLxsc%XKodnZ2C**oNH*)CVCB_~xw0%LiBQQd{W$HN7 z3FXx`3wo~EjvRpFtQQYd4~!T(Cvkdf3?dAl{F; z232QLlZZqm3CLgG!&il+xOjoPFIfrj)#*Xr*ph+z?f;+0W`ZAyX#n%(^Gw4qh{M@! zp?4OEWunQDn6$=NjYZ2hNcVuRk?#F-tp%CUo93bX0V~}?BCjf{4Wfa-CuMw`?8RS; z1=hfQXII6ZZI-+1!6U5CsgUGzpi>IISbG38vk+cyT~oK+o+@{ zIF*jHFarm7yDLQNF-hm3DJ2&nocqX+DGS!G0>S`OS^YxvAcT4a|>!4stLljS29Qdey&pDu9qx80-c|usuto} zgFj7>VtBI})bh@`a|E+oYI#39r&BiepD5A^Gx@w|M$E+myq)`d0*?;s$ye;3JH)QT zY^F|yjxYhuYmuOi5}v}KmxzQ+@$3v$VWMmeuj~9-CaEF0DFgw$*V8lhMgoJ&pIS^b z#g|16!c_XaFdq=%-=r@779t!-s&)QEma#kf~0@l-Wp!`1l|wCS2Nfj zYknPo7#5&Vms!FHasOKq6jkC+$mS#2W|^c7V`pWz<=jPld9;rcRTe;LVddAYH!GT@ zI+4Ri5Qbj)a%%iOAP%t6TuXFV$&`UiwVilIUyeQ|q?Y(I>BuqJ3@M8A+^hq<))RmA zCOQSkS@`~mPwnQJDW-y|iGWOg3+Ip&72--)6l75>0Sl<0NI#Er?_LGGSfQYT> z_@wVq%kmi?Q^b3=IiQ&9)|~xR{TtAp6^0PFJ8#qE^MdG)85b)y)XFj mEEFdu9c^uRsEpf)TatC0)|sur%C9Sk^>3%A60oHW;r{>}W$?KG literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B05.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B05.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..50a214cdf563e519794deba099d878125abbc9c9 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B06.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B06.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..56751414a6708d8762af6ab9b665291accf140a7 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B07.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B07.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..ea57e5466b564e3e6dafa8c2e6467afe4e27b3d6 100644 GIT binary patch literal 8314 zcmYkeV^k%K`+uE{$#t@A+qP>abK+$4OtzcqWZSmwnyksTasK!7tlx|8i)*dD_S)C` zkGwns1OfyE1R?|kBn$-Pe)`%}G5)Xj`OoA2&oAEp zF$5U|1kwNW|78%-M*gSke#BAq!+J0DFxjkdJ5q(FPp|8-bhhTMP-a~~6oEQs&VH=1 zjCW{amfL;pEoADOB{#ht3=1QkPvaNf3Y2BJE%0DN@v$=NIdu$Q{T!N=&?#AB9zAuHkNO@FrXl< z7DUq%bl-UL_Hx}A7(IJa{Ip`(+lau(5tV(tAMp`!Z<$oOC)fj)kWX`=c;I)IWn9py zmg(Y^iywT*QNTUQyvC4Ta0IpbMRDYedkI4;#n_aJ+#gHzp8j==?$^eHGz-SAso8j;OhI5*Z_hK7l^Wy1O zpTDeN?I!k4&lM&`BpZ=pN$=2Zl#C8*`Ko=+qOEALqagTd3mUuPKtO>G&?<7cr4dHm zp@cK~t}kC{v7ZR#-ZJi+QOKKLdp70UJ@K05A7BF8k~_w!;|MpM+Cx^{2=c-sZ8VD) zLpV|>arECr8|o-Lt!4RhoQq|2r`XhexKPcVVX*>^5Ju_8xh;=lw*cv!88W zEvF>(i^@4MXY&XOppV+<6+MoQxgRNd*k_hdb5T#t>a!XDJzZ$Dey$~OoZt0Twg*qx zYM7jKok{Nw!@=kXz;UVStj2b+^-*plNSac4oSn=;T$ zfRbGH*V3I?^uw8>ji?%#K0V6Z#c@oGOv6IN$59T!|CQ(QB`flIx5zyRc zBJs~t1Z$2syY$o9lNf2_g6+H^n&Con^H}}Mm38wreE7JRyHw?JXFvNaAd7f|vyF!F zx}IO+4NO*iYUD^sBKQrsLO-Le>TFgxVm5&RvA%5g^wXR7!sNElxrA zvoY1e3b8QPpw&SWj=y4+KPYK0+sSAF}8>cfW_3uPRoPPywh{sy@%K##uXpJ zqmo3#9q1rI6*C`@?|PH8wnw=n}JOM5&6&ASndc zhAP467U!4GAZgb_kiyLvGsUIEOZ0Y9?5{8kP4UIWU5D~u+@pqgj|>QY7 z?|5*&ZWU$=OCWMfNihVS-eRLYRa4%Z)1D|C;2w#;^tW?@j;VvY_|BstzUN=C$Hcewrbc=o8qi5?sJJA- z)b}-=z#hqSap51eno~JKx*Ilc^DF){&($UlR}8VBvU|$2$T8SWk=+qwKN`-x>p-Zb zfJfd(AY8#M1Z^JC=4Ycau}Mfn>>;txx)%lIPml?1{wCX^ZJ?Z_L0`+lc@%yZW^oBG z?wb5U(uwqT=@bq(?X3;*y$for`_+@^K}P>uS4cZ!*N=&vh;SA@+8I43o=xu4dMn_M zAN(}(dtG`|Bh+lx;*gxB0SYqk$dsIU19V?#lFhwwu-Qm~!TovW;UFnvg{&)IyKOs^ zrxCk5e(Gyq%%=jRjwb0vd)gtFoIG-#5Gy9nfXM zV=Sv$!dg!K2%_YM;Wmza_&^9i%Nir41tPNi*6Y1uQfsirR>+EEMAA0 zS_07V%g+O5Wdr0~P@XgMsg%VN*+u6vr)h201;M!GnN0anNuS56l!+LsXT;|&;^V`Y zWj5fa721&GCdyHUZFk{nK_N*4EQT~m@(xLxPj6e6cb2-po1qQWk5Dy)0fzzA+Q{Yd zP&|kPFeI|2g| zpl5%{s6xTHZMGdc{(4JUYFV(S0NmP^F=<@SXiUy!_~{ZGy7ps~+WjL7os3Wt#iB+R*)_pjb&+x$!J_ zO3#yiEAmatGs z!WSTui$h-mMpiVKFzZZ@*q_7%!%2v?`$uk=npONt%b6~ zv|w!{Lxz1U5l>~xT`7BxmhS)X|1pd2p~RrNB2;?0p!E@)0|$cm0P?tO3H``EFF*p(dgBMDDbB_46@f|4poaDV%$=^y!2 z;TjkF4!!vNe>a^ZE%sQ|>pbtu2HW!uaQPMw>5yz#{hP^F6t@4>-y+As*ex#AQQ%Y0 zzOZo1dA~Cs6QRHH;fO(ld16sydXp_ z@s3o=uRb+>!Ff73KBD{4f@7w>q4x#ToEk{_TEOlUpbKvPG!RilTw_7;h*OrB$Bm~1 z3^>}EtgoQMW2BK;T}+pfv;J{TN_ult)k{d$MVKrlbmQGrO0)enw6^KRCEty(g2xzevif^Qk9ctUC4^%hXzHqXk^M7FNh$30p)k@!s zt+khMso}f=x+5=mv%VI>OQT70u>cs90F+7DhH-5|kMv9*)egG~@CvhO(44@E3_OU^ z{x`x9B8PQ(Rmm7@C$O!i>bmRqC?HD6w0w^mPL|vEWn3#q!?L=G zB8kMaSm~C~@^~TFTqkw)WB`DPvAEN3m!STyx8ANOt@+HP=-J#E)9sZ@e!yie)POT6 zoX*@7w+G=01966LwQfu~@9Z+&7fYeM4%jHXf7FQ!n*Al1 z5gKineKh9-%8T+@;rbr`B3(bwlN@m<575?hfOi#__n4TNi1{kR;Wipe)7@|Pi+YFI z;GW!rIqPBLdB)m3UX?0E;Z#iO2Ym#@sHAA7Fk!*RYN07S++i31s3`0D8#wY@7X_zo zXm>tMy%lX>J07`eI?UQ9((!32QPuH(ipd&gK+=)2f)HXMJVIjiO2=x_4`rNz>qc)8E z(`Rw;g^fyG@ye%JL5+p89WKV#gKg!!doXq#f`{{2r{n4X7>g?qVmffFO z?_TG}=jD7a(!J2Z61=JIug%U+Uj zmHnw3=7yOJ&~O-*^BT)gqy`SGnR%u5<Tvt-@yB`ieAECbQ{Nv=`z2P}XQb;~Lxu~xr zDMc1Q8&&CCzJs;iiCEdqvqYkb-gQ*9>U1EvnB$*NdDsv_A8f%7pBR7`6@x%X zH#jc6bw5$BH{w0b1LBA)-Fbx_OGJELFM3>#VceCj3tX0OZ^VwdXvoFZt(YH}KOoNz z_#by?$CJJ#ohKqe6Yk<}s`kx`Dm!F!h|Rk9q5^@X{Lm=d{l}G|sazzr(xk{~j%Jf~ zBDoTrbqBue3Xo0mJP7GAjSPBu{M@jrYoE$b&;f{K$D8w%cts9(;}eq~1;W8!?X5jR z9yN3#=v8^whor^^hnf$8?H3U1pXRXpP?QuJIast+uvTzqLY?l7!r%A!6gFfxV_VP> zG6)pwHG|{X8Xn$0b7xaq5j2p~zQ`a&MDpQwoV!8%rIy#r6PRlhK@n&v98p7#vdn zTd!Xc7c!VQ1U?sDmC>Mwws_JhpBaNo;Z^j?i7<%BOI5aaIWd|^wE=!|y_yDQrwis& zJnR8ZITC~$E6&u_fVNiI$om-bVc*x!aJh4D@7O!Te?S1-pjM?c4wZMpr+DGV(9U-cQ)rNO`a+P8k@ zB?QT{s=cRcNCYkrBF9H5(xxjf%eWoNk&||cV3wroqI+DH#Wjd8&W#MEG;H2)FcfTm z+J`ZP?aNV>Z#;V&G@)5LeG}eSgiU~hbLwtZ6P^goT|kSh_N)Sr2IABe)vreq2w^!9 zccg7TVWe6HG+BHGezoV-2(M~MCslQ|uVy;*T6|v1oxMa$t;@khEaeTuk&8byAhFQHt8NmD^O6^EGDa*($w? z1xSAVn=u_`F00h377w*R-!dkm1?FWyy^~TgaKeI+^~Yv@`Q8l<+4&Y4uMDJI5w9DL zj9i*^9YvxJAiCA?bHNf!D0m7VbpJ@HVDra_T9{s9=(1Q9)5IxeK8A6z^tZwbq--QHDW_GfkWK}<7}r4k%aa|X zaR^+}aCmE+p+^_TD0LAxMTAZfiD;(d&i{_|-|*PcM6=zrK z>3?qeC(Dx4Y&KUZCx5PA;T6*`%D(@Fsx_4mQEx8*U`f!@tONcxaP3}QGthS1zmKKm zl*2krHr2?sII4qPNh0#wGA!lTPk1`_?^W@Vb5PFG>NpcE90z8TD^DTatl@HMC(XPY zyrcL24fFkd?@TX~zi_r=q)w&6T;=29YQa#pFLDuw(PC$zgqkTkyEQ4-U@=H@5LO!qLWbXzFOG z@DA7&=3Rw5?=8UUU{v9rx^|8`#`0;T7OXOC#oKuws=Di*)~IhvKITnIY`}@*i23xn!=xs zx4+Xfd{>OUA0jz_P84^;%@UgQ9%w?388~FqEzJ`$$-i*L>K%13Gu0(f862|M29GsS zO?yuaE)bmcw>N+PG)6QVTn)HlR&jY9ZllSY?f9>XdrZH!B-TFJWH}6?$4=b59^3hS z=ufQcQHkjQHT;;~QdSIm<+Ozi>G!E_lMx=5=-IXOHBu|t{z-x@h>3w}wzB45A$`EQ zJ+WiHW^T>w$6ebF%OS5VhaF1;_u)_$BZlCMP`x*MYexJ zt<_e=Qi+Y-N6sm9$eGc3NvWCd~9P+6@2mx@EFirz;` zNt>_uz#Y?4>KVkvcEf(Kd*fL-oNJYTHmRCWbw0cS@wO|nru7&SuLmT_-g){ObG~T{ zm9N>O0I}FAd<5+paiM=Ede}gpo!n)0D3}kR;SdSnEhsz6nh=}o>$x;K?zrbcdtjr< z;OHe5vclA5!EcRP67Kj-ltEdGyqywXD*u%?-gLJ!pHl!LVl4O6_=noNlBHDz1b?)Q z!MhrcXP83p%{^`TOwyHa+sgmVHn|fFmA8yLR~z{syJ|6h2mY}()iWHB#Gx3xBc`Zg1_Jlser@vx>t|iO15mw zA2b4E4Zh!XgW~Y^t6;%G-s`_17L8#o-E%}=eWP^@-W2imcp@ykbGezVU^tE6t^LT1 zY}ow9*Er}_nHd_-44iYia7H~KO90c%>G$0st@B<#NxXqu2MrAny8z7A%H==P2S1{e z<9Gdph-wV$o>RndB1g*NN@(fIFJtSQl}m8>0IUVx{zK6*gV_>~cI{I1v?~T*=221; z_!kE6``Kpi1USb)i;NIL`S6=X{CTUDRScqAj5RZV3eMqOQAv7K0okJn99y?g?VkOw z7bRm~JaKddha%1ch2`j{_%lk~L%@wnG30r_(NELlu$gW0ZTS+6qdPbA&v?kad^@Zt zxoDEiXAv)!$;3U&T(o=+TXwr|k7Y9=#20NH0VlLQ>;53e;+%+EM2x1<9nn~_zytl! z<_YN-b;td+we&J-Op68Qf6e=-a6B`6bK{D}~`EyeahC@HM?jD<&?O&)%OL9@ftYJX2#`s%w|xOJhB4B3tq%L8Ygzdj}TsW?G|lmR-k~5YW|H zDsKD1SWn|{dh_**#;oC}{v|0Z(P|GR$$JbXJiLSVRhSNa1wzC(L=X;~le<$0u-d3+I4Eq1X=Dd_naA zPff8ma0G@4b(Wpx@RwA9Psz%ngAL|Qj51L|W&8QWAME#fdq~OZ-nvuK<{EiQ4sPWS z5J^&IDETFdvuveWL}OD-45xQ02a7yehTFn*sL>owE@o?BP3gscr}UIyg_{Z#5Z0WR?MAFf zNGV(?KS`%1u^u}!VR2EAW-|&PHz2E(QI4@p3q>|+#$@VXLgn8il<8+8G3pxcmmXfa zxZrG7)}b!9&Tk#+loEXfq22#A?7Gq!Wnzkwx7S z#TZ&O@Eabl5W|EyiFG#>ukM{(Y-*{Vvi36ng_KbR0lgofJ)fOSj~vPOi+<&e53*u` z7WaI<&T6-lo%f{v8|*phnBC56?cj>#HU|BKHGBADhEw(*DtuAOht3P{_eKxyarF_r zU~RVzXMu86MTq4iU5zwuw0Zbu2qH62HS|8`D~qdf&;bF;7SrpQh;hH=-~O5QL^MP$ zK{6p>SvCa!U7(>UvfYcKXo}>pO$40FW1^?x4;~Ze5zVqY5f?PPxPk`TaJe_TpSl`7 z<~kv#;`({4_croBZA5nva;J63e|vq_{-{NF(Lo#D=4o4Sg)NJdu4oz2rdErKJ*NTB z(-8PY<+ZbCpRb~5E~)3&If#PjYh6NSD~kPm?zY3uBl}lGej@sQayV$r4-4kvGhab{ z2L_K{ui<-Fq7=KI$#~IPLgVYm_X`~?+0Uoz|2f8fC_C(#5EyX)Z=Of&f@VJT5mq10 zO-|~GZdXJ9#?J70te`uM;18c+T=b?IFZ0OrO#Q2VgFb zav6_`rH|z-Ds*DjJ#Xi6Gu1*N8U%Lvf)6*+t&b)+*wvtnq(f~i8msiavFjKqcsw=> z@lYX!A+UhI0-kE8u~Aq0#GPTTFXP#wY@PHod&W-rE=iR}qu0U*CYk+mxpAD>57grF sAPa`#|3sQi4M(23Iv7shsgjJ^tRNXq@*H_)C>LfCF?l7{Rkz9hKb(;F!2kdN literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B08.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B08.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..5dbc33d5122fae185ad6282e10db8e629e0665fa 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B09.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B09.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..fb3c4ada78c6816b1458a8c123bde05e509ce45b 100644 GIT binary patch literal 8314 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 w9+q-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B10.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B10.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..8b7528cefb6529690edb561a66e5a34fa8d0fd60 100644 GIT binary patch literal 8314 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 m^g-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B11.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B11.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..c742ef9091c3b1d3790dcde8551cb0844da00f59 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B12.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B12.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..e285b7cb8e2cae9a84a2ce8e8586076e1324f397 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B8A.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_1_rect/B8A.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..8dad3bd0b35a44815b48a34b79d674a252fa2671 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B01.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B01.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..b61a82720edacd3fe9454b780f74ce6425a7af06 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B02.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B02.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..49af535822155705e215816137549d1d4ce2c9cd 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B03.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B03.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..5d0a0a07cfb53f71b1d9a1fd284a4993c01042ac 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B04.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B04.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..dea8b0613479b6875bc484e766d598381183a9a4 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B05.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B05.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..bc688d1812061fb0a7ab622d72d04ec9a7eb3440 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B06.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B06.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..c05df52d962c4a168870d2100c63be4cff072d30 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B07.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B07.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..2b432d47c81771e716c9c844fec1fce274f70569 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B08.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B08.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..96ce65b49234b6adf64ec82d14fa712731394318 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B09.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B09.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..d4e1b17c5af20074ba8c551003ae8f632d931217 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B10.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B10.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..8747b6b4fe8627605884a3533d35c2c4fa76a40b 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B11.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B11.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..2b024f607d009dacb1c2ec177ecaef0888415674 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B12.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B12.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..0c2643b23f74a67409242a52ab4f7535b2165df3 100644 GIT binary patch literal 8314 zcmYkeRZtuZ*K~`!I}C2YGPn~UxDM_f+}(n^ySuv&5S$z1UT& zx>n!rYFSw(C?qH-C}b!oXgDb7|48(|gZ>|efrkD6bFBYz*#G1I&qMeh#{NJ5=YKiD z|8xoekD(}`ph*A6|4)O8PsBl-G|P`lWaEM+5%7M}JdCZa^W8!qGruI(IV z0_;dYWQ!l}L3+}+F-P3|WW9(#83*HG>h{I`2mBiJtLAv~iTD6HNf(;J?`CE8STZRoh3m(GKHMyu3f%KRCDH25QU|C;3zyH3 zzM*7&k|){f?0T6{;QeoVH*~sif4_`}{7Z&}pXA~!DHri0{jCZiT)9f3NkxNn?1~MZ z#isZ8ERoRz{nOp`o*!uc7!i>I)gHcNLu^}+WmwgcEpbD9cWl+`d5mu^7onY~S!Lf& z79Y?juA>C3Ss;l;xG7E`AP8P-)u1WQD$0CkAxhIn2*E@pAc`fQd7n~Sf3p|5*r41o zJV`kkI^0^d&fxu#J-X1&XML;h`WuJ(e7^sk#T0l6ryhq z7^*{Pun~l5%?FTH{Xjan(?ynQRYYtyuFoFyvqdI_m1ksqLH4S2opGs-?4; zjN(p{7L$z~GHJ1gB|*)wx2Nm|s(S9*I6*Lhlx209K`;^h_m47LKIns2qy{B!@$w$$ zwCD~=qwwZp4_V(9Q@q%sFPNOfig{|~%3f~Cznl;5sF;py2=3T42E`zdjwc6G3X1a% zv+zP49UQ_2+}QlasmAHUpA)xll@LC5CeiFtutwnrLVK1ygRji$bn;L&Wp%B+X|1Eu z4_^bzf@QII_r7%5KI9<8-k*|vFG{vS3SE|l-UZ`vOq1-lwKxqcmTH`V>)ul#p z%pcT`)}$|SZIq3JbVNGpgazkT)g?Le1H$SFw|{L`)gFgA&>i0UM7C9f$F3wixs@v?zGgUtk~xKLN9E@nhW$Sco7 zh<&~}j2RLz@AJ5747$y(ObCx)v9TN{{lr3^*R0)9vX-gPJZpA(@sCdUW8l7=9rX#^ zyy=sCcHHOaJr)rACcN{NmYPdS^HWAN#7L&iD&r z(!AvGbH>dI6o`H?A9kJO()frh^+-8z(ZG$-) zEAa%Pdfh?B^eCs@-*&cKuTV0%e*tXG#KP#H^EL8gVQb-I-AOlZq^R6Z zVs9tIy%+q*Btc)t2K`6VHclZPdpem!z>`Ss0%0_21iru2H_J>X{*R*eH6wEyXKV>c zi@5q?)awPa4ix-i+NILMm`SF_YF>w$2|+2S=o#sf>nEP*%eqnedMA}SIGDtB7o_B}ui_+zO zRy{Bi-*T^;!6&eoP$WaPC}(63r?K4~|EMpWgXxWpeLb-a6~C@3-h20A3e{$p!{uhv zANo5(L^zgB3n!9vzw2?1QKK(h2qN+MH2U$6Udyn1?ai?7&nzzSAH~XE1|Br31IJw{ zkNJ=pS_Im7MQp1HgZe|1qp=QSIXhd;5uwIj7z%4Fqlp zu}%I|`tN?L0?dC_S$e6$b7dovI)rn*>R5j3+r3>pG@zsF2JNM=Rox%IRx?0V?}>)P z1b5`7x%2U+^tr#aqvA8}E7Klv`4$FX)7%>T>oO^@Bq46-H=|U%@;?9IO08b%rM-R% zU~HMrA7$OZ>~s_erJvrUw~L3vC`H z3Mr#0HX-Lk!tDAS8@=sm@L(5I4qqyxWd?DPO4gT7A$u(NI&I^dzQHVU+3eLaD{ruQ zo!h^^{B}}c=2hJpAC7INZ2b48a+%ld{p?*Qap7>v(0Sf$EZJ+(&Ewu*Wpu<sP z4lba7<{!`tQx{n?$LZo6rD`|wpX(srmfJ}$76x}*m;_zn9kjV=%XVwk!D95d)xWMA z&p(&Zy{D21@VCXUps=`7Ja)35w~Car!{E_8{i%g9f3=F@;3* z>MA6xd<@cEge)FM{*6Jwe^#&_oWuCugB+ize3t(VKQgM)SdSw1q|Z_gEs*^bE1LVl z8LF#u0D^8f;o-?&T`!}j#kmf9F0W(@mc+eu6SfEN;YQJn$S^G8R|D!d4P=JrL$3tJ+JDZiCZW zG!E?~T6s%>h5F7@+V8^Sk;e@S!XbDaJS%zC5va8@3aK5~uw4CquE+<+KW!^Rq|58) z?}nP6NSK0^Leo)LFsk&rgr(u6_xwKPsq**CK;n^z@l@aGHTaCEqO@ot?GnLET z_fPjl@IzotkLwzYdV|RCw%V4n<{wZfiLfT8iPBfbxfeO#<(O(c*OUT1=i)zazdvpR zYIj%fZACDZzbEciXxsZYstz=R>_)(^|ruHfXg0|O=qM^yRKA*cV zE4LP{*#gDgUefsYFMd6fW3vpq5*32}3%14qq%!wQs`Kqh92z1RePz3P$RBqv-GrA* zp{;i3e~o7#x0o~!R{CDas$cslrs*9&erY^AU)2ZK3J~zP@@^&Z6{4+rhL1@QKuXPx z<)>?Zt2riN{QcYJ`=>0;Sv38-bI|j}Z3L87mSwpnt>s+qaUQ?xx5Mb_K2wBC=SuNg zq5)cFItFX@L{?oM*68$YjF}g&W8#kpli1Kz9ytCDUpsUR6H<(kKMsy;Gxl^(j3I^; zg;}p>;&S;Hu4Nj`cNpG2L1A90XJ~VY=jTd@E64Tse5Ra@X{J=8uOx-hxYi#ex@vK> z5%WUYDj8YTF@Y>>Hp$Nh4oyh^?LJVzc7!_shEy z=fV)P&oy6b?-I`+!}Z{Is_CowgI2Q4c3!WjoNO(G>pG7`rPZ*@#?t^MTOEgR*^iF!PWky$(kpX0|;9sQLGkG zW8&8rCeGD4RjdN_#m25L2D4_UjSDwMg7EABa7;%m^AZ zYhNQNQ&D@F8~!2&%GS`W7sgw~K1S_Hrt)wP~CcX+}pRHKBh5_l6wot1XugF%h$smt|GpHX=xzEJnrhvO%3 zFQ*zcZ(K#|aZ(~P-qX1^zXcRwPLbmh%9N_`yIQGG;+y>nX*{hk+l$uXGGt~!ofm6F zVoQ=IdtsN4tb1mlGR|Zf6>Rx{>2ba-VqMI`nH$3v&FfAVSsKc1aDJ$r-)dwQ3+;?W zXQJwkmC+9{7NtZpar;^ieATi0E=hH$Z)2x`6PZebbV%0az9*-zKFkXwAbf~(;FmxI z0{>sG57!dm^ga*sBQtA`D?t)DsJUsqq7@yDzgwl&R|zwf&VTMEWmN{X%O(71s31xy z*B?!>1@au`P7H8Tin3Zp7RdO*%8}wK4{Y?rcddoaDthQ&`u}`Old(R3oFz=BZVS;S zbVWmvz$8;9|By$EHnwxpt-)M>ilzH?t!Q28WWSl5vb>J&S*=1Q;LF=!ahnNq=2ziV z849!SESXo)yM;VkJzjU8)OSSe?JZNGUibwBUC65|P56q5E}nCngErzB8=XgoV3_y| zk1rj%Fzp$7u{uQG{eJmz&d#lZu`S zpqGdxm==`>8?DK)?hJ7|$*c*{q?&-)k*mK2qH`ER#ojewn@m8VYWlp|4b`4*J%@7Q zG&~j2`!m8my{^5O0+}tJoOTEU+hYxi|3IMC5rIGIY6#wvu4^033>__4*oKT z04KQ^ZxiQd9W1Xs_e*EkJo)rR&x3n}{I-bPTLwHO6-SCG$#Zc=^oJzfDq%A5tP;i) zyVm}fG#a59Q zLO7oRdizt?YrXP+6G>G0;31-eFtV^t*T!}a_E%Nnx6UCSJD1E z@7*lpw|;x;)<(-p<%dUKEr^wWl&B)8xU+;&o#!haqTxyuZ`Rv=6FJ_=!gx<#rw!xG*;x5KpK$yD80-WlqCX3X`;em9-jcTNK z<1@%sZQTpj9m73UwlX2pMz=+R*mAdYp4x8h8<7lxaZJ@AUO7>GCRb*A6LCjTKnu>< z6mWDSus!T|!?BO$B#=_ys@E6y_fL0BwcbHk22Gt?<;qtmlUb7Wsb?bucVEE6h|)+o zdAMiZaUhY&^iNa=*294-A`_(`eKbH=uZdgX3LtiyG%TYK0DAOn zKD@WS1bBltNqfs$F;=bWe>)spJF6@_GJGkB5?N^{R906fv*XkeFH}_zy7XyPl;)_= zvXsQ=x*&6+4FfFsZVq0|B&}4kxxoZJ`^O6&UoP>*1a-RuEQVYS$puDhoG;t)9UHG_qj7C95O(Qt0znc&F?n#;qCThKHhB#P_t!w&vK>C8duFFQEEyXNkpX97n<2Vby8ATM?-AQz7m$c>&5K`gfEXtRkf5H>! z%0go^sfL3M@@$c8FQPQfYkbdJ)Kz+a(&N_BRxX{rL3*4#Lx_<4)Z~BsY!_j(SyT@J zW}uF6u91B9!(b*qjI32C7;L1h%FJzX?zv@afdvbijValQ7afB@a_~rmc&5#==c!2$ zwZthy8D)8RrIz_$RU-+VzK;zuzjk8UD+!vyP9t{W_w65SMCV!GWo*?F8dS22K?SVams|f7Jc4`C{BS7kR1FVPMIYj4-f4g@h#j( z*4oL=OO9nc+)1?ah0VSP0R;H+t3Q^+nI?w%2cEk9a!l(`h4WN?b=?itjxmoUAFA&y z0Wou=qfVe131cy=dI!JI z)L2Wf@x7{4=jaudPJpmSjvSF05nWMAyCi$(LSa3rf}74;u1#b}Z1Yf~#DySpRHZp%=9{rCtP@C)ClEU3>$9f>x>K>yj$8;WAkyNv^)M6 zA54>Z%kOH}eQyVHw4Vdpm!G!gwYYF5Lb|xeMI{>;(ObgVG-A zzHOXp+Ty$v*!Q|<~RL!aQao|Lze&eMn(?*BQsH;tw>*Dp-t{Xb_ zTVK_1&ZQpalFT_a*amBxWNF=*Z)uLRtf?Xc3|{oFY!#xNXnF?zHFKYrkY;C zYcE@^e~?JZt$BxX5rG?x@BehEV@u1}*SfhRiyiy20LbFhhzkYEJAq=jiF5nxlusal z1;>+zVf!gBYfGsH{8t7FhQcn45FUr-L#9}YuDv{K8H7skT@djIkdiFz#GbZ|X6IQStd~PW_2tk*%JqSI zWbNfhB874rmj^#<0MvpiVQ({$%~;-}(`72sI~@zxHA-t2hBl?GvFjDq5ybQTp+IgX zKxGuUo7aPpD`oHmeT=Kk*+Tv=di+Dv#PcAjb`MZykgCnkS+J~ag+rVSoei-0owpjM zDqFb1E1b8!=X(lc4(GQxHHS4kp90ADvpj88y-8AquSO?9>!qAgGkC6=z=-Z($rzvz zj1ywVKQDAhpFbGC>MV056oUXE6P>;kEi*B=jV4Mci6f!2_ZiuIT5ec$E^8;2c`Sg< zcvGV8ky;d|BD|5-yEphn3pVfhe5$}nfossXjdQ~}z33=oAZ_=r!#V9Vhvq%}tY z_vH85S0v@ZMDvn8$wnae!)7blc@fxCBOUfR(PM&KH%o_8(T|pfsL9kA%h83cA2NEr zNnAY#mZWoW#XV6ZslCWym|(muY$9vBCjnZzQRqK>@p3q}GLkWpP@-L|eEXP>_n81; z@wffhE9Fk*+f*eFv!qbx`9K&Zi>B;po|M=nAX2IaH}|yWn7+Z!>58Z8tjO0f+zGi=sX%gJvUr zOu|MtMY3#EuM*PI;=`~IWgiTeaml)KSW?oDt>)~qDKTQdUmi58ZY6(L3A3JYm|J|m-?x#OXKL;qNHCdyHFHOablhq-28)y9g_ zC#@^HqtKoFHlYTso+9;Q5}*9riu|(QU&fEyM;j*E1Qi}KXZldb`L0=2bQHjxp)cbZ zOo2c=E7j2dE69j#$$N~bhcqF`o{==hXpo^{6=s|QiUke3uhcAf zU>%u5_Ut@+@&uq6Go68Bo$bixwS9u1%(gX}kNy%Qj7JfI0iD zMHKlSI>Dfv@`Iq@V`wIS?Fa7rHp};;1ArB!!x)d4^j)#+iEH}P9>;0S zf+MRH;=jW$DZQPte++57OBtr0T}WyD9ucAR56NGuq3QXdj8t17)n!hp69hSPYa-4I zWxk>}Pr&y_FRSI-xfxR4I(Lwm5O^GTo#d|9Z_&w*YUo(+i_QMRqCtBi?m{0WR}0Nc zPsE^mB9J}|)l^sp+4op(A#SXGz)t4k;dNTDg~b1~Ej#dUsZ1FNvq~yr^a*Uku_ybNiowKE){KmkD-ce v6wUVc4?Z-{skTxMiJG1Cz|WKj!O@FKH({$6P6zbZZf_8mC%mb7bqM}HDS+>S literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B8A.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train1/imgs_2_rect/B8A.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..26048023330a3e5131d7b8078262434fa289e263 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B01.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B01.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..b64da370d6b2302a4f8fb88307d9f2075382a691 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B02.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B02.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..3ec91badd61c67a0bde6ad0e2661f656e6dfada7 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B03.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B03.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..28a3a7192e735d3f524e382abcba84cc3a08ebb6 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B04.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B04.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..c6231ff3c151e9f841780511566f87cf68e71fef 100644 GIT binary patch literal 8314 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

    yV#SA@j6 zU?XH!1GfkH_-WP3j8tGBI5`9c3bI2jtrH!4Pyns_p48(i&Ah0M!3jGMJw;X*Vl+3^ z6ec+tQN{Tn-)AHM%OPv1YyuE;A$#eY=_PN8x`@~4a`03S_P63Dj4cAvCPp7ppjZ}8 z_2fEn6b)S8JQ;FG?;g}vHuOl+7;v@3iGFN{FI9{uHcHpY00iMc>6O(AqNVv9g5E^%0JJK$TFTl^BRrPV4=coDqKh9Ca@U8Q5J|O2i=Xs zQm^=iKryxpAEcji&(2BdP8aG1od8w*B=pQHwgRBJX%fW=WP3vkFH><9z<+Jm>UB(7 z>YeZ(%q0w6`sZhM{RX}gE6%vq**)pVkj1;4P$Yaq;AqG$A@7y!dGY|=C*!-30z4WU zl43|S_KNLm!|0+|rD*Z_w%K3I``1qJZYPpqvyc0#c|M%s%+@b$ha=r+8eHf=dEyO$ zclzuA{^LfL5GwbUya5p&G4~MlubUnPE5QM%VZ?3w95QvnRK@6NO!Mwx537#}H}Sf? zf+UOqlVn1rc!lZbWL|pM1haOVHM>Fe*g&86iqG+R-i25c63ePyE@&K1u{$yzwiI$o z;PbT0&wYWi@dB>|Va{5hCEFI$Mw-D7$bpfa;sSy>Cr?s)VcmWX0O?y8UM?d5IvzRW zeaY*>j18fARR^AU_Q4Y-+oT3oR0a0vka;(^&$M<5fIVd}ya|1N*ggO$mEyMym_S%s z=_dg)RjIVM*d@Em}Y53cQOwnfN zEQ_C#>eV8*6KlO7029DJFQYk8eTFeY9zC&%5CUB0*CGA)N%RquI>Pr~G&2edSHzY_ zZ)q$N>P!=FnE)=PU(6<1es_2sNub1?gkaI6=Y3DCZT!50WRvrzy%UrA%Tn#5G@ ztg}I$;%pCU0T?6ULcvnaB7sf6zo!BO+;{pJ&~RwZic&LeOfM-cuj>U`xghM%Ue+mB aAJEgyTMzcT?&t;ucLK6Uc`3(R7 diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Train Labels/train2/cm/cm.png b/tests/data/oscd/Onera Satellite Change Detection dataset - Train Labels/train2/cm/cm.png index 337cd665214e012c0e068098b83e94b979ccfe92..a6869542b631af55a5cfeee1b4b8af555b842e2b 100644 GIT binary patch literal 4228 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 literal 68 zcmeAS@N?(olHy`uVBq!ia0vp^%plAGBp8aFUnK)6Zci7-kcv6U2@XIG4+CS3kINw- Oi^0>?&t;ucLK6Uc`3(R7 diff --git a/tests/data/oscd/data.py b/tests/data/oscd/data.py new file mode 100755 index 00000000000..9f576720eee --- /dev/null +++ b/tests/data/oscd/data.py @@ -0,0 +1,84 @@ +#!/usr/bin/env python3 + +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import hashlib +import os +import shutil + +import numpy as np +from PIL import Image + + +SIZE = 64 # image width/height + +np.random.seed(0) + +directories = [ + "Onera Satellite Change Detection dataset - Images", + "Onera Satellite Change Detection dataset - Train Labels", + "Onera Satellite Change Detection dataset - Test Labels", +] +bands = [ + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B09", + "B10", + "B11", + "B12", + "B8A", +] + +# Remove old data +for directory in directories: + filename = f"{directory}.zip" + + if os.path.exists(filename): + os.remove(filename) + if os.path.exists(directory): + shutil.rmtree(directory) + +# Create images +for subdir in ["train1", "train2", "test"]: + for rect in ["imgs_1_rect", "imgs_2_rect"]: + directory = os.path.join(directories[0], subdir, rect) + os.makedirs(directory) + + for band in bands: + filename = os.path.join(directory, f"{band}.tif") + arr = np.random.randint( + np.iinfo(np.uint16).max, size=(SIZE, SIZE), dtype=np.uint16 + ) + img = Image.fromarray(arr) + img.save(filename) + + filename = os.path.join(directories[0], subdir, "dates.txt") + with open(filename, "w") as f: + for key, value in [("date_1", "20161130"), ("date_2", "20170829")]: + f.write(f"{key}: {value}\n") + +# Create labels +for i, subdir in [(1, "train1"), (1, "train2"), (2, "test")]: + directory = os.path.join(directories[i], subdir, "cm") + os.makedirs(directory) + filename = os.path.join(directory, "cm.png") + arr = np.random.randint(np.iinfo(np.uint8).max, size=(SIZE, SIZE), dtype=np.uint8) + img = Image.fromarray(arr) + img.save(filename) + +for directory in directories: + # Compress data + shutil.make_archive(directory, "zip", ".", directory) + + # Compute checksums + filename = f"{directory}.zip" + with open(filename, "rb") as f: + md5 = hashlib.md5(f.read()).hexdigest() + print(repr(filename) + ": " + repr(md5) + ",") diff --git a/tests/data/so2sat/data.py b/tests/data/so2sat/data.py new file mode 100755 index 00000000000..f0a2c01f2aa --- /dev/null +++ b/tests/data/so2sat/data.py @@ -0,0 +1,44 @@ +#!/usr/bin/env python3 + +# Copyright (c) Microsoft Corporation. All rights reserved. +# Licensed under the MIT License. + +import hashlib +import os + +import h5py +import numpy as np + + +SIZE = 64 # image width/height +NUM_CLASSES = 17 +NUM_SAMPLES = 1 + +np.random.seed(0) + +for split in ["training", "validation", "testing"]: + filename = f"{split}.h5" + + # Remove old data + if os.path.exists(filename): + os.remove(filename) + + # Random one hot encoding + label = np.eye(NUM_CLASSES, dtype=np.uint8)[ + np.random.choice(NUM_CLASSES, NUM_SAMPLES) + ] + + # Random images + sen1 = np.random.randint(256, size=(NUM_SAMPLES, SIZE, SIZE, 8), dtype=np.uint8) + sen2 = np.random.randint(256, size=(NUM_SAMPLES, SIZE, SIZE, 10), dtype=np.uint8) + + # Create datasets + with h5py.File(filename, "w") as f: + f.create_dataset("label", data=label) + f.create_dataset("sen1", data=sen1) + f.create_dataset("sen2", data=sen2) + + # Compute checksums + with open(filename, "rb") as f: + md5 = hashlib.md5(f.read()).hexdigest() + print(repr(split.replace("ing", "")) + ":", repr(md5) + ",") diff --git a/tests/data/so2sat/testing.h5 b/tests/data/so2sat/testing.h5 index 51169280abb7d7f53bca0e8ab599c85f55702f75..464108e4b9d7000a25142e64bde91bbdde0c115b 100644 GIT binary patch literal 75793 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 literal 186538 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 B?iB(+k8JVIihw1+4Q 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 diff --git a/tests/data/so2sat/training.h5 b/tests/data/so2sat/training.h5 index 7de7b665c330ade42b0f319c4fa64dfc47c95e23..b433518217f6e3674cafc8ba3d96cf02b5a9c0d2 100644 GIT binary patch literal 75793 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 literal 186538 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

    1$YQfMPOpe#iuPaSF@XZd^rHc)w|2e1n&z0icH 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

    Nm+Jl+HsB+92!f%#u=~q>h)DP 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 Wvo%t1waZSOAt01%0uGy>;9m!PC1(%- literal 186538 zcmeFYbC7h+_Ac0VwQbwBZQHhOn{Qih+qP}nw!7c9`_6aH`My8q-iY7Cy>VkEVrH@; z_LB?w?95ebRaRE)ijou+2f$#%0R5{$K>>jQA^yAj&*i`U-742X{;m2){>N_kcL(@y zjQktR|Kkn>{O=bK5a!={q`&$9dp}iWF)^UOeE;G92mc-h#0d7E-akD5=>LEG|3(BP z#e@|9wNlN$mrM9Jj{lu!e~Uo2M#g5ge+e#T_DuiM{e{f`!hiCU^IyXML<0tb_|MqC z34nnp|2-NQYfUsd&=5m5j31P6lpw+sUEA0nu~D+Cny zFT=lE<$vJsEArp!e{m>h^%(&HIsTvQ|91&0@(QBBK%oCj5{MA=zrOQ7pC+E*|Fz#g zbsY)uU;F*P#ri+ymE^yd1`PI}Ecqvo2>)L2KlpcY0R3Ot|L60r@*ir!|IFY&H~t^< z?%!qj_pJW+!T)MJ{)xjs_)nbv!GHAs3-OTrI}VBePsHPYUu6GlCQxt?U;sE2EI1?_ zC;}8T2mk~c1Oy5g3>F3!92^=91OWjC3IPrd7zhRu9smam4+aGS{?~g22M+@TK!Ae( z%Loh$1O)*NMI`N3`V^$Z_o6S-QUjPg3@Q@|EcB_>WjH=Qf($Rs-RrXGENK7}#O{hbVkY?BP z{m$(&9?6hm@|ndK%UcEgTm}G4EB&z$6Ui0eX6bwnQN7R_GLdbFm~hpUAZ*GPo7syD z`Erjx@Njs!k_6u7zd4bFS-$ru*fHo&@S`|6`rsh-A3MvkiaIINbI}DnwhY@)%Al zTK;G0ZYw-vN^}j)4(z)`Nkk(qG8w#`f$3|lc$o${TYBZt{bWKMp62yy-TD$X~ z;ymE-RkH4C7ntznt^Sh=N!4iM|3IcQ+5?cnBkGjR>Cd4K$RLb8kf2L?l13ts)DCC* zbLO!o8r@!|Q?HJ^gE)CZ(7+@4@l)O}E6<*Vv4%ePz9)tp!mfk`26iLo=w!$t2n5MbcjO+|u>8=)wf_$x<}VJASen`gxxk z*6w=Rm#aplW6GYJbxnv{V5S z9Gv29NsdA(g^^Xqvgc1P&>v5QH`KJ_ml|n`>>9z`FlhH7JK2v}`o|vYchE}Mm7dR3YBtd&T**{XEJd%lP zUkdPpVG5*yt-=De0t7>p43xrWEx$RNgx?wzOSzT7jR|g^8MItl(12*ye`2`6uP9kv z)RRGdZ^Ho;#ON=^aU^H1280_nVRbL$%2bQpZ$dYqM~k*vtz|z%%5^7f(ky_5m{AR# z>LuFR8!zW_Lf#%_;8xMb2YZ-c{q>|3Se9zXBwt;6$myrL7g%qWVWRAF_JwSxK9o?{ z??#f=KO&U;6L;L&DIc4d_Z+S<;$Ng3)g@NR-TLW(u1H(_2rG6-6holJN`59h> zB7KSC<85hd!s1y3wgo z9PX|Nh<(6E68o8>$u)2~5KBNBz1}F!`ILhks8gv~HpR%BEk8ZH@*zH$bOKk-Eq2@Y zX`~M8o*@XgE}J(;=NL4ilr>{Bh?~$=dTW8aoWpcsjP$KwyR0>T%CivTcY8^9Pqf{} z1TV+ax%Syf!?!luOwuu_i!^Gg1T?82g7RlpwL}oDqAY8G!L1C1ozd;i=9LwzOuJww zIjQh?2E#z$h(EQ*rQfB6FQL=ME400bmDD%~FIs~@*iZ}7HFj5sNexNwy+He!(Ir}i z%~X3CR7mGpzwFqA#XK6}a+P~nAvGj)u)wq1U;4u!-28(eWXfo+u*mzuP*mHHjWfgG zHs!A(H5Pl62GH1mX@#&%Qxm! zqQhY6PoQEBV&cZJnk2k8QHZwbfc1KYahqg;daq?3RNkd8 zeNS?7vx5xrLvGTGtFA6o2@%0zPj1P65X)+j#oA)lcpWp>liEXlvIr-4i(2owE6hXp zD|8gyrOrWd>8p02H-V5+m)=jr-syTXD znZsno@J^Zp))4b~EuLeZi2!k=Y=e)^{?2$;+%2WLSxxF@KOM_}kgWDg04n9vA7`-V zyZSyb^6vWPB9L&vYW;=Ay_c|a_lbrj(>@Nv}GUsEP!`tE;?o`Qsv76i5fF2=??O7hEc%3pBlF_XX`8of^$?@7F>paK0o}dEdunfr$6R?a zNw~La!Q+F;&Wzj4%_f4(a!K~2>Mr)Qbokdsub<%kE!H?EqG(4!y<>*Li83Pe7QnlC zdty%z(xfW3U}7Rzd>ZWSw*p%GQw%~TVt!n?P|B5@i7fF5)i{7IowqF^*#04XxBTPI z94Ba;x_nSvT@F)v_v;pMQi^U+m?H7%T923vJnH9gASzBo?(iroB9u0JWM>$i_r5@1 z_Mtxod?Da(S(5uCdlQ#=S#$8|Ej_nily>wU98oVuvgTRq<<2JXRIkLg7r3q}}2h-z#+Ji3DM~6WipYml9r^-JuU9 z-HL*_I89n7opeu#&R6$~-a`%R%MlEfdayWsxfJpGkr#{c^djt!gu734@~(vJrO2k` z&lSi1&21t&8Gr5Ay3g8e=5eSk3Fj)02*?JcsdCzQQ>-HHF0z8U8Q}br_NwpNf(FqP zV|>pCs6sscW{H^9u_CM_g2E?B&oc?5j5@KdE4wqS?PzmUI+cU>h*gd+rkNed*KFf10ImO=|#nYzj}+Ks&RqA7&B&jAP_;9MM`qHS=(}P8uN?!ot6A;KPsPU(6pFuF8}( zVB#$OgMlYoz%B5CtxYh6ets>9EkXrTm{6^badSNYoD_$Uc)k{)K8bqw5qvIsrCvLS}@$TkkEeGa_%@#y#fHraLd|amvA&h(BUQH?xM^NR%R47O=?CzY?u#Pi2O0MV1@M2TH`CdR)Mh&bX5_EPJN z-7||j?$EU$DS5<F!dQKkQP|Dd>df8#Ld1y3vd*p9TIMP9zlc z+-?E5qRaw?eW~H53E{lauhIZ3;eMKEuUA)8{l@SNjXtQm-yn6lc_`%dx{{Jkxd)!c~Cw2`Y6!!B5%-IO>)_BQI?r)eZr^*u1fkvLbYE z;2cS8-$0@@XzAOd&4-xX1k0)qUAjji#p6_k&g0*0C=LW;L2>jizy8_)`Kb@i$R!kz zbfIc3y_PTcO=@V5tkYH4cq9nw$w0S|Zs5wgVSqFUXW@*qY%B`JJlwK}`-9qW0$!QK zfDLK!R*ge>z{C}a#iX+=GJIaV0L$VHbG7_SF|@2EUy z+qR3~H%FR_%zg#Hqa!eamv9!o=JL!7{L8N`E}NxA8eWwk2C^d@x-q5^e#S8Mt}Uz8 zWn;*!A^pj8y-FO~i(l>%1e*4xQDDEI{ChHy7$~1oiwveC&DF$H{3mL4H*E5z1__;v z=;1nA+6Q3@XJ69koEZ_30%UNk7dbJPD<(kCL4+a$Z#4KPG#Vxzxe^?-RmjfhlM`f? zf$PT$PTP(Z1L{jRLinc4so|a^hmeQLVSWs^X0ZbXj0Y?>_r|06d5iVK7RKzLt3mrV z;>M|9w-~D^gDmGaZq!+}5wenH+a$spw4id#$z$Q}qeg63iPqCbTLYO`HDUn7HLtH>Y;ZY1V9++%*lIjDgJ&!hLH>5&xz(;#ITEj^ABN%n2cI@ywQmU zmFsg$ZNc6}gl-vde^zXjRGxB!AiVFhTG`nXi1%jC?><^s&eJcWBeUAUcGAFtbkDn4 zRz#AIsIqnb(~gxZKQ>5g0Aa>D#|p}B6`Ef>XxK_AE#3Ul_D0dJbwNmt>2D-bZoVXd z-11vr3*mNxJhvDZM4C>F%(`}S&vAE1>&E~h8E=9!)Gjf*MPX=kyAjT6#i!^2)I1a{ zs5}oIu4EXp!u=r=>s8GSc=oK-B*z_8zFF`m=g@-qv}|R=D0Yz+z-8u(x695Ls@8Fd zhnA4?jlnv+HQ}X2gRX}VKb1E$AvS9Lq`ItexrX%8F&BoPd(U#$fRG(`=Jo(C%4(2I zV36Z`4xuHh(<|mF&RL_}8mD_&4cXRrEZP?Z6j|+6ixW(xbY|s7@_3#gzr!v67-;kU z3z1tS`wJ37rpq=wbc0{np&&y$-hq9L)kiPnOr#QEL}uubk4T|t8Y1mXH_kWIMlsb} zL*)90N*nYpAGxssp?t@}MKNbkaDNgp|4r5Ld`5^ydP~i^6WAW+Fn>Ch$+&ifhb~u= z%pbAM2_h?ht=-5JYVMXUCFXZdzfvu|KTIUBDVDgSX@{dslm);sVD2=5*K==&GxT`1AGo;WyGJ=f;9a1#1!8m?tE zb`Eis?-l}ZpRmWBD`_j!Ch>Q4wGWSO&{`mz!pVEN_ySraWmx8uy*FkV7J6>0a=;xe z->8$QZR6pNQBn`6TwSOY!zYEfgihaQzwF}L8mc!wAt0ZBuG=ZGgs=6~vqnT=mVFE% z#(gW5(-ehJ(-s9wPP2q1mpNuX>eRJsn92PIw_ynE|p=*%tFHi zL<&9FH5al!Bwx11?9bkhGGms0qoa0u{WwIG(EMbBv_EPAEq|$07Q@`9a{;>)T7a^9 z<2DB~B(Pf;r>cLaa?Njg|2tukht5nnzwuENsqX?U=~G6uK;KfIngbu+X_BC`UNANx zAxBs@F3L`Vo6k6dLwa(F%K`wjV>Qo7;s4V1|x(-FB5X$OP5|paWoMA&% zw^1-1v6_=xqk(!JXkra%LkR*29_n10O`rQRf=xZI38nF20SVWLceNZiB`m3foM9)-anz$__F|tO&MOs#$SH7~H1a5Th z%E;ykVa`K7*=Xj^kO%2mC>>R)z!t+CUFn+qyEOsWiArYlyS56VeXEYYc1DA&H9a}; zmqXhmp_E&V5@3ixp;BBO!!e z9ZfX^mN+*>z_Gwy?$slqdwgMH>7^r>KabGR(|p;WxfVMK9C(wddAY+iN%qT?HQs-W zS7tX2t&vNo-FJ&L9FVzMcWXhTd3OR;P4CXW(?k(gjiu59CPr97@0>F;`*biY`T}zu zLbaY$S4Y-EYqI*oN?&6(!o#&E8D!{8pobGhGB|Q>vlS4os4thBMTNAEdB6zIEHVe% zd#4w)&tQ1d-w2t-G$?!%+m%lb3b=4vF&aBtO?ngzaBw4m!Qv(UpUt;U5 zqEhw<4GZQ@z~dVm?rhp0`07}sKf)-Yvh=3h>rmh6&xUDCJB{Y55P2Eu>eCh9;y#mF zhT03y?DEOz42b6@o%ZmfKjHb7d4Db=FE0cV<1&C--4H--w?^6QjljJKpe~v|e(q!6 zxSE-WeF`a*b4D`@4a~sh2o_C?R_Wll#DJBPd9&fJxusZ)hT^@s&3%fs+7%nU=rogQ ze+w~&z_rmVUQ!OwQ5MLt2k8oJX4YNGr|@eZVj)QQ#A!@H=hk2{y#`v(?YxX7r`df) z+)1&|?%`w&*r`)lF#O8&+&$S_qvIm-V;MFB+s%xa&ZbJ}9snUk$nPP#V$#Xay;7Z= z=h~_FT_~2Zm58O+^>23M+<_m|M;>tBa)u1XB9bd3LwAb}>G#`pE~7I?Rub?I`8@Q>n{^apX!w zWKTulg^P@meb9ER7=?3aQGZ*7B%G$&?~pZG4U2`nC)f0%FLRn2r@KNf!*#!>OEh<9MQEkd71a7RBzi6HF?h$u$sBG_^dKcK`?7tlISTe`rw(s#9 z=7h}NWa{4>Sf>pfN@A+SpCfP+3p{Lb96ILP9HogF)6OT_rw?4{3{M}{J#TyT*u=r` zX?xY+yFiCTS|>ruO&zE@(w9v2>`Fa6r)x?S>gD|_T`uQot@INIwzLLqd4^q;#7CLB zwxie!9BaWXZg-(Tu~9FjuzQF1w8>#8E+jQo^!sWC$P(K+J-(xyh+Qq2Fur+tdW$;|d2$UIsvOvBz@Db2k{d6Q1;=t0EpNlBWv-+V9;^ghuo=U8tbG88BEh zb>%H0vFohF7zc5WU&ZJlQ!zP~FRF-hbvV3w4UrJasba(rAO;9(;#nC2xzCqnoe%_5 z>4oEKD9k>Di`LHWhVPa8PwX2Im`uNG4WNm3#6`*BnHZgImVf8J5Lc;wtbau9#I?>x zaii^{2T+D7!U=y;p_CUH&S!POe%lb_NfIqe_Dl*@^*0uDh5fR~O7f+D04WzINe9zr zQKZtMEOB&Q@tR9Wk5P{QYWFWcK9hxCm_R3{xWTdwYxhg{+f0A-RVcy++f$>L`^sGi ze$N$K>m%W~$N_mzQ9XOYW%}_1PpL_?Iv37?LEBc&dWifPTFN(FlqbhV3i-tMX>G;T zCH7F7KSRT#YW~3nRybAcW>H2oztNtBQAA#`^5P@q8&>(Xuuqs-Ym=ftx{ot;@gQ+$ z`aV_R%STtCGe#X8iqibTy{i;Y2hE-k>c*$cljHe(d$u>0Piwv!G!yJxyQr1TF`tJF zUjTb(OrkJ`rHa4|baD_KGg9zSH=5I!BEzR#>QrR%Ost;h>60j0J_EodE1LNNcB7rI z6X=0DJn`I|SPrtbU-%JF)cgiCKxR3)^Pvs`4ggNp%<@{Y4 zC>xeO^VW-XxHvbv;*cKdRh?zcnWFoSP~m5JoAQgEu(Dm2U0@N%S+#7q;hGzlfFcbX z&H`P{D+`g&&xl{!MOFwM_z`u;cn)uNx^68gRe*Vb^hX;UJYowPw7+&w##(()iV=3n z{+02}bOH|2`b7w?4pI-HxR@ASD+k6$8Ka+SD}w4Lp17Ok*KgqCJY+`F42$3+jG zf3HsAZu_rw<960t>r%va7~7ZTTI_L6?$AdPs z?P-$laT5oHn@26})=r1mnVg)H`CZ~z9(v!CZ$krhnXJWwSkq>pTt4)Tj0k^8O@(~1 z7HZpl)tD!{1NDNf2NJpv&EVh|JDjt$VgP6o$8!n6=0=64YbFd`*E0a^M1LU)dZZxL z#R)+;Ocl&?;S1i7dY>%nyzabF%*FtMG;A_OY1;uYHs|$sx!HqkZ z+sv5~k8Twl9hAVXz8KsJwz8VagJq-&=PXLxtv5emj`isHH~OG$<*hrcK5u^p+KPDGoX@M$pcgTNh=v3^aIjHk3PzbrLI)b6Gn zVdC`D5#Fk=LXAm`W>ZGm&y-EN(m5eKB%}_=xPz*Td zMIV=zHzZw|b~3Yzv3%ulf#z06UZDaZEl}KK$A1XY^swm7OnATztm{5jNl9?^xaVyz zSqpC3)g-J!^#wXS#)~D#3L=<^X;bW|Ww6%RX1W>bQRDO3Z1b&J} zdfdlzC?(vjAUBm2K_W87wPBlVmx>WeC<uJ)hTjbYaGJiQSu_X`#GjTj;5haETr6$G7sH@+FUNKbgggqe*#f|+JY;gY;5E+5#Ou%B2uCotnJ>Da4^9{;p+ zus`-@#eEqD4gr{zmHd{-wwYk;WKFQ`sRIvEo|v`#^U)QY>6Kw6Fh!HP0>f__kn%=o zHs_bxPiGbCMDVEO6zS4MSURUs5Cee{q1xkT5q6|5ooR=Qw}Qh;?g(q?Gdyz*xIko4 z4(#jvNo_ImkiBUunY~Veq-TlDqzmTcR@*UZ{C-mG8VZ|>-Jx>>AhfGX6kmqLIRWBE znZMmu1Ns-0OGG@_atAgTzwKpTe*H1r=NkxR5Y9me22on?50mYoksy3=L?Mw_XmRKl zQ==@phLzke@oh6L&188b7O>aeN*;O|+oS`kLdoN|X+`l1zqEOe{SKu{$s2)1=pu5S zNZf@Wzf9jc_QW{7OSx*k0L@;8jsj2Qhtc6t4TtR=#UNYqWRBB{#(C~qC$|?Wrk4X5 zJRuwt-H^syk~RsyiD~=8ZfHmt!`*&TE->|kir1s=sxKQ@yLiNu;11;wceRN`N@S=Q zs|BAON%_jyO^MmYnmZY0yNDH@H+!C!;1Wrl%^_!uI~#E$94)#^QA1(SCaa$0Lrdp z=H@v;6rN~|q z=luNZJ32=0m%W>dJDfCkA*ZpPLg25~rs$weJ6&3y1!002ft1GOy37(BYs_kLdK)d4 zz6aD*yJk7o&{<%S3s#|K&x4>$i81sa_}<8LsUteoGOI?uhOlA%nr85z3B=mL!{64w z^mZ0)eUaw{kXC=^(j#!wnNxkb*Y>B9hBK&8V5n(WoS?knz~jhT=eB6lEs~r=tDY1g z=$7T5|4RIE5*{9wIbJ-I`jx(2mbnNB%kgHFW^^~}? z-Ft_hvx=`)i%xUmfMN)YUAJWt)4iD}72%#?EA7?S$=k(z%GjGM?wUw5Z$m%#W`D~P z9MJR$=cOrAj|b$hV7k>=C4N1uJ$q28z%Cj(6r3qOVWCWskX0nHhy8PP8D4ql@40lL*}GZ_x& zO#MPrtKdP@!Psr(jY6eh<%^{sY$kSzLDiF@}vV z<#_3OZ}ZWV5H_QP(#7d;XyN|ZDkscGVLl=9TS#pya6g|r%n~DfF(SSf8qr*muyHr# z&M97a^zQ1=Hh%aBUPlQIPQf$zzB|i2^C@xYB6_FiN;4M=zp9;>Y-4vjGs&_VNrqXH z+8dh!UKmv1C~f);ZtrN*HN{)~V6Z_jCSspW_ZD2l4NvSKC`E1r@RQF=8Z`ZO;AL@p z9y;?G`3AlKs_MVHgBAu~IKi7Yvkm?SpV`Sdwl>@fZ(t0$VeUEByJR+5PPt)9FR&zw zJ_)}yTHjQIcnnEz;9HxFq-03Dr{<=+oq{I+u8yOqA%Zq*VZ|VftGUcBSFCrUp#n9;XGP?)Y9toV3{M10y+}Kc`qH+9>6}%NK)4O)$#-^k z6bQ8h}dTlr4Kt0;<|;=CT_Dhxw|VT2a|ymD`WBGcRCbrL?rw;-VVtahRtZcW_>8R z_v+}|Lwv2gU@M$KQZS)|$!8fvD)t-x>ciK!S9r8B2{yEG*EG#)%`CKcGaOWierF9l z!8^oDA_3Pp=!*+}wfObY;;S!og125f0?5BH;lQk*>+~Ba6RS;v5!>+z>9hh8Ur)Gt8(Q=r*wX_OvXNBIg^(H8 zB_OZd_gtUjh0hDL%GB9Smql>g_DM0fw&u6F)GS}yeMC8ECF>0T{Phd{>lOq}`}{eH zYn!PYA)!EP_4=%8&-x`XiA;6}sEotn{=2Quwquz+W(qizqh9<9u{=ywzkQZSd@(Eh zGJP$6fbj!gIcml$7eU#pF`Ulb{dr$eWt+l}1yq1ACsTI@x2A-w`@y*G)Mm1TVNWO| z!hNWFzJ?RlSxw}gk{&hr1B`d|v+?r_CH*7u=0v!V%%8X`-CB-QXvTG_E%hefJE3*#a;Kc1dseC9-FjWHj!>7LV zrOLI=jzc6L6-PtYk7LnC7?`B8jW|xw{?)22ps|b#u2GFp&@fnB?K`K4{Lfmu?rCXO zhZo`~!&_2c@!km7aa-m(G`hbbbk$ty(d?Ms;TJ4Ti7DM6e~10Cvx;{hMoC(7xb)&Q zWT{;_kCmvdn5MakYpEO=IoMrw3kWV)bp;ROGr=<(mzVhQ8tGrcxHD5d@L~IS%5%}QO8?v#gOtX1_{lGi4K{y z6i!Fi@SCQX&*K7Kh>cclsN|v_lYKI>4vV{5Uhte%(x3=T%@b7j9uG8L8sRzwmzR4$ z0GlkN^J9Q)C~%XkyXJ!pQe#VXU$YPecZV`)F`g=)TdZ_pVWlxgU=aYA@0=SVnMH8t*7ulkPZEiLv~-I4=# z_*z{bOOnGH-4F-Tc_2wKE%s#c0%W~=XM9S*{sgGUyD|u|x9?AnlT|ah8CQp@pB3}h zUgg(AA-$4r+Ge-HqCF^Et)7*;euRO8qST=We@eBNzP!#C1Bf){M%Ha4Ne9x305!S_ zp^65S8pF?QFgcoq*F6j^UFH1Jz-l)(LXhoOG7IQ!I46)$9lfr)vuI?^@IgNU#+YR9 zABJwOK=SSMWIdFe9%G{VVuuzUVBnWcK*Xe!=Ba0!E5#i3RyP`OUs-?dBXQSj%de*j z6fs)S2#+hBmZ{BRWalulZ%?1zjD#2yuG{8Vm#d6gK{~5%Psuu&KV*yvr_YTBh*DpK z`}(eWso8{j-CARm#=O5=-x@A~y#xpk)S&6U{KZOeDYampbU%kU&_z&r;K>7%j@Wbb zB0CNRXmB9se@;7{P*l*=Wj#KYZhdOcs5>?Z zVr-lNQ02PEKwurm{`EY$724@PU9i0h=5jAgZV=`&M6<}S7r|YnR!;DsV+>NBLEq=Y zAEVYXa;^nX)-Z@sSA@!X7LDR%;0^3ko3)JQ8o+kG{wk5#cexgPeS4c3IO(4Jd@~a6 z8tHh#0^cZm(+HEGDw069lAzGCRdtE%t6u<{3%~k`qB&B$NABb1$x3DfURyx(4WlR> zz$mLBZ4M&a)IqCg>US#D!1%^_C|9aC>4Nnmfv3r9R1%>95%hW8s2Kt)LE^iIP5;>J z5FCd4SdYHe3JYy3MW3m-9M)5rU3?eD(=PCv{jik1_%PUWMJ`O$xOXMDWCmEhHI^o7 z+s+K**i*rBsWs$2X{L^Bv-IozO2mVbE=+fymFO; zyogRPR~PlG``~+SHS55Mpu7w%QCps8&EDjQ0`E?>W=Y}cl|IR|Kl>qf#?a@ z+aH$MCpf_0C2c>4D_fw7k)0P(nr1wau@9R@8J*4{JR%?ojd4WTdYP6f#OH6Gp+AkIsDDEX| zaol=7JS64_htL*v^E=MA=nhMxjP~jsfeCZ90_)AS(w2xSLqWM|C$HB+aS#4U*RgYC z=&*k2d=CklF-#i@J!||J>otAewKn(X418b^=$zW)Ei0=ui_8YzIgoN)&q^a?7qiuR zLpJY#o46@_dq&!J#uqzG?LZz31>k1Vei!XLBM1+8U`}iL7a4OZuaV& z2RDt9aW4>yO?|0YBR4%?9SZs7*itj2O5FGWYZ!yRX?7*}J3)-S&n|(nw%474G#g{e z=;dO(018ja+%~+9FyCD46A$4#MJB7UwY}1CNi!menU+C>rLOlo=M9&oshL?;WYG3% zbf!~?_a+gs3kXf|Gr_}3t|4iYOKwU75Jx7ze6rfhY9TKadBC6k&=XVbpZH<*xuiuI zK1G@*5ubB!*2{|`Tu0`=SQlJ5Cc}7c7C~au<_~W)sMa0Ft?qCOwD9aR+%Y#C^Uzvo zyZ_@HN8Y{`*xB~cE{{Y4NB{;QcI6Sqd&Cj?5ii*{x-{5E{LJhUrLx!uykr$Y zoQ!){IO$opzof|w&2p>dDpH|Gurah3*7#s~V+D=K^NKyBIL?C7T9~{|65D{bw}I_( zZA|ntyh54m^#hbg^i{ei>0$Y2+0r&|k(zY5!T4+j-cQ`E$v1_+mRlL$A#ur5EAarG z2MtCW3^OOM`!6H7R{P`A2fe=p-J#8}pgW&os%i4!%1~yf)gUd=$vcwW3%-Xad2o#6 z7rh`clX$MIC`bKa^gIe8$@^~$^iii;ZSI-=gB z{%{?@*g&4C$q{*5T$@nR(qSJZKw=~pa9?Q_>oLg^2YVdqb%U2adv0g-b*&gmn0O@# z2ciyf>COR(V{|fD;=RqJ;AiLvL!*!9G*HFy!+lzb@5CZfJ#(3acGz>vzlce6%T<;y z=~;DCl~dU1lzFqit!m)tH`>~x)BG}?uFxv&_konR#c!NNhop^5uKr!XIHaEne$(%+ z$!A{-E=fj5FG)$(f@nX)j`LpPR&h&BV?eW7FI>aZ{?O-K_u(ZxlA7dMY>sP;@C5e& zqT+Klhr@V1vM}{(lyhXblgn@LtIvVNDelo#A=QDcG|?bfwtO>AJBiY0&B_sMJ~9Dh z@U&L(sD}vEmgEd{Ss(2tzLefQrat&y^7B0?!4nzlqT&nV>w&QOtLMUpw7BRO-s49{ zKm1JMS^(yD!OyZo!@ay^mvy%JFSE*8d9H4#B5F}cdKzz^$%)Eq8T?eR!7obol@EAAXLeT^(?><3++4s+>VM(Kmvci?Ry@BB|FoSj{37yJ19@Xv3iZ8-tr0b0DXN z_&a+XbOxV;IU6FjqMb3)Inv|15Y+g7+@00op44YeFhL`uQW}}i_+)8tAPC?6h&VGZ z@}^8IJf~7l6Y>GQ$jGWrUQ7Jx{USMse#v3$s)awY3VMmloF&%n3ntDH72* zp6dF^qp*T})dXkPkof_@MUbZyv^-p#}`FAa7Xw&Rk-oZRJOe3)CZ- zXG6BP1e?2Ftr#$G#Gt{-m6w^yY8hoD@^z6MX#t6K@Rty$`NMV!$;5bjHqQRCb$RTq zJ{AVf@X(~VXL-X0D)a}6q0>mi4rJ8J`!#DL0xQ8TT9pP7hu%)x@mY_N=&MC;QHaKT za4;?(W0Y9tWL_2FAmsLS>La7GIuW3Z#yR|QxFSw3ebY>M#ICO3-J)V&aUOh%l4Llc zMLt~ui15;=`Pg_QV(>jE=97oG>pm4BS#O5`DcH0s9`nZ{SC}P(?KMeh^!TPREUrI- z;m;#j&4bovSE8DiptgY&tD_%4CukiA)I~CWVBAc*NS-~;m^tom0~x=cgbX0}cz7)Y*Qs004wRErxBE$~8LRf<2z)O$xYW7f%!F z2xvILe+)z|A?`41KtA6)r;g^x<=Z|%`ico!TuTbw%H+!Tngt(tdP}V8)+PKYBBl*s z)DBi;%p|L358VQy_n+!_NrQDbtRyJPxgch=I`qzRWODnJTnF@H@bm7|OMH3^G|%d$ zL&npnT(8?6&~%NeZl4~A%$F@!G3_h35HFo8x3d;rRem{gWq@0q9VIeefgW z*e$2hobxnaI|UZ2d@>Bv>rvZ<4t5nW^j&?KQv0oSFNQ1nDvFA3;G+zM4iFf!l-i)- z;Zh>1lWb_h{OdomVxEOt4^L>JRJGy1)xmN>M@d|W{5gtPt;;Z_5}!-!*gf17*-JNZ zpI)W_prqJir~QXFyD`7e>b%ZKDrkL$xu!uEprEh!mB)X7(niS31SN$USLt`BTI*eu z@_4l|b7Mt`=ss}!OsRRIA2x^Wp$h>Z2tO5L2HOO6;Iv#yd>XPO9Qi$zfwzw}iOt1J z;d|wzH(j<;3uGc?PFkgc#wyy94u_T*u-Zk;i83oY2~6~fyM9N=p6aX2hDaWeET&RK zqXD|bv^!Tcsg}83>md#Gfd7QNSphZY`>Hz1T;URZ4{u%zUCyMS)C8I4Ln%UU#10Mh zy&TYB(_Ul}CNS+#wGsEs&yR|Iqz<&bKB|M&MV4sEyc0ynxe!-8`+%i?OE=Ek7iR)n zNT3FCm7G>rxktwmRVH|jU znAm$DITyKPS+h7jZIZ*UPK2Z~*7PZqC6-w~=lNGpM^{f2ma6K1scmII{t(d?J*zg# zU<-sdaDf`gK-qGkzZgP~uIQ_<{MyFF23>k-gWYa1n0S^%d1mAK)9BRf#0ld*`2vUb zO*91g(<+Vm!}qj;6oqwH`v*q+!Y&rpdc3&K3G-~b%)ms&JjsGUUknGm^EHj0><8r~ zpRD|^?{++~dkibR&VHx9HYFnobXQ6CdI;&~Lm#pNvEZG*Zh`x9$v|`4!XcgFWyZRW z+oy_n^0V2>#rkx0WvdYN6h(F^#P~gK=pB0nw5oMuNWH!wbL22+tF&O;7iPAaU8b-u zxkx_HA>#j(y9O_r{&l(=sC^gZYj$jac3o~m%Un7ZcBWk{XzET_fJUZbWDgKn6v*ET zXsWl032STt0*_3$RKkFZHp+Xdl(P|!{*5tU962oir4fd+oz$2}3gWRq(3IqSK`HZ* z=JAJooo@$XpGHSZA2ca4eUh>_`TdDKS;2FJmp&tA|IEO>>}5o)r_rm`9$)lzh!E0^ z#%t6Um|>rt`o(V{B(o0C($LgyJOjap@44N!pu$&x7chy{l1L_Ps@JpuU~uqA!l6>R zU$0z8xzzye-cWrtdu2j#)B6;P@M0%gC0|tdX8ze?#56h*BWa}6Ad~zp{ak)nE3yl8 zC`Ch*0^zIrhEDDW!d<$n{VL@qfm&3J|Lk%As>AHjVfV)^j6UoC04qS$zrJdIfyj_J zSoxe|cw4oyiF51pjs5yaUDzT37=7l3WTyzm$A?Bzz5=9GMKb_n51w`#-!??=0i5Vz zWHf-tw{rNDCwM2yc6$y2>?gmsX1!j=$9cjb1m^Z|7m1_a#J zeDpBu49xJwa!N1)cBT-i%Y^2T+d=@;DFo{*7Q)~i;@gK zbLNLo;r6b{7;0;=qoCsAAu5oR^p`Q}z1km}nOD(8oWqx|qyGLop1JWNSH<>CG3Dk= z69_Dpc3JSDx#Kcha^h=( z7g60k{LfB0Dyzej9|(_LrMT-Zk>5+DBN}O)pqo)et>M2mAhZ`}5|ygVEkp(8ubWZs zf_#aT`xTI1PKP40F;d&b~;=#B^53%&mFu}DNse}+P;^h}oOBcF<^REy7? zd|4lmS}e;84Ux#bpDU2Im&cmoz`96Fg*8GOF<}mY2v4uW!y119)CDOD)`_5@dATv~ zXLruET7LN87{3Ie)G?r&l4uPIA8d&^y?o{gK2S={BQ0fN>_fq1CJ&%JfrnxS_DI0p6L31QbB)KseLg+7fMDGu1o1ULi zJDm8pO6XSyfn>@d)%jpXEA6=-n*>dR;qAIh4+tQpCag|Q*F&n1k)HxPZ3hd8GjeP7 zG5+8~p-rX&IW#ZX$XxoiVH@uE`buELxN1tBW~yywBvnDlN)PlzY-2*PMA`H0cO7bI zF||4?)%2aS&lF?Ls=hul3j+Fi^ZX_!KN?_v^C`Z5Pkrw^3a>p(jD#5=Di5$O5~oLs z>pP3TGOGP|b+NoJuUeC^ipB?$g^Q!%z?;bHPaHM`{M6lLye70yOax4nU%Zl;0AY?M zHykT_4G$? z10KmYmA(m!D{zDj8cw0;HIr#!V-nlRd-zt|M493$x^@Fd9t-i^OoK5+oguXrkwHbZ z;!~Gca8B`kAxn?gR(V}*?{mdCgb7XGE5YKq)XL1ybqL&g4L`M^(hsldJN7 z9`fhaStXCiW6HCS_i}0!iPz~R+2ryS-|Zgmmrl;Gm2}CT*`HG^d9U6qPVCIh=y<&E z_2GCwD7KI6Dz{0~!{ShtZOs(A6{Z)Bn*N!Km2=S0pAiolIH`2m)aw>`+snH||#6M3w_)huf?gKL(eCmNXEDiSa5)^S~9;LiY*erzVh8unZ zWA+vhL@Nq#-yq)*AyE_pHyTj6@IRIZ;&-%CBm9IYb9#e+lG^$H;0ChBP&e zn7Khs`V`Ec4;p^FN2tkdLi$7kR5fY1fhS50Punw>ii&Y5ZHb=i2NIi(s_UlVW~|#n zE$YWZxlOwi6aQT3`q091%39J-}i zslcP$e(q+6LRqex3Nx<#8!{)4m`ruOsrRZPWq&;K=RpW)ZIXMgpP~RC+ZJFiktHM% z?lh<#0#EM;;~D;!2)a30Ud=PJS{zF1R6Q|>ip~41m<859rBJoGl~Q@BrPf1KeZ}hO z<2n-CC}E4T{%H-=fZC&noqYCa$NI$3*Wg@n3$`k2J70c|Sdy~WOlA57o4tzQ0pmDS zbhzuqWy_CpH3`!dlxt2^6P8Qa1c`-%N>UHHGxyCTIZTWL^ZWEzwa@&&wocQuwq-84 ze>ReSdiHed{mqT0ILiPt+r?6-LuAmjAPtc^)xNh9$T3{W4+N50@li{iFPdd(1f;Lo zus*xtBgR&?sB;Y~1&%XOwn)D!q^60t{Hq^et?)Hyewbn?y)98;mJPENxeLG?K*GlD zh=K{y<%BW5;XByX7Ul)eMgibfZMF8_V!}`{`dVa&{Ng(JTaDAB;qhetB+#vas-4@) z-{yTYx8mYohKrO_Va`5iRa6cDUAyT>JHNYwrx#GWl^K~*^u+`k;H&~RKCK7RIvO0P zEKw2-F!9(by4GI$@D5d8e?MTXpa92D`{-U$vSK1c!lVwvH{!FLtBpeB>kVXT0NTnM zL1?!@EMumz`5$FSQOm-HIHNBx&WM{9`+1Z0Q{y-N#Xgc$)CU($5o~uEaFn9e?OyLd z8sovI+FHdoiFzUL=^YU$5PCqU z#-O<^;ryZ?MX~xCLdVJx^~E8K5S*VsUMDI^i_cy@`Okq(W`fs3lu_=>Xx=CupIur~ z3-}i{7JOF^hpSI}MM_hzF7jl*KYS;%=q|kNnzh}m#ngTI2UYU8L}=F9?!+{Xp{vaY z*i(QP&tSQv+q%-1_;-#7uejOZoH=)utaxtkh!)002&JHFWaKAb8bkcHMgH=MREhEU z>g6O;vY(|^#$p%OMeXb35Su~vI?4oIlxMiq?C{eh`Uy)6bfr6~g3+-ODWF{g*#!zQ z!8uR(0AjzOE+i9QtU1$X6afzZZRdX<|uG@Di5STl0;zUF08z-frUXW z3R`kT`t)meS#mrwj&IY=CC0!s!+nue>luwD6ez#R?U<-du<8C3 z9Vsbo@2x6L^6ce6ANMXQt_|&kbTL&%*=1ug{3oWqQOaw z(ZUmmEUzQk%FUMnEcuxdd<5}-_d3`d^?4IaQX@-2n)}a6r7`T=8qTXYu~@+N0U+77 zOG--ls@t{hNYl0zT(I;9H*Fso8u?#QT9Z+_aJtJFv=^MhR?yow-IkJ-Yx~pPc>(@|z7wsIrG_{x!9bsNZCX&7A1vD9Hw{3FNxpcXu0K zC}Y@6l8Y0|)wvjV`ff$*DV2nky$0?gy)HE$oCZN@FFEtI)ibq!(w{3-$Gl1!`Qcfs;1qL4Y_1Y4)di31B>PFi z5sz>M`oY!nrIN$8#po{wzVKh~xBlpo!*x0628P9RY}hkzWx)q#!Ve|)!ONdwNT%5qiu_mEDqWnP!qIH_j~X zvV_Ar0f6ASximG4*3S*kGZyRuPhF5$qzIv17et05LZlJrkak$oF?Q~)zC!C1<=J2W zpX~xVk#fqR3gxfRxA89L`kqRVDRY^?U+XR!QIPioLQ@FpQcNm^sAnh(05PFAGY^Wj zM6X4C*$XT(b)tq?(&Bo0Mf6&KP+s7l147o2$ z&esU~uDz=EQ`hV$o56}&C=>vfpjJz8wN|50cgF1GMQ^ckNjIT`*Uk>*hRiwQ+%0e} z1=U{1FGCJ1*=AE>e#ZeDIBOQ)ry}Ce+ST-Fb@#Aq7+@Sr@zZpXZ*TXA4=g`~ir$5x zkOt7*C~+ZsD2mr8YilB(wVUfey{u;Et!msqmO0GVk9wk;89c!yus8*Qyatf z9g*}%eoiTzAOSzjD+jFUVt3cuGuPa(8YRjbMQ_BN)7&G{9 zJg-}<&iI?AJ>YM6uWHp%&pKO3YCRihR?Pn7BY<-Pj#yx9=kJ`Q9UWxeAIp2t!B!G( znorW^=hB_8YG@pTDsvR^mVM>s*tOmXo*)w>(krtXp$uqEh@A!mx&~g0>xXcnrl5*M zX-j>?iti>(EuFN_X&Vipt0}D?Q786LC8kXLC7QwtL@g$j0bYGIrOt4rYo;fgqXaUw z>qDvG)J!EfdAg)6*6dHGCC=^*U=xHhPLrTiB-FV#Oh#{aFW24%j`-&SXia60@m!=c z``DD0R7`Ap*b+hUHE-JA)xM6|EMLe_7cdIdi%)tz-tY-BsyKOTZ!USkR8l6^CWNNN zhCkoW-`Auj>83C5t~t~OGJWfTIVvY{pq0w%B_+=bS=%G6NUoWr%Ony+p0W%lMD{Hu zMEE%oKjmlH^DfpUl}BOtG|PbfSB6MmMm4=mX}!qy!c=NQ(Irg#)M&)p>Cm*UNn~vF zOpFbx<@o+r+!SVnsaRzPjvlU9zRWZu+B60}d74HyrAlKhd7zfv_=5G@ z21eKS79?W7PUcpLJQmj!G5VA%^jn(f1`(|S=%c`uzp^ovDrqR>^jRv0llyj4hqfH@ z((K#N#WRhJbrFvxGkrh&G9{;P;oegx=zcW3e#34%&{Y1LAUBf(ra|h!jC-cxQq6fm zHrRMAE+|O?Z7)UgRG`mcS*FdwR~NvS${{P%p>RbgJf!X+@5oB#gIbtZ1%Pt#%54aWE<&v2SmA*glG=#jlK7vNf z(+Z9TUQj4&7Evl)tzl5}<3-Nvzx<&Wp!B(4-9WbPa?&f+Wq7_`Ls)eQwW0>)e2S+$ z*RgGqH@(|lXctOINA1+z59^1ZpeP`3&3yC~=-~HK;84La^ZP>ziE?_Z~PoZH%O!8*Z6o z^!7xEz;4K`SByz=5_`lgo-ey@lut>`F)Z~vp84r8yh|lV5d=DV_N@bbq!V|6;l0U; z%+-e%gn>uxVvp7w?rZxkkco-ZO3`w_D~91^XzZi10=11rnm0?kGD`4)`3MjLdn}Z> z>p2CN9R7Rp&5^`JK7;7jZUH28U*hexqTWj&S(X%Qgekp+n@&p`InGWo$$m_0MQ)d_ zg`+Ea3KT%ESJMmog0AtKGxW~Dhg@bS%&Cgolc>h#O}Iz#haqBYZ^xWKFewB%o-&Zu zvS7_Fi=l>^_$XrVsMiHa4XD?mtG#zc>S|sG;av#;A}K3NZ#E*0EX!9i6sE_rI;zko zFG(yMc~`A=CL-|G_cc0iT9HC%*HKqoKBRZKiOhFUzd$9|v$z?Ef@ze4Ept++D2eg! zH3|TDTB7Jbk4L@VkrJg6^9r6o@MGx`wL;|mV|CU!xP}}`kfn@=x5EvGdFjqKI)N$a zd=4~M=Nh^Jjf|6t&(4C4TIZE7vy)XVruf#Mvk|DPoNP{X63 zdXOk;bPPJAdAZ*B=X+})sF!bo@uxR|eAg98UJ0a_3p8qq$hR`3S_ZlUkf1=Qu_6@r zGzhdX^#@3r(6eST7uRo~1*;o)@d2!P;}|$49&S9w6NWAk89CtP04HQ5HGn}}uv-+g z@Of?!a)AN;hE|yqDlUPPtzS)iTHoGiiCX*SRpnpn2a);K+?;|H;x-Wi>a4Pk++O>h z?r3;$+VUpH{ad~TLc94W$XoGy*V;1{=uWD_w_-p@y!d;uy2vH zb!;_bRcdC4+o)t5|kM!f`V_p06n55>b@jExZtB${9JQ2BJMd@O_*b#UMW z!qa>0WIb1k`SANCK=-KyJCpmesuEU%L?-Iv?-D2mPM;x>KjeTZEWF<`BVOh&$-IXm z6af@PN}8JN3M48rI6KjA&Db>T-xNQSGe^qai(XLq_P*a;qll7(;*I+$S9|LFq`!3A z=Qu(vn$+NRd{0tRc?pXQNuW>zz>zO8TdqAN(G~oqK^&#LO`RbY8|7P$wGZI4@L?DN z-}|L&bP=;7brTJwGoW97QKq_b370!agysXhB7Qb051>I@pDJVnNzjUvce$ARvrT|G z`0l;an0g`c?t<8u<`~b<*maLEz*T&|lmT(%ZjG(AaOxcS9wQVxEYWBZTiRl0L~@=8 zo_9RZk5()dyaq+Sn=8{>%~cqrR+Ri3R{oftL7bDB1kZo6@f&)v`IioW7eGQRvBX8X zr+ru6R!0?jgo?WnHdvBVki9L$MYtH-2T02HA`9ZlDz9)c51b`SqO_f3BCu3RZW+_W zbG}4_T5YJD7B>g#LG{*}s!6FYi`6EMT2u5S;tGv8IcljEoOBAqjF2STVSBklQ-jIHAw zIlLTg2=64KOfXsUbNpx%Mss3#A`uSAltuaWF=(0^45j+i~?>V&oYzS7f zyK{Fv@vy8F?EqQMdQU8L9Kqp)X~pTjR7Ch+Uc&j-O)%;b`D12EF5*ba! z!4|#etX(e`fsAmXM=bmv=ehFknNjao#O2WW0JkE_GoVB3UBDRdv5R4Uga&Sk6nfn% zVw<&>r2?_@unOy54)BMnSix_eZAv3xH)R_G!<7k#a(67A^DUH6URkjYZ~@pK_5sQn zNjrXy62#)apzmc8aKja_Cu!iiV%kinFuB)rj%QVDHW>01h;-ViFqH{(hae*agIAVV z#pw0}Og|4AMVI?xUtX4p0#`!@zauHKG_0kDBxBw|>|J_(NElzs!FocaE-P=50&vWq zyV6v0S^2)5`rtQUZqE;WGiK%K55QcwO2nQnW9 zA=W?F)N?jsqa_&4X9<|dmD4VN7_DWAi0lh1HGf}D96)gX#-*&`I($QFMk)c;8alN0 zMYRptPA8DY$j1A3z2OVtQD&%al1{f?AQtu#{j|vWcmDV|3uk#DUXgxRaAjbl>OFE5 zt2O>h88Ay|ToQSJ)^@w@|TU2ul$z=)6ez1v}5L7%x21TWWVO#c;m(BXwd9IHN zcdF!2rB|Z1_oWh<3zap4s zwny3X#^X^}ZATg*3aX|?Y&$E)=?<5tpuw->j}^3T4xqIPnAb993MWAEZm^a^;1y}& zQAu`TJ{FzXXD3xRCOR4OQWDoj+aIgoOPhuHE@gU#tYWaeS*VijO}|(;yt-OtY3nh} zxM+mA*Hhnd;i~4tE#CJCI-%9M=k13cB*ZZ*dI%9Dq*#enW7*aBvXc$~NY@4i+=AKa zq?%2Ra1>Ibq_!3tfT2r{J8+1y#xaMkKSzbp@YULU$mt%IM5>BW@g@tK2blK4v}m~A zy6v;$kNWu#Z3x}I&k7I^?fc+sDM;AGg*08nO)61ltT`aYlPI1k zr1B5(F^yrCy3^<@Mdg@1Zes?j-ir2sgnv>4^hiH@V$SZ& z#`7Z)2Pn>_!r{Z?8DDKeC{sGbsD&YaB;k+u?pAWXoo$Eny9M1U7qU94&Tgga1^82F z4b9LLVy7=k?e%OG_Ym4oeeb%D5A zO6ud~Jk8OiQ==)FGi|r6TgvMxCM>+i#`=+jS|?SB`YM_kGQyrrX76pA7sjGe znJbM*kpB7kuxVgMI9uqPWA@w3J}F7#S;9W(1{CI|-&t98$z#KWM-;k0kabP7F(So3 zX?OLp9__kdC4sVMdr8h?O2yJf;SJn{sT}XjYwnb*Z1gj_OP>$Rn4<1R9Zx3Q{$htZ z)X0@!Qfo9rImM3=joQ$p=Xr>_-965o-PjEa-Ej{9!@NyejdV^xS`I`Ddh;v!+IC7cc`qF55=*djk2p_}EOQ z8+Jl zb8Ez>HmB#33+im#nVs99l)hGr-wz!HvV`^;y1Uu1tDZB@@&&{V#w?=z3_efJT_d65 z2hALyQ36w0UIoUFpvii&wS{A$Hxnx1hI0;(o&y2fY#K6;^?fXcc`B1`3Du7)w!{Os zG~}ar?YK=Fu=yCGHm+#^=CU5pu5vtPe!PuuOO(SWszwF!$O7X!zSk#BV5ZKQ!Ki79 z(ka~G&(5cw{uwRT=K8qc0_Ov7w&qw78QTgP5#dp3Y5$}S5uk}mg zC1hXlt*F>jZ{Ewgf~QJr!(y|3uS&{!3>$06mK9s@gg!Tkivl352e6ZsuNGZNPkl!L zAgV!RLReV4E&j3ufm}SOB~Q@SQ_NIpgInKqX()79Hc*FGK(5sIM-V75tT-lq{9dRP zqsS$<3!~8ighzvWcI`+Y6T$)yiOtqM`jOBV7Q*ka#+1d)jw+8;E#{p zSTMZ@`6DyZAHlW9J9Ee^d#>Iu459r|QC2C!Jtz8$qtiE=SWGF4o{Rohy9xkv{ zYZ~_|Dg6E;2^D%nRC%Q*QT|0LCJjooC?BYB^$Rx37YlKp=fX@zMD!xX15J6i8M$>fQ2dqU`{Y(SDyXSGwSj=gAps^m z4@i?WM!eRf%gDgXfo4uG=QMh`)}Q2#@JzVTUMd?gFdqg-esX42A@u2{lN0u`81Wo5 zq;jS1MnO>^!XWV8R7$N1ioa)ewA-pq2^> ziggm1Ezuh6;k|3aJZPSaqwiwgMm4uDU)hK`*6e0$rt~gyiPOy_+$d`jlS)DRTga;? zO8%%hlV2x#zQYp1fUb9!`N~-S=!kN%h>Ao5fMXqJUz~xO!F8sfomSCi?@xg2-?0Y6Dr_7{^RLeA zbTP7cOOxbU-b4M{r3>Q-N#d|(`{zPZX9XhY7~fs!iwPJK*5Kox6^kIB8KKB2R`2!L z_X_BR0;k9&uI8W)3nZMY{*F(Q=I(cif`$7mrueoUl;SZv@m!YgbhD$S+rU1Rik$$1 z4+79%d^gLn@7-h^NB(ZrlSyMwvM4B#Y8p(p)-#WAZjLYvn=VQkm-uzP4+Cr*IyyJ* zKpaPT4wGMVzjku)F1&!S%bS+bCcaR`06jWRf{2E(Z6StQkHmY-nmk*G<==(H(VAm{ z@nsFE>^iX)W3S1^kOFD)Jjn1rQAd|`9ne7amTv4zWf5s?KXmc9<0S~#nc|MYKj-g^ zJ~ZJ@Yf-1Jha1t^oz@8bLO9Md&zIV>nh@$JPO+C*SG_VM zvC68BrmGIkJ)er1HbqQSi)P$c$5b#iY1|7Eq5$Wzxq^i(+TP~%-6w?^2V3!>>sdgd z>3eCe-C1u1m03Y>Psfwlor}O$YOz&(EiOTkS~ZaY{y3y?M+^KGmj}aFP(Ym%%M>A` z6BkS}uZ}SZ>MKkvr&T?)eNwtotr0P&p6qZ*_R07b;}9vYWO(X2AqnF>qCPEnR~pri z>jUbu&1ByW`j;B-11O`#9!6B4~I6qL$%ZJ9wb$7g}fVX7dHw}>}@6CLzp@DEW z2gI`{XHUn`NJnEs_n}Yt?Po!B9Vk&FJ#KeojxM9zzP0RYlMjsw95OGkW+?M14Q)kR zbq$0ZcR?f7x*5nlR}9OEHS6oi&?OnDRt{1_aaX>|n6PYk1mPJI8(>_5&7HjqTE`x8 z_23--<0n03!xsUDc}r}!NP9~bWaRs2qPyUcd*%ebZQ{zphQIu24KdekKKh3@G|pQV zn9efqi4A^y`D{*~bY{5E%6psY_&iQ>0-VFm#2S}0mNoecV$bY4;X+QhW(V0%m~yu5 z$}DT>S3Mx1FL{1Q+bzF_F{*#UULKXN*}X0;rt*|icSitj@r zGB~KntR&uTE{TLG>t{j$nA^6A4B?}lY7-i#qfG$myW3tAht~%NExna1BJ24UNM4$* zBHs)LmHY=sd>|7rwra-T4C^XL_&oF{N7{@nGB0tswI`Cb`|^Pu{jPGUgYwZP)g&^W zsL?+uPd{KrALYGO(S1ahCnYSGp1(p@qt`~dM!5b(&l>2SgK4ELQd@+Sod^j0CFaJy^? zoF_-wh^k2X%sda7WbV+B%yr42VSwTs8*-V ze0v^eq}3I0THcj_l=<7uc|m3P@_D#>JTB0%yM&29bgf`%vnxCc%kN=uy=U}ruq#?_ z(c|=I8Uc}Xv07zpzpB3CKn*Y0w0PTU=v~KaGkB5*GYk{vsRDI2o)mW$N>@8kb!=+N@h1;jKD$|_S#bzlzl+!DdLS~dtH{EbBuB? z5(n6YD^K{0x$hSC8Oj<~-8n(?^dTXu{ENcBZ^lHVxe@o7mmyzuGFF7trs9W86<`8J zC_!2%8^nnSQ%BYcVvnybDMP=n7RRZo~Yj%HUGF!U>MZnm;*dY-Ua%Lk*E;mxN{GzUQ7zstX~64ATaHl zEYe4#m8?eUaEFt&S_kO5{tA9dD z^C3N(gaSd?@22Dp9t9R!dG@VaKN7P@#C<)Fu|SMdT=D9=R*2BzV4^54oS5tkZW&9N zJ=JK#Y&?eV=U<%EU}8zf#l z92w1Va?-kG{p(zJ6T}<2s}9w{-e+1ap(gHdo!s92Ng1jj9!Zr_{$PwISuhL5myi?U zTD;6#VODSNj}=n@TAOV~u2n0E{q8?YLX29VGJ^Njn*uLul(qT7-VfvVq6O!Or_7VL zyms)=lss6G*3z!K&mo!saCMe-)$Yr~_*EP)>-mlqj{?)gWy-IR($!%TC{mC>TqP^W zaPd4QN{fPXL-0aY`PJcg=VQAj1YEmRzmgj{emX&bn&Z&uR-f2%5rNG9lm#QQc0gz@J~;3F)S7mU!Q(8?65|i3R)5n6Frh% z0KHTg(Bv`L!AaF{0u*I#BG9bFsL@$V$&kl^)N1OH{V!bbi`eKnx{J&WJUP`yJ(5Ow z1I|OQz=PmVr%&J>0_`g5Vheq+7A(Y_rLFZ{JoEne6dz6HXCx9NFN8#+StH|vc8)k> zHYDjGZp5v6x#Nun{d9~S0H?iNjzaP6n-rxx7w_4r0tv}NCEb@v9eGdwnzazcaxIiMJ)`_PPC`QIWQv8@h;k83aOkttvqpl1kraC`C3_S_ zY(e56EfhX&o-|u8968t;I^n)@5cpZvs%AOIB`)DJrmm~wAji?05mu;iMV z(oGb38Ji0VFP%H<>G8s=L_e4H21(CwoEd3>hH=^qZ&t<#wRKBjrB&%@&M<;vm_76B z7!!>0YroArT z*0L~J;1Ndo(!E^f3mk&ds|8vJAUXX}>-n$Kz$I{y=H$DDIkudsMN!n}Xq=9Bu|pew z`*?0ENe9dJ@4v97-|t(^j!;a$5`_hg99G&H=i`Zx626GU!i+0%Ae9eeIIoYeWG;Cap(q z!5llT+_{oI76AAMnC4x7FoXKBu=ramLeuf9KFn)>6V2173w5-HaQ3@l=z!R+8OSmT zpuukp5{w$ixwKVLOVTri_DUdGIqXan?bB_g@M(sVZ2X)QOV@Xop??w&M_I{usiryuQvO@UDZW~Vmf(YXYAt!fY06rED8>+zMgEn#ST znrEP^tRF#Uwz#4L9gR1&c^Q1FHkEc)I6N7Q6O2J2Q96_5#mA+=awd!9 zzCBJ$&1}PqnLQ||l7nEhO$FTZ${J`-0(iJv8GuGSwYsi$H8`^E3b$TCiybE)l>!2Q z!;>%Vj4ICV3)+;GPN4|)@Uq2d>^T%7E88+I-!72*N09o30w~*k7>Lbnky5Wu!*R+K zPn|Ghic63Y+sIr;YIpOYyW?m+_>^lT(=pEKN240>AeGkGA#a?*JN5A&n1+Lu$((3{eVl0=RDZGTer8 zLLbsHwm4zN!Bw?aLv>d%?1fsGMc3n`V>890oAY4y$8?`=&F8pGLCy4GBRZWp&0#s_8VD%<$5legAR_X@2kvkwewlfk;z zY%8M@Vm}O>Z)O&S>u+i-asi-0h^STK!PG+i$}Ljn*U)-9TIQT)aGY`>D%DruEtKu$ z;=HLAatr(tkX6&Cx7QKyvN}m7+a5_Vm4pGsNYvPR{u74L7u0h!#D!(W9#+*2eN@Cj z^V1sRR<17|da^E|bb}Xi(^|(SR3XH+RB>S;5$Lo9T2mb56BLV5YbKoEP(;%}12=Fc zP$$PKtTA3#_GAfpq{vkZ*XeG^8oj*3UT%Q?WTDe-M%FM@ip^nKYT%Uwy# zqs`7D@2xHO;W}YdGP+l2Fb15(5lUGO?Zg-p_E2(GHOs;TjCD8$w{eHkk&%T`O5`}n z^ogVkT=cP7hfM{xEB?zSzZDQ1RZT-~Rw82IZq-QAZzJ8inZj@^D6x)j^M ziFY_976CV<7i!P>`PN>e%;H0V-yOq?YvobIJfr z92U_t=~m6_qh9f~0`|Vdp%NKc1GPZ}FqG@+Z9wydM}5CKQ6$mEnNZY$B~fy<28UWx z^g#O{xxqugIXmb&w-#t9zv;OWMVY_cJf57mR#ljt1N^os>Hdz_$X(npO?FrdL}rNi zn&pL@37uxOwv#by4aK>?HLEeR#I;<$6F=C{TLUO)qr*r3(sZc^O!QUQ&`7W?p}O!G zTxW*!tl=OzEnKh?G=o$la{ zuGM>D&6mt9B<&kIqCr-Nkjxp5bQ0m22b-cG)}3sr01z8t3+L(sTAm0T$g9~KLU>-! zG~7`Ka;B8wv3J^zMU~?N?5YvhX3K`mFVf$4=UKY2AB)p1p$B_lFMwTTM1QYwl=N;? zpg(8lqnCinHD4Y=-N57CIG%1hsK!6s*AsR%Yw``hrO|zqRMX{ewb*TXM^zZH7@}yR z#`U7b%G@0G!;@0}CKn`5nT|&xZD7|e?4mP0xYhmLE~QO3wv|rv zJ+HXVV2;b_c93k&N+uKuVh^p6>Gb05AVx=)q?g1P!INVOj~8$E08~=8J~6`_2QIG{ z%s|CYO|$T^_1SsykBbUXcpuD!UzOu93(ymM+heFKEJ1Du(ygr7@K_a$4(~fnIGzk# z@V$SntDg#Zdy#9)leUUXgS1XVI8--6;(P()+_cM0!Od7pDyymNK(U7~7yI1zW*_{q z<6AXpl#7I%$}T%02@t2nwU;;&Zp|Wi7$WgkS47sf+PC3geLAGV*NJaGw599zpq)gM zww1kE{Syyp-!k~4ov}&762_3Rqahhbz{>`>MBaNlQv~X-&)7m{AH1i#G-;rqdezk@ z389Z1OVH7O%E+~f3F-n6> zFALz$)!f?D1t0vcayHl`M3V$R7r9U!Ioqxk}nl&X<9*QUeFOr5k#k3C7wH%Pt#U`Mvkg!4`A(z|pZ4$V)^80QFPoa}Zi; zh$BDsddGL8b2naw%+@D!7*YpUFoSQINM0-(kRLQ@YRe*$u2j#oh;G0MBV^0E^ z?KDA45x9WAj!;eRm8N@%FDuF&^A$!tqvv-iOF9}8a&%RhL|<0N1_b8BV0?a}ojyGK zaf$SJ4!BeLeE2huCf>-29!IGreT#t%f}RN#*z@FUSL=GjXo^-M{xjsVjPoPfPxTLn z;jaBhcen%vNHyMH4NTviV#LBXihH^#8Cy-p5$_Djo)na2*7&2?+C4$_IV)+Bxw~Z~ z7M@Nmtu6`&;yE#v9SNhl7MFvvi=zQ_{0*^v&Y6no=uQ2~p*T_KN6oaa2N^!>^~l9@ zbyENzR+KO;cw>3KcPzC^$sFQNHdCbLK~eNeyjMfb@+ivOfnP2Cum?X4&7tihPk0sa zNahTMi66=WtkLO%W2kw}93Kv8A>+Uk_})*dOnJwgzWsd@g3vV^I?rk+pkEk13)G{@ zjM$RVRGak;Q=K+VvJxp?MPLduE6UawpMsm|r|{vE1@PA1d-uq+lJ3|XGkls}n>)Q-uDh8ogmi+a{OSUurxPuY7IK2#U5L#$)sW6wBAz-s#vci7 zi|5jcK|`%!HyHC@$!50?|SfR31OX}GS@9k=|{cCd21^rb@Y!UisWa6I0An992KGZTSLR$eMqxUh-1u3 z%roL+8;{oRxf$FBiimF&^=>sT{# z<*L%3`!@hpSvmpe9E`W}4ECF0fn#opHS}UTC;*43rjd{6t;h(7L_*(@6u5!x#|>3s zNrm)G9@ZZLVeD%ven@WoZjL2-SA$oo^|P053q$zZi{Z;a&y& zbZ7#Sv{9QknPahcfg5S@vc!fsrSF|WM`-mukI4SJbn|WbGRkLVn=5+0+BvztqSk&X zTEyfyK1IafMA!}yNYQ_({->Y^(-Yc48x*5@YH>O&vfWykr-4}3HaOxLL=q;OUZ&yf zbq{-e>~sgFpz&IQ6j1OKbupTr2W*LKG+MU_nSn;iX9l3|A|c9nuG4>SmOWSP9L zN)I}ChWvud(5z(w)?=^!&uO?%5**v&1u!*F$T(OY|~qnr$FoI=$m z-~zhOKROH}GBIDZQ+B6~&`>ZB;T`D{j40}fq=}uR*H&A!BQ9Bex6SDfT{Fcb0FpH_nFoPq%~V8b|0&?q-}YJ1Tw_TR|U_G z;57VKf9Vn4;ChXa&ll}L*$Rmoox2X4ChtpjmdX$8VdlasI2sS|2`io*55}2GbTM=x zl>6?Xbev-96!qYiOP*rYpI9C$Ub)<;N*{pVQTc=^TNVc1v|DD`u=4TvSz4 zO}0H@4wUAbMOGnP^`a^}c~x&sDCp>v^{r9Y*l1`rW~H_+)NpTd_Su=3O4`O3t2-hp zDfJ`@f#2oz;mC@;4wcoq=rnf0xelkRY_qeT`^o!AZs|FY^sU=pm3^%u7&{xN&gdWI zf*O~QLS6YaQNF~3^q1(V(j-U-t4ciz!>nf{UqE}}r%EhO1sbn_%_Ao>Co+S?fraZL zgHsLOfaO3QPK49aoiDyQE0FC60f4&vc+!@J&+%J<;sF#=w!#Zig~nyUb;cv4$=>T8 zsVo&PaauU;Fr-`AJogf3>;VKkr=B6gsuRtb??3(*%)QB>7YT^**D2pvS4xA=e~p*2 zjU~k9^mn2T4+8?OKTZ02z#nlWY@gc1;CbY)Fcpyz{%6sVgq5q89Z|G8RognD?*2$R z>|V_sP2bDVU}L&f)yIJ)?o0e>`OLG;`Hzzsl|UD%%yS}|47Q-|u{}Z-YfsWS7s1@lPoXFoU2BHyPvR0Y*BK|t zU=?Vz9`%0BWw&BZ!`sC<9r#;xTBFuUxar)rgAsh>w(+iM)W6d`m)^1(L!x!V%^4%& zXCNQ2%3h2g0J)mWX%IjD8}ZPeKd;J^Ele*D6G^bJM~i{K6Nqw?I1a1K5M z7_j<>Xf0^S;-2L81$LO&+O*WZ&V&Oziy~%j&W_D9wiRumXHVQSMXak3cru-f3ADG@ z)?WsHPbDUiG<8iTw{|hLe0-=q+}nZoEWR4zu-}`V7B|yHfIno zI~N|RvVG!71n~$qYZ^0v2UfS`4+s2sU3^=-rWXxW{KT_dEc?pz0Ww4fLRba(qgD5;FH$PDwi zd_7)mgj3PcjRV9*cl#pxk){Y{frm=6QqtPPFjZIl#Bdco$q?Az#iS#hGDF3m7ybcJ z!$>daPNa{72xUkK!BSl&WqaY83Y6@qGe=GCLPbBS2td?d!XJ1g>k|^Kwk0kKz%7U@ zir4q~0~qBT1-TyRVZ6dJDVj^6gI7m~nSa_{KZG0^yb157gXy2X2s2ZWahm`I zOMCMbN<*o+!V0o1Ux8LRKo3@Pjim=lwzrl~8^7ixWVBhbhUsT^$-Qe9Qe?Pm zUaw8sFS6c@EjvyZjeer>_wB!bYL;9lpm~Xos>*w66^GPM=rfL-yO0tW`tGDw^lx=( z)m+N3h3-Y2b(0l0S>h@#MALwKcGE6UGl95?&DdZ|hRuU7Qw`ibA=QE;+uu%eHI?L< z*ZHL@;pJL#F3UlMUDJpiir*G;qz~)wEHNCpS)4svR34wViIJ6({A@%UIdHvQ+q4Pw zZW^hmQ&($Bf%d)SX?p?_m>b~+?TqVB+ru=l`s7i_z{7+I+b;ST#3#n;689cfz#+kf z_;Sd|)QHEt4fqwGQJHTzm-J~w@vdaVPcp$xPV0s@@Ki`tSp%eMy)*XkiQ*N2pzq$g-Y2P`8I;r9sMCGK)l@hu=Rl((V?80;pH0 z9$r=)=i@Ujb7$UaCS|0t0cfhoF|aR)z08+`@1#nX8e-}E6D2pKW}QbYKYCB8#^G}> zgV{b#S@b9gu^WC#s77lKajhw=>!$oi*7Zr>nz;QA?zPwK^ejh&8 z{s_i*wdhp=NPp78)f>1QY&b&mu4uqE4|&YL@LTck3nSz>TXvMAy)mw;%mBpS7%X26 z!*s~8$#ZvgNcH@>A{yfcp~7(ZU8> z{5MUh3mf1Pu0;IXDx|kwK;+2s&foOBeo)j;4ANG(#|yytC~L3f!g(8{R_lL>+__2W zG?XS(MwAmfX{>>wdq&I(-M`yagPqhXECc=;B!B}VQ<&=v6tdgMWHwlO4zGHW3Y_c_ zcYRUdv5~)cGDa<#6v59R@PRbB#ZA$`rbN*V3~P`@G4RY|YEwRDV2+9b;c%*ZFV(3C zpYw*_Z)=oV?`6a(by)g?CW_O-VEpXlp1XtTmMnOm>fc)r;xW9~&c3)&-3IL%FRWSo z2~QmrBlvI{>`Fyh8Vdbupg*#Bo2~9%sQoLc@8&^K{8K-JC|-Tm3UV+kZBY-&<4N_y zdaIW1Z4DHUiA#|&I^7;{gwK0z{j~on`f*Cc#n9ke>C9&zqtTeU6;&>?V?6+a)qv^8yP^R+htspz`B?hoF4w zd@hb<^zZ6dhot~Mg8Z$(q>AHRnm>t_4mka?c3CwrzU)$-%9g5)RX*{9E9ql4{+zln zLO%@nKlJaaol{YynK7EJG7x=Tei5^o zjG0XY4^6;UBp{`xXDZWXCJwSSDGLyLvu}nPAZim1FL7*VGa{j{ z4v3l4z}OVoHtnW-9&r5$K-s+gzZ;R+Ax>r%&(BU)m;~JkESi6%Sj?e#>!LLX-C}*V zhOu?H#M?xx(@_b}q(Z2PSK%so>s0WYp+9g< z0Da<9e#O*TaTGSI)SwvBF~pDI1dpbQ{+5@YwkeY zqFqUEdyL7k`s{Cr9Lp>^<9tKLwS}iED}l#chHKVIT`+}b=^RQV`%^+mKWB6fV&GVw z@p!7$^?}0iIGm}jJ!L$$D&vcV4;x`#=3;|jGlhnarrOdy*^g-!^76Bu5A^CvRxVx_!~$EognQ;@bA6=AFm8tdi5NT$?!U^x;AAy!#$&mB5xNOt+v8!43_lo1#%tO-o9AXCFf>>V$n#77^K_Dq(egF8kGD%c>qgxTpY|Q}`9e z;Vt-8$G1@q$u*GU(#aUZ?;mi4!%g#r+sXODv~wqY_5t0~j|TpFB^C zACQ~VO_$ZoDtYb9RN9leJ=m=xzoyTOiq#rpa*p?3MElCOiz7Tp48|)m zkJ&t+^m?fhmrzfv_k2U5rHvl(LNTIX8bLu!qamA}%!am0b7UFE!_RDKWBFtpRQ8ok z?ShioY!zeD_(CvtbmA;Zux0d~KXC*?RXj_Cj||>|pDY(HBvL~%s+$rP=c{LK>^-o2 zI3+S?-JQ^gbYK_;iuj8T0D$Dtd3rA^IO+C|(d3W218CUdLT;!2Yf~Jrxs#4-4FRQO z{N~*Y%mkI_Jt>)Bj!DChGlC39Ne^lAEJ(+P#EJCt!;4F?+S=-HIdr5QK8I1(y^bsn z4VIU?c!ZlEEzk1gDT4;1-*2_BJkj*F3_0kTQMSIdqNe#Q@oDQJ-Eit_qq z7vT~Mo6W7avZ}FRer=R{FK==02WT!zzo3GeCA@TLLz%Yj?dz?qucxgz84>{wewVS( zYmK18+uTCd5(4bSa!5TVkjU8zrJ$8}&jI!Go2o6nOOUz+IvAjKJhSAhp8=^o3yfb$ zOhodRJ<7M8%>3<9Sjv04Fyl;YbM|#k61t3ck3sZwGYUo_2_wZ zgdwm{#MI5e;5P87nHNE%Padh!GBv?4Ipi(VYzr~?q&mttu9A{T9l`B?k5}2gOMJw` z8A2)!8-Ti$i%uBq40~^+*u{Qat+`aCD_YB1ZHOAB!)acVK#?OXQrhtx9AN;y1sNZC z&K^>FNAr4V&X&?+Zc=1$SeG{+?}+3~xYJc>!sPx^urVn;zE13TF8T#S?L3z0s4<_y zSdHg7TH%bK%4*oL66^_<5g^T5TEuGnF}4! zFn271tkCOm_fwv6l)fZLvr-W6X4Q%btJJ@jZ@;mTthBk%hXfW09KH|SY)?lDPzIZq z0oCD$-}+nXo3fqI2QDYM-3I!_q-&M!0%V7CeJufbab@vwl?+bklP@dNS!c+8X<|A7KL?i% z^wJAogs;b3y_ZtD(eCKJTxByTq8jPdqshXW3Sjsrd80U3Y%wJV(Ae2OoELj4_kNjy zQBJ;#3zaB+_NY6Ght{l)z)tAkzD(r5`7$}^?d)OMyx%;!&PZVzL2!Oi#zR@o2Jrny zv|aDWKvl6TM?s=PKw}9%Ww*6J+*PKQaTaMAqDmPU)=7rNQ#zQt?3$Rny=}e}&iii{8 zPM{9x^Iny){x-uw2LqAX7nH20Tak zpP2W1u!k*JJl5_jGNfqSxGh08U)9QiVVw-iYO&Pg>UQ)C=?3rvv^>Uz*j4#OK*^HQlJ_D;hK z3h-x5wJ+JHxObS_I1Au^a0RR`RI=VRq0j*Qs>`bvC=8?`Omp{;=tQ|3MFiRGju`PG zt$q3=r_h6gb3-?DodV=|+N|0#H`;CP&@0gray_gAOYloVH8+*BEXBML)rls5*MRX? zc<=|DqUNMN$WU+k+;b*crbfY~af!l!*#e;<84mP3j8xn&>%ysEYzNJK}dMl z5N)a)8`w(DfiBCb@8udC?u4XcBSJvC__` zy^I5%x*kOiR$9i2E^IO0u>E2T7{~=m>px$pp2WSY%&2t`)@{bb1Q96lQ$RcqRTPs7?fV0A?5H9OFJ=9^B`Okgbj0){U?MSg`Ne5tf;dEyy@qtjz6z4=4a za`|ik&6cJ(rt~N6Dn3OrW=jWFc`?D!cv z2xcMb_b&gI9{aA%YWx9_}*Y)PGFgNXR_gA$(5=ZIp{nm;`m{_||#>N&RE- z=DvCtYb;a;X!Mb|+jt1Mp3}EUdz00aRoiX}V3cPz-9Tbg&LqN8NQi=6B?bN2`{^LE z(v-G_kJ7DXoil2IDE5|y2#isO*K3Jvcig@%_xd|vHYku{eIiTyu%R&x(Ice?#7b~4 zKvoK-KU}}dG_<0IZt<2wsA%a3z^yv(w_niBbz1tML8Uxdpny@E9=7ON6 z2tZJAdPz~F46|vFwvxN3$g{Z={ROk#SI;iG9ysEcWhi5V1vnQ{Ix=r)CwnQ>K0X0ipG{ROV$|6!erJQp&dkeF5I~3RtzIUdjvE?J~YRQ4@X{kjw zP${;_8=A~HS7z5bKZh>VHfO3ZVVmfs)wka8_zTsflAcABODM3|6D6mHcazowkhdJ- zxyyaKF8jG2Kl`r{#ZO_n^EFU99r z!MtL&B^p$LaveU{qBSF*EoM|PCyavi{E_q(++EMGy+Dx|AK(SJx-y_W$a5qvRu~;P zcq+wfI=Lp5DIoyY^Ex5C#}c&W8FjhLSA@wNA&o!&&DAemL&@=p#EQeGkW&bAGBl#-=xYE;oXP7J+zD$ACK{Owa!>`Zy- ziAyL5_m{+hpp-!E)5G-S@DS9W-3H`Dc3P04!LwPK@3!28erKhMftOXnujexwTKpa$s*8oZ=9)Mm(1NsKmWBum4U zZ*=T65gR5fJ++VEwpz+=`(>_=#MxRRhiFQ?vrA{ z2*Zrh!n_d->KV%x1Alepca|WLWWst6j#i?MXeQ;l3a5o;K%963hIOzQnyECNa{H2G zZ;ao7wO392GJ|AvPVs71uJB(;&e}_Sd`Xg6H{7EH#3yw+T@3=VCJVQTB?QmvjjPVu z$oLVlu_>YUCH$i8Kq?3_>9una7iI3_cIVtHp{G+L8rB@p52dC*V>|tcgq4Q1*(`|E zkva0Nq}j|6Kt#h}szSnPQ`~P>W>0HfcsrG5g+L6LZ|vlX7=n-%HuY@@5>8}T<7=wO zAaXGx-=IjnDX8D-zwYYh+!#P}8?w1S*^Dz0Nna4B44oZo)~P4&Km!FMC@)|^1D_xH z+i761!B%JdT))0DqH+^18BAy>t)O#22@?`m38JtbtMbm5=`i=~gFv-hp{f&6wqA)? zH`hZdOCNA~(A!`N<3X=`f`x0?$7rL0xM_dN=+&ea9e7_=KYn;#n4B7b}m+P#k04Y zv!Z+g%E8ILhP#(e`@wB*toH*eQSGbDE(VJab{!!0RcyXdIIoGvG0S=hJ6YPzO|@)C zM`0D%1cn1V?pYRNI57Y_t0&I=3KQaQv(VXuX`pj-4#uEod-gUwKW_tb`8?pA)yzIv zp7?^~l?w!PTtVx^%qVMq0YcSXhpmh}LIO8=7YGM-H8U~y!85ssuuq&6;rllo8jcJ0 zD(VG#eBW7Yhc2m`#iTds?hwigU(cyS1Au7|A!(jnB)ReT$c@s8_QoTU^Au_%kS14- zd;w7pznue0KSO=1eW5S8SzW|vpYT~H1YiDf0yry2!$0Ewh{3|+HzDnv9(;Z^I;if< zw6NbLFl|)b@k#qhu*ZK;5FgDsOYcAZsJRc%bs(uIVc0THBGcP8BI2gMT(ujB(Q>8W zK&HBYKE1kxVnJ>=WM;)Yr`gjxl?Cx^5_7e+yqx%Ib+T!LI-HeN4+t&aFLGnD$IUXf z+e+vvErfeKgSdb`XugE$t4+vBuDsdHbV2<%I%1#VqMhf#`LR!VUA1%SFupfT#gE|j_~li)nEqH9mUgDny2X{2aiJ6)$j$@^w=22(|t4$!TXY7U0p}c_9n9zPXh~9dO+RBfoH-F7W1=KUYfx zyl_5fn@?{9=!G`;p>2IZn(2$??{J(R4?ydP#I)uFKlJdx6#36Vl0b&HqoS;d>e|$a z16+oP(ZKoRRQ@0%V`uC5g`5@N<41rm)_aP}3bjMn06W}Vs@r2-+Qn>nSo-2=M;(A& zR;(B)N@r9XT82jL^h}*DTefoXKo{BLT<~xS^_UJOlyza&f>T{5926^`QXdttz-Cb3UkjQ2RQm?dis&o zirn*dOe<-XS#H)V7=3AIh)SL;Xf)f=SPZCO@X(KSe_Dw0xyYoKh4P+KH?*B223qLy zl&Lsff`i`%x774;iIl<7Be!!r?;dz#V#Kk@(*0huKR0pp zT;qa7mKkv>N=Cn0=aN8{r_P}#>{t3N7c-|Jp!tVV&avgm^i@dc$TM^TD}WpJ_Ck@i z=uJGqx>qGaCMZ7C^Mhfe#}LETI!)Jw2>d{m2MVF2x<&>%a%XVX61b zS`mH}CO5LAgt_}{SLZOKp2smem>);%waQ3d%I<)sB>As^t=}AvrbkgysysGa6tyCA z+%eQIi|l1bAe<*sc5Nl}M=zpyjNrYz$jfE3pzE@2{H300wyWK$!xwnLh656LiT(73 zNq9rQhL}4YWe-{_sU_St*r)>l&f1Mci!mOLrQofIVt+eCj>XpE`wLD^@8?WltLFY_;hGYXz6%e1)A#{Ma z$9hmem=|DVNM`s{(p&DTe8jzCT<0Xl-77h^N73Vu6Dcm&c~_I^mH9A7Mg2dV&}_X; z0kO_>#H1NN8%I&ih=jT@xlc?2i%%UZ)xQZr2LhY zuk8@&031K0!acI?%rsvOSMw*eQU`LiCuhqf zO1F1~+7P~Ncfo4U+*^Lu`kxX@-RqpYqfp<@TAD0*aJdJYSw(h1^5gKNV3wAe8aYh0 zDdI2YI$u~d_U(kVMHgsrGgy{BBau9I_|ZMmN7u%d`b@V)$M;MPxI#~*C0C*{$6)f&+yY2BA% zm8P;WG}aR%rEzEd{8U9W4d-Dtu{&YR3gLH7)WCL8Dc^Tdw4Gt+$g5 z#F%wIXWy8UQ2@W#f$RnV?FZUstM-SgoM)Yy|V--U+ekT`L=h0Rvd!bSNKP!c(bOcK2Zzg`scA zlthxdn&3pupz}@SuodkOPRRcN-e%`ldCibW?C_GZL zdx`Bkkefc>4XK1^Kd%|B>>@q2p=9>5`o4F&jmegYZ|TRxyV&W3HHYW&eSG49Sbj?| zlEBQAIVZt zZIvF}9zvF}@F0oZ)UfmRH3$A|Z|;huKVx!~su>y5R0;U2r82|0Y-!nQ=L<%q^uUjB4hB$Q`@Hupfl zHP#n~#SMHX*S-sbz4GgC3?g44ysx9{B0!o|W@>vI;QWRw2@9MX^{FdoL#uO|u`aUt z6yXlAbk|~LT}iH7QQ2VuT?mL?1HyNB-PS?B-B@95PMG#uTU`3nd-o=cpv|9&);PX3 zgxlw>;Ab|8dI%2qdv|I&5njtpUI?xXRIV+4v$%kbRwBIVyFm%&)0;M`>kcyQX^AVj za=)jI>^(a=T`esTm9fekZBSD*#HfLu^hMjS!}3o6*0n&o?q50bV7G67*>@eRm#a(r zYcg6N-3~*4@fb9i z`9KbNi$Zvrks^s#GAgxmrqCj_zV4nRb=7B;5$OW+Nj2JA6)Ti+jDIr zXz}t&SCClwo(;3@{CbfqA@|Xrpndo{G!LDtV9`AuHM}bHTtTv>*?j?v_WX!GQz(Du zu_VxEc}ia8*JEJw$cod0ixiai;40CXQPHSCMXnS`iUFzJK*oU*JIjC8R(1Nz&b&z< zq~Vv&NC~=+y9M?56peb4?A}jTylnWIDb{Rvcf_pIijz2LxqsX?if#f9v!dzeOBdz>l$Ixs3A#Vm-^EAqyf!fND_2gnO71TxuuzTk^-E8kq~ql2O6+ zZzZUI^b&rBwInAlj$kIM(pGs|4@*GmyS2wZ9Fx|X zZlU^!-eNTNR9u-Tx+>0Ev=26R>>a|@yBAI~JlkS(M>wK;V##w_XNx^)H^cHs_v0F9FBR+Ua{HPB zPgm&(dn#pMXob>;@p}kW_2#7eVb;JEG6)&gea%t0ZikupT(A$&*=KK4H*+dC;t9v) z3P@}i!nk_WNfLidbbE31m(?G?D@)cGP|LII@iNH+8-|--z9#uOC`VtJ40Ik6QpvlQ z$U%H-$OAoU!e$Y|BQjAMEP{{)J9Vd@=hoAh(7D&0%JBh}Rec=FH9cU53@S2S!Gu&Q zVqk+)ses&S%4qlY3W_QLrcMFapGxgZk}=_-9~}#*iu)>he*k=Ejy9S69A1*WRN7zP zb%B96?Ax6mbp^i@ia>-2BeL_i?!8@amH@7IaDwELcJWGUtWc>3mhUfxRDt1=SY_V9 zHw@itG3$ui-T11>mlQl;%(`Xy%S&C$!>Jn1I%_KR6Ms?2HV(k(@QF{p$x291#9ZDc zs^gPfmPxUR>f3)!0nUTI0xQSfR;JKdd*booQD0eFtKRAQf|*Vpot>0Qk@c?Rzp{)J z54a#%`=6i9cY#S{u3QTXiy2q)w8puCh@dJ9kI{d#NI-jv5~|ty8}mt2pEn4OKv(Yo zw@^=Cd(q7{AKv&8G z+}~T#oU``pnUHU6-~EIlvkS`(p?!)m#FS^F6Q#;(oh#ltj1miWa-XNnNNA@1qC0dC z+JCsFcA?%nnGVFRfh)68Dr~rJQG+Qky0Fx4n)F!=5oh2$`$R!C>7FZ=G4VZ~i9W*v z$YS+dU+|$mlD#j(hXImPwiTMZz!R0P-U(U$AfnJR*H|tZae8R4iE!LSRd8!#S^3Q$ zug%QdyTlKS=>2IjCn|WKmE`L7^N5cW=D;X zaY23)NQYa+>uf_#2B(-G5kMDQp}*3`=0x#EIGwysw}Tm(IeFB1V@lIUKYkhY%dTOe zVUUMrSoHf{knyp|`EC#yQL(QP`Nl4`oOcAaK|Y&m9^N7=$fgqqW=c#@7TUU+Q&3)Q zjBTK?VfO?B=YC30<`>!)%q)<|uGjauDwMmW74()_5Up$!-<0+OP9w*xwV_YE&p$l) z9n|DEoi_vbhtGL5xvA{(JlIl6F6%C;>%fCR5w8n9XpBWRkAMzAe z==u>jf6qDFa`iqKEA@w3<{zo?^^!^U3=)b*-aOBg<*QLPYhU;ZyPzI}+*#o3pvkTW zV@E42;T*PnUUK|CvD!X zu2gQ%Z>n8dB9E8QDyh*AcZBpxI7o#3f-jGjxZ?~XJo49o4LKn+VTS$Y^a?&?AgwR~ zpa%Sr$Rm{=#=peht5Lfk5&n%i_UxrCB&H0CkX(hs*P=qIiKkTk`in!y*D70w?9v+% zWgSp0!6U=MA-t0LOQt^r&DS}^LDR|nAnu4o!OJB5s#!aC(26zmW;m{io;gWDUO0~G zQ@DdZ4x{(Lr&!L}(w(!>3e|HQ4j)erTd2vkx{u@torfgT)t$pdGOAS#OV4V{r&E-Guvk z+nYfrv2YcH!alRKtGLW(52Eh((n5m$tM;!A9OOuNt(H2~2G39!A_-@Iq7%MJUleQI zq&;0y6**WW;%j0w?K%@8h;3xAplPT^e}D8_``kz+wf6uWEIfJa0)nxPA#0k-?EYs! zl+r@fEM%2TYNA6@6Eq@by_5lN2) zt@U{uUp(nA9;T^i?-LLY6Z$Tm1ER<{=5t!wFU6-FNrE&wqVcP;qRR#yh7Hi9LAem# z47S3i@oFjWRN*J!%`7uAtE9lGL^@H*T_p%Kr$niB6Axywrl26Ckqch$6h1sTtptZF zhIdX%o`hIb6pD#Z!DDn#fo=%BztrzLuSB(I=-(%@>~=ipLO(Q>GF|<77?|m>nt&1N zk^IFsdFb*@e>j8U>4UD$_5vQ&Tis68eVxR;0w6^UfdLk~Ybi{};6un=BfI%n4i;$} zyrm=X*nGMD%wEovshq@#8Ss$g*}GRPvvz64e#g&4>0VOMbZY#rDy(MtWK%!}bH~cg zZ@zNkAOP(h1DvU`@KAl;n>el5cYcDZ0-s*yE?zb_9HHtnbydG<{{H<#Gy8jxA`Pv4$6q!AZraz1ILl)DOcn`5I_6fTT>krMCeIU2_Bge-fJYb&iEr$CCbW4m$Q4okz>39^-%Q>- zq^`viqbLn!Xa%^m4`$M4E!kA!nTF_nJ+XY3j{Uth1UcP^Ww$%{zF21F?8=`Yd-bW| z$bmOCkgksR=c^9ZU_qkgv+01!XnB6bv5jNeh!2;p)KeA5T9!)yEsYQ)5;eMMg= zMz8%DUj1Z9yc)Ne%}km{FPq5Z;w7?u#DiOF+v5XuQ}XrS4dx;xBxLv|ZX(mEkRx8l zU>2z=DJvbLJZULzqD35>emM~%M8ND7{gBjIYVqPgkc4lhrh z5OQmy0{&^WQAq~z!^(}Wz^|6AgSF=K36hevjhg`7e2)HE96WjHr-Bez1%QtA?xE7r zH5HcdD5<7I-fph65)MJ3qdc`--Cm-V_g!uaJ!2D*2L{z&Xfvn3g zp9ZHF9@OcWLk++gLie^A{IMBOZjnSif7^?hw0Ct5KMcX#u|Jzj71gyx^u{3u62g{F z`NSDfY>U>#BRSlXyFdd@WufVgIAni3K3Ju$JWQzEkg`}ea)m+AOt1G{FY~_5G}d+x z*6GcOLLw%1nzY_?#t||cw!VBo`LMLkDw>GDUs9H>N;jBIqc)ghkK~I0`4>E{Q3i-4 z42ZHSy&t;L&0+YNu;fv07I@3j$}tp!*&+%uuyTJauHecTN#ze)n=kyLl#c7fY#^Ny zZlj$|M4LDld;M=1J&lDYZAq!Enk{x|V;g+Tqe3H##VRHsYviAeRi@H9)=iVBl{Lz+ zP}Y~~Cf0KEKYA!GTZrO@d$M;*7&j3FkB=M4y%o+xslI|3&tgzO@|OjMIHXc=4Uo;F zu=k4PDWVYXBMxQ~mdtQ&6(^6CQb*O5Z|V*7(z=ec<3xfMkJ5$Zu$}ARMyM{hgi>S{ zK=3!RqY!+}v{q$N4OQ@x=;Wu)}1y>(TuAl8}-k$W5OEd@6^0~2-i=P+6hi9W4Yy2 zvm6SxaViNMAPDyLu`}2})|dR=?v9-oLe}0D)|lYps>MlKn4dF^?a0@7foGa`a>D-C zmxnd7-1mm!8SXqkWXy{h#%=HAUs@53GXynSap#V>eL86J*qzqI3&k2hX(uMidx>4~ zU{w8N`wDnn0hr{K0-O)N#nUO&J%KT)`lgZtK8=evVZMUj>KR7|1~dm}zAk!8=%vr!7#f`RBG2||geEY^4s-}4i8t)XDm zG)v1Jb(?yPCY-%m?<`-dG(b-`EZ<>uK#(KHQ;Dk3ZAq>nmYlZ+Uy6#L@$9e(dDDe6 z8p^SNClecx5ytC_*C4+i`>~IUrMcG0*e~DfZA`r`Q4Y5L+fK3NpZeFeao?pfNBtIQJJ@3Ced;qm0ZOD>jT6WZLAq= zl`epp@9+~D`-484`S==`LpkmNQdxufj1X4#QxPA-hQjFt5}`JP$fmAbgN(;{f(ce8 zX^8n}k~vw@B1!vNj`C_qcIrZvuZ0s6{uAsZhel1Z!#zjTVlq@r_I{7#QtxGkA=m!A zMso|G^W8u(>#QuU5(YbE_#E-hd>H^-*m3;DTO2m;S(%M!S1^;j}8aZR-2(T`g*YBq(^$6;ok6 zwB6)Y4VZ@M(sHM~FFY|)h($^q2Mg8Od2mairYNJV8C8^lXEFtXey?yRLoWkX5o^1= zQ7@ms!!r`nw=nNM*Y7De0!t9Es4w3wTzKg1K+AAW7GV`0uSvd3nN^ty#WB%)c<rK#d*`g*8JH78ACc}tOi#54bN(Z8?@A*3J)W8 zj-jZxVqKN0L1wX~aoGG=5FstVq(~OGJ;`!&wuxY&q8|H8TQx0%sx&YoHIGC^_HYoK zcc^rxoNx0XYF8?If~kkjUr8%sEhXx&*X8k$qq<=&M}eOhYk+< z!oI$TkC%1dmbi>mIFc$4q9V%mnE;ti*KX(_PWLC@76I{K78S(76)-*h8U*TG*ff`37b4^niWJ-Joqogly6qLE?yO=- zibd!Ea?}0jkve^e8ejWcN<4>?fFoK42QVV^mq5XIn@uQ!eTpLvBsOaM+^SVYqhYio z<+n4K#^5gmKT!Dx+S$DysTf6>lSYnG^`(Hehq3u=HdM@Cvat2 zVc7gMOWHptPivE4*mR!jdcY=wq*^K(@=0x1+vnm|V$mQ}`8YbDgKpf(IIc1l!UpUm zY&dtJP|8*uKCQPKU^hz4RiQv4;)(cnM;ymT{y|l|KJhRdhHdp6A0>RGi23o^N_*<0 z8j#iE*u<6iLVGfKIw9kjj=MA^(q<~YJ*&Ej_kZvPW>wLUVL3hR%BR#;@1^B zGSW(Om9t?mBXc^Cu5xyS`Zu#~!b!fuYzS}odu=JKGg*A{IiK##OAeWoLj%;U?ujCa z!O3G5T>NJ(zL;kM@$pix9(Gats6@=?og+r&rL)eLmo}MRHu1i`3vAccn_2qSR#%0C z%MODKM2(s;R<&IUmp~p9%`ZioI8NbqRqmi@(e}V=F)LS{AvSp=C^VTj5S%bIlWz%%!Psu zhkIoV!ih}O9wBQQO|NyJLJmmV@QoYXj?Qkk7M#jc#-C4h zXDO6fvv1UN%w>T_diufXuevGcL*S^diMZkS)n#3}#w6$tcvs1ce0+WVI$UsST|;Xt z7|vfTcPry$4LkDzbotb{6xu39np|>{bVr>k`*;?KKDK3XT`)W*5Ew1bUG%w%b7OaH zHiwmn#fVTp00vS~-kQ7-z%<>U?dO=oxbnbQ(@i_6M+^8?nbk)OpsfT0qgyB;BGzW zB$4f1muYbg5{d+%5*v%#D#2hT+5kXf;)jLdb(JcHdKRUGm|G4rie+D%24Z>PZltw^ zx$_ZIJ5yBO3`18ZutnaCcS_nN6#Bgt5OFX|f%@3Hvm?=5`Gh{uw>-uH6*hB8Fd&AQSxREe9ZZRGgns_c@v5QYv%C9C0lD2h zuhH*aybFg+TyCt*h^R*T)v6eAzRZF5+ya)dFP#_W_iCT`e6NT%uHg?_+k|4xyJR`@ zAvhj@Ur1g;kxEcf&Jbv;aex5fk>9lEJ!wri@S|aXRPF^E6Y3^lO+Que$n-bg7djR< z87R*&Gc~|Af|B@*>qTL|rz!QO^q(7)a*+5@06!rzjfC^x)oYbYF*7(e_bZWWR$Ic$ zl74WCyxMvUR@z05t*~AWp|bVior=Ni9$o_0#&u~Wr&|k`sanwPa9{x7OJWy0$}fK1 z_3UCK+A<7#EfI*1BYzsWD|mSIz9!lvfU2TW!0%r_E#}ji*Hb^rzNq=v0aX?#Mha#k>RMLc{@H#esRQ|esV;71`q7*Vz z2Xqh_3xq#d-*C7gux$+@o>Guc{9C#MIxUh6p%I=gwIAU$lP9;+65DQlO)Ku!TC%20 z0XW)T(?BZBQSo(7>IJpT#O1`~+iy%zef5K#8m1HuM3feiC170c+phwPEAl_Uh(n1p zcHLkqv3JZTz|LXxY$=WtpKxJ}j@^xiAx)lYgT$-FDpUB@9VuFMN`HfG_E^etEi%Ni zVt3-Nqr)J;rL4G>5Mt`84CCter+>GDiBbak>w_jzjn#b(K(9=OMV(1C)72_mh?b4V z1Uu{opxG>+Rs!%e3Jo;ep*>AEmyiXxJ>B)%2EGE3wL z%pUFISKT^dh;pX$&76piNeWQTdH$pdeBeyv*DcJ&+#>3hdkmSq=sOA{sCP*O9IX1{ zOM^5?KezQBf>Cy|F?*X};iOI^K`71vlP+5ck>xo*F_7maAv1len!Cg4(nggQVYhgE zRiw#Xn!80wog_(JU}oAX=Z3)8qHYB#FExNVXlQ~A4%|~6qR(pVIGK)dJdGwBHjWxI z?P?CWR-=#m^lCx%2^H8uJo~)N3=%J{rJd?6{Buc~op~6zK@=I-u9N9({_%Nnp;)cIF+p8nFzSOA&%w)zb9t zcJlD(tH9s##;5l?xnXC%!Q%A}6kCVA3kVudTK;SrRSAugG{BVdhJd}*%O-5l&Pa@R z6%9FOKct1x7QiqsNyR9?uOHqToFCJe^Tto@7bBx{z2g?0Sb+)5b)d-|biw!^vop@e z2=g^qY)bKjB?x8SLAUvSAp9kE1=TueGlVy~Vq5K`FIei9B+gpV%&cJAaP%NJSX$dg z={`*^#SaGe^ZniUvC|x|wiiMl2XyHC>55;kV1x!hUF(f-7nN1dk|&CW(ODx)`gn-` z1w2eB`n_Dej5QBdHwWJWW+G!EY6V+XVQsLxyN5RyyqQ@GycB7Jz@E3%<4s(2=c~b* zeEM>RR_!B(0eO;?eno> zv7Z44PZ2ei!qq5$JEP{Iq|X6XfyHA%m6v=(#`B9XBh;~Sa_^ahwr*gjSN(PK`YgPq ztZ<54!r!x(LI?oYOS*+F9D_12tJY{FGPnZbJgdhJVA66SdU_~6voz4)4>?MmeN*S| zHenAY$1i`eB)@0^>k2=b-{J>%s-w57AiA&i68Ijy2}{W>Y$Q&XLA*+nk&l#!dSAaw z-DjHtXXF??LE94)q-uFTj7+AtHy&+0NoT2;7E}Uk%U)b=i(cK4aUq9#o1Cl85DfhTNZ{E-6NDvIL@_BB+k%QVrQpTk1jPF1Lv9f3a~jOGjMB{@2D>FkR>hQQIuX=0wu-Iz z2!v~dS)B18OieIfY$4LWTnDBsUgKzUcY&jXgGb;dCv@7(Bxn!C)aA!#rVibS?Cx=5 z#^Vs0FEdXWxHqUn$(}2r17o-YgGc2<%fweixyZNXxEG*$?clJ)fb1W+Nxi(?m)CuT z!<~hoQBTwJ91H5ivMCdOT5mta6U;*E0$mloB%iI>&DM&KHJ%6~}!ZRUl z&>1$z$ks8c#05zgmaQV`JW^JZ>JN3&n2H`?V#ec}ytT3>L5R0*0&Knt>UXrYQu`r5 zp44&bR0E>)V#UMmdf&d6-aG>Y&nG}7LLk(0Nk}XwJL~{9%Erc1(R@`11Y`xZj?S>t zc1Uc&c~pSJum`u7xz5u&u|QcIe0pO}>tDK_28PyM*0K`5aMS$QR0?Ri4BkhX%gYQsjSAruJkvmPn8oamR4=l<7 zxhwCP*sz&0rLv>HQwb%dqz^c;5lX9!NV=O3m~mMtB=0|@JFHo<^@XQEYTqL;-8b){ zkJ{A7xLf!5O=%#MxYC6AzJf|y1A$KK&s*sF zM(!nd)1>dp70K`HT zHts85yemQX5F&`*W;P4hZk?72Q6l?a7xLdGK|$#k^sqw!S4_|4NY?RS1gWUUq?SB! zNxX0Q)e}#cx%X6m2X!|x7Z$wHT%ryY4WrO5LB&`UHbRMjPx@sh*ZZL+AqM@#f5 z5YlZp;RqREpG8xlW&TXhY&71p-j)oVUVjuF%h5Sq;*D&lg!Bguw!Kw6Y3peC$~YUA z#tp#;MaPzg0ma#b9NKtHSrQqQMdV6IKJrXR zc|AeUBXpqWj0jG-*A)Wbhn3!3O4G-V7ZFWI{#aJ7UXF9)123}0`p4&iUlM8W)+x(t z6etn{Ri5j9*Jqn8L*sW5H86zwfeVTByg2CdJfWFzY2>=w{cNNcu!WwOnxu&J1pxE^fZPJW!Z0#t#0PDU#rOz zDzr80dSF{OV2}Oc!RBfbpx&kB2pM1YyG`7DmPELQfxzQojEH}g8Lp^&1$64cHbiuR zzz&ikVLDlJ>vHP`%Dz^rEEwg=YwoR)~TT@Ktv5i@N8(0_OFn^5Ve5 z#QxQX`vRwO)|c5homY~17=E4S$VK)osC(CNa1>Ki9iax@lpVY($!e#<{d~aJUeafx z;9&XvZHv=455c!^BfVq{o+_b^$rMdQg-O`D$lE=(Q!e*GOcQ`co7qr`pzNPXMQ676-w+ByGeSa#J89i_UEdm3`Gd zSh(x4?eJ|aN1}KZMX4A><@cT7eFxsA)i6$u;$F7|P@_2U*IBo&U(`rd)2r_cvOavr z=5h>AvBMlTQR8Q&!QTX=-j>f&AunIzPa4UVkO{*-Gn=Br$U%tFRFbu{hQ|kGs?GJb zw}fqiH8E+g(!8Cp0-eiv0JGpN8<{=g!&KE-((?BRS**m5|6uoX{;puZu z>RF?h$+mnEcp5b{D90yvl3T$PpA#C`i;S}H0t0L>AEeEvpVVKPu724iK1O+^U{#Yx zZ)v@x>rJ~}L7$(9B>jV~%v;A_UQUQWjF|zXKM+6(bh{_;>4Baanh>er8Lj%z;ZAk% zMdIH6XJfY^$yJW6wXqK>@J`e#AW)^qF@E7bJ%Sc=nJpWYq$@w$M)3hca{cBp?}JCc zVs0CS%DU{Sh-tpn`AD;y57YsHk0{c*!%k#E?^o@nNNb#wcq!BAqM`vFtzy;o!cLV+Q3+} zzk4fABlK^xy{2mSlzqbR?*=GCTf7=3!y{`*8VY$g{&E4exQXd0*E4}QqO7r(=kFmFk?OFqfsM<5E> zE`YiN6QTB0?U_E1%oRJt41mq}%z-*PTN3!NS2H3u3N+*Rd!Hhii#+JC9&OMB0=I(} zR6}H-tJ4rhqALWE_WXF$PXIu@r5Rx#=4i^rwF5xQTrUJ%Q+HPYiYiZ##y#vcOQSb) z&xYM|v^Nn2GzU^O3yj{w+o<9EiC_qI@j2!J@;+37Ocn)FO>$7{wNl*HffmU4<($iV|A;)>7w&J4E2=12msw;>}c9c@$zcU8G`>piUN0=&j9-NjeqZ2;I@Vn>R;@-}6D{m)=xvAUkf2 zuJ4MIYl?8Vcm;$QVSgvfb9(;U+VSneQ~O~YxJmSp@V1br5FnZbhO)u$yEWx)f-bsn z0m-WP@mAo~M9GmGWGXH}Q`13ybZ-l0zUSv#{e^LSuwXykUduwo8~wdeD;7S1rY5L-eZ=Udd9W#84#E1>gHv>lZSE5ebx_mGLnV>1j~ z)z!kDCc_d*=kRhgo_@TlVQ^=RUdH|P_1$sCROrVfH0Sc1?`OZXec{Y&(CS^L_9f&^ z>`?NvQ|Pt=ctm;HA`2nl1J_|1#m)mh5UCgQFuz5qC}{cy-4)m<5|jclu|rW;I(ducZ=i_*a}W2r@rOE3Hb}A&)-rJzv)b%W@XW#Rlsxm+Uuv2ZdLimAoEX%xlD~p7 zW!FD!%Y3p%EV?AfvpZzS?WvnV6AXQ^fRs5U1JP9+bc zsIK6%$J)2(4Ra&Wfc|i?W_=e+%Dcja8zqecUL+IbsZRv{90}Zrl zunO^3i~Fp}&c0r4 zrsS#dVme|}TvEz_WB`!2mOj1~Cx8*a!XLdxp(vGF{9ogO7TxzG`W4{l_w~9RdF5X` zUV6BmPG5Z(GG#7FDvvqoZ-t{C9|5$?!BiF!PAt|u7E8p~$8BQ?`z;MBVfO5Gl^04# zit8J{&8*i3?k2-KaZt7>X;ETYZG4LC%K!!TfGld3*>BJ$xu};XepwfE)8MAcuQ_C< z0y$634mwX|@b8M-*Qmjrd@(hg`nE&Xh|4hk=uSFO%r#3Ub2EChbfh!5$5WD75#l~d z7?Es3b|GgZldq$p;IEK7&U9kpYr1)8%PQL=ln5)tX_dJxA&xq!DGRp*I7rzm@}25>0*6U{aS4_1naX2MY$uwwQJc#ZyzN$p>G*CpVQ z?@LC9vacV*)3p_OJ|%Nb0p=X$A!xWIETN}P9{8XL2Ew8nsl{s#d+&)&Pj@k2!$R#F zLtNbMQ6gX|0dAEt?ZX6-{fm`3W6=2r<88dwZmWjcAj_htnGLqPD*U-HaS~?TnEhW$sJ+L)YHg*Bl<<`O$x<_jc>p5O)33XsexzG@h5zwlE827nub-Z zp|-HNU)L#u&Q<;nb9=WYqQXG~hP=bPDPJ#Y9+MP&=l0hCkf z8oQxOtMoUz@-dI+X3Ac$HomNS_gCd@)*}!)(j$`xJGyBIRuNC)G|ERY;q?es-U5H& z=zn-Vl$e#jX>VR+ypFug%Tly19KINQtuQlJEN% zb95w}RoD%;tq9@jBj8RwfjIhJ{WCIo0=c+%lg@sMB63p#~IQs@)h`IyoHGm&+y1W&aKRqIQcHIzZM+s5qNR}&w z7T{bWpu0F}~LEylEZCrkr0`!?1({7P~vR zz?wn>`_II-o{5Cul~oJz+pVw-X}35)pF8`eRS;<_tS{QTy4;RBgzNW4k5WFZv_;Mk z^zm)&tsaI+>rmapxETf_LR_(nu-8G7d|iX|60l=~MQtBF(MUc1mbRw{e9;534PPj6$lWsQk=kO zmmJtsX?v;hUkGF20xFv9x+`E60xG$78gqDA04m26#rSBvy28S-T9Kf0EW$9ZPNIqn zD+>4=Dbt5~cf?66$fL`3TV@w5gCPNMR?SBWF`%HTNYdceSf)3Y!_p)kKTdz>jf!P- z&dOa(--jv4TfB4cGoGGoczcv^vFDUQyer~HbumlVjjrzdcYL;Us zBMyJc3hDDkFOu+Vig}Q2KgS-ns6Rpj(knXD78axp5v~Gr({hefA~R_gyW%~yC43Nc zz2PE~j{qeZE3olMkF(Fqt{`-$r(exZUz1RDC*D^uh-ASbbR408J{XoH6#+w-w z+oxa}Ob@1CE#4OOlhCds1G(SlO63@r*e@Alzl(ZN-gN**{;HLJIMK8vy*`*=3>X1v1dt1s|9thrCG-Yb9>eR&qcW~@8! z61wKyaG`WzFUI1KCH~CQ4+2ZV%lK>uyFOr7gPyt>%0PUuW|OS_>l+t8Q7U&g!ba1DJ6g;j!<%9FRW>1P6 zZW1is(Nr)Y_P(UF#Tu^IXXP(p1%fM|WjcqP7Hjhpc5}5hgI(#wd1W_Qp;xB-`U+I` zXa$X=ZMtfExN~1Be}To^wVq-ScaLVFx7H=t&tI$_;8wM3ZzxIrZGtgCv_(#JpGz-q zct*O#*N8m|{=^9lxsKiN8+E}P@1gbrt{HR{flQ;vzc=EjU(`DF!5@3mn|EA?S;@0()2P*+C>4vRfb-*F>_X(f1F8s2@Cx$9UjlpWEY6W2(@@UC`SU?7C0QL56I>tXox69kR|^4g@{==6%;CYn<_>hf#0#>C-C62K+A1SjH$On&90 z_PgF78sb!|r2U@D=>=+5Pn-_-<`{evy`+&ja*s0R3d?J4by~w#%Pk!3C?I9{LGRM` zyg4kXr&uZPvG0v8OnzU1m_(zS%@2*9{sHyZWjl#hb6?R+4d;bLY46t#s{(-IML6Me zGH<6XK{y?nM2p-WLu)Wo?I>W3FWh6ODQ%-L6t~GJfxYmML;;so2#GS|xWyCDEGw=T zdHxIXQ^`^K)CM!1jtKE|ND})(G$uxp-xF(YXiS+?ihSsh2D(djR@ZWola!Q9t0?nO z6ooyA0uESSjz*2GVLT0Br4Cd2H*95P;>}SL#-z@cqoGNLaQ7%rlNc3-U32wb&fVc# z5%_Ez4CIRGmKD;va9eRBc$M&zjIV!MZo?ntJUxeG4(-l)T+pfgW-C#gJDqDOo%eB4 z?vlKpMH9SIgsABR>XD_OVV&b&Etct0oiVFx>BkSGTxRtiJ99U&fko>;-k;3us-)qs z(5bvwV>Wm8b-gv6LWmXZb&5C!@G`Qoej|ta1wa;gUz2CcFoO13RA(tV2^f?LtVX#h zsS18TZIDx2`#=5DyOtEBY3#x}n{@LpE!YXCqNz-)`SxwibhZ8HX^#2#et2}^9W*A0 zP>7l|+KSZLSOnehXI_cU_XqLM;R8PMfT}*ah1HeqBB}`U3c0p{u6FgTA_^3ZHxLc3 zQ%5*Sd>n1>rSn->`Jr+9yt`nY5nbGjfYKQGIOM$9oZn3-xfWG8;bQ8r3@~>@2X9jq z_|_xwvdRetKiaDvN2sdxp;nP1TgXJhT-4^FTfG7LQm`WepOKhUddcEu84>3|qW^V=v)#97@?)F|#Vd8niR=u-v04LrOK|A-e{Q$SD&> zEPWt70K2Xm#lFY}Dy4j@P00-nx~UQ1M$)*cWWm{1YSapa(Y<9Ybi}Q74Q^Ma26;F+ z1-C3t!BvFdQ(a8ky_uWOsi9M^tf>lvIdH>_{ekRD6*Dq)6%8)H-V9nb=da3%;^K_5%wjuj;!fYlG^C8R=HZkIN1sVWg4t!{l~$y_%%#=i$leQr z0RF;}VcfXb!!qJk(lcqGM8c3R`yu0^73w#_IJUmt9^Vbt2Y>S5(oaZeZ>@PW-O`Mm z>@fI~Xgqi_v?@k3ii{}mR)N$Hqr|+ZITo-mGXemQJzP`jX&+TN0)ntN<~vS{@OT{q zqanCTK|bnsx4WUY(+R>o%@$0a-m{L5g&0<8MTGQE@jAGAa1(K|`r`(n`X66}?uelK z=lT!^;a}?-hf_h&(NPM;N9^PB z6}MKQ)1s!D?{|>P%|(c>dO_rwtag+gk}a3hP2ZW1iQZ0Qn!#?bY~tCxm`H#7xJfRV z50^tr8>W>s0eeP5Vi2v$bOs9bwyB4e_h0fyrhw(C8GOTYFN~R5r zu3B8nF8Zl2oP*)?tXvA%X_em$w50p6O?wj?)4Kq`A4^tGB%@=Y`*bUyPwKMg^m7)>Al5LL&aTS=kvZZ##KR^=ZiYSAUxTFnu#M2!ApPU#3M>H=BUTreAXo!bU416Pe}R6_bE z6X27a(4x`l*v%cVmy+Bf-nlBsB3>SyW>MCqLaqzr+Z!sGXR3&(xSDITR))@1wgwmw zY0sAjus0JT7a&OlhXG`TgLK*a-o~^)IAE*2Cu+De$MW*P9&LjyEdzZsN<{9QV)Yv^ zp?q39Vcx;pe$G?W^O8x%qBby1E7-;oXSLLcKKv-MZoB^4Aq220`X&gEH~F`}(q07K z6LO1?EmdBDJN89Uf&k-2Y*V7fCDSVwk3#AdT1@>b3IVq&J}uU66kbew8r4l44U!oR zvEaw^kOLgl2Oy=1rWkeijJL~M0if*91S>)STZmRD3IIim#1GZef@v!%p^B7EI+zUX z?#nh2Mh44ysbc`f{gP63^F>9+sDct4ly3NB*k>doL~Rp4TQ(@ki6;&?b@nrgB( zM-6fL-{VHHZ&pFHZxbe;RcKtVfiaof3xkjs&_Tr^@|TH8w?3(~C{gVDqq)q~2AH zSZwAwZ4BQ*vunc9H+S-^nRBWP3GiozlKmzs-0(6nPdRkfa1(aMjEEqNU#k9)^k%aT zRs_&Znr$pAw&`vX`ZeYq$Z$MO*Y<7LU<{rx^THY46exb~dK#k_<4W7$Sl|95rOLAVWCx zbM-OaJfUpvxJ6NKBvS;*TH|S_NZ@~bUOSu$upzZ30iB@nbuaW?z4d2K?9}YC0NeZm zwmg=wE+yRpo#wfI2N1*A7Sie)S{rp$U}rQNxuGAu3^L`(_jdQ)VPdutP}uw$7 z-ee`%i^6ceK?JZ0Aq$&3FMp$Z&o|CFWQ3{W+1Y)&`DNTC(01_qD=huLH!MYuIej$@ zPs!B=n02NbzmeT7894Gm*=8j-80JkKRRdG?Smr0v}PDI&13$LhVhO=6*MEPZn2EfNu60tz( z;56F4%^1VhaiGo$fE%CnV;b-Pj`5f|j-b2k=r8`-@`zYa&ndg#qq5}Vk7qdT`6q)> zX`rq4r@zPH*NNWb^xhJ+K8u$qmW9>fJOcj4A^z!wf#y(@a%Jsqxh$zj!qyfd<7e`A z^N%$syTUyv#J(ux4}XEyk}XvUl=p@lfBNC(J3-Qkb~7sHgYV2|a|ZtH5mVf4^|M5S zO)v74+fu=OfaMJ~p7Ig`1NdHZ_oxA*W`^KnW?X$vkRyVBW)~dDMz#ywp?5*Q$&&(GnEReK<*@is*KX1 zB$DLeVCx-82a_ZSQH|qGM?RbyD7W3O0sM0l{!kNNo3_A?1^|s3PY>xlcn79ta0u6t za1_+0CwC66RqGnd?!{Mx?sh=IOr@!-xgMYERDRZTC5`FBqUL;%=~2(3KbNH($JnFo zLrhVRPl%Ksp%z214Nm$7w6ukgf(%ea&j=Gjs#bMQrl+|K(}54AW|h?9YowTX8&})2 zx=XI|_{p?yjq;u4FO_z*U_u_CP*9bliXzI550c2CeE88mf<{qUh1EkbI@}QP`;pVLM?Cd_Mi|;K zRf_plBb~Tf`=v)xZ@Pr$t0UMW@7L+Q@*pVL>+5vSYM)i_!_!^}u$TPf${^sQ$I-cT zE054Q-43K7Y%s2jm@N-qk>uBC(gDF6OWCx;}R;JdZjZ0Xd1Sls`sVAc@X)d29Gb3mbtb?Z9kZNiV zCygja+Yf*cr@qRT&TveNfy8|HpZKk#M+@jb8(A1W49-o6Wr_hU4y9FD8y_1)1E{EE z?Bb5nv2SCXBg6Rc6AS0se<>Goe!VfD@*Af$GX_Ax$8)+pclLGPA~9rKUs*&UXEjwNT|!I(Ly~rB=F=dzYiHM*+tba5fSo!@C3SYU*}UZ zg8Fn7iqj8l2}Dm|sn{pGKy{Cx;(;Z~ll)VJ+oE-WI61<-0ZUmJih$$-<=LJObKS|o zpqeL;A!f5_gbZvT3L@jfU78Y;^R1gTI&+;+{8`>=9m7peFPE^uFJ6PQC7Z8iQePW5 zn()?xs`yh11g`{kx>K3B6~;yZ{&!4(=1BSV7Dq`I;tP}lOZ2I4z5Z=H#qEb=$QpW2 zW2Jad_9Np$JF|p@_TDcAMc*|-90ad zp;sM4;;1J)qdx@9sVk|TYS3HIB%rQ2D`r_r@me<1MZG46k?(agM~?I60L>^&%$m^a z!2>1tlFy3ay4F26^`AuGOiUtiPuHDz&&eTadubO;s_u%^65{=@_40KxmR0^e}nJv9fP0m5!KjCmtC^R^En zCtBq9zR%+lvyDlz$i>s11Ir*2qv6zZHE%IbJ#aaWS0q7L)e} zw|wqYKiAB(R?&ARLK|1CVG)O(jLF#ccvG_*fL|CN9(UKn{QFXoB+1754Mt>)QQHh;-?$1ez3u_y^e@=FF z+O;qoR~tff!gY_medR)~0NQ{_sPW>D9T%B`Q>2ZTfKuw)v0A77)8PU3LwcUv89$2A z`&wobP;ZeZY1aNXk0c*DRyy(KKLVwS#)*de-V|#SBDB^18*9@lo^x6>1ou^mIchde zCMKugkXb;>=5)a;y6*a*QsRqAE@Fthq7qS2^5zDEu5#dQ*p4PWw()|!ULR6P^s$(FQOOHF>@H{}a)O~uAO&+;!77cQN>$9T8(hEgZ>2jrmgxsAH}bmF zw^Bvwt{RB-5*W5<&QJl;G=NzV^kL=hLYA;@K~3U9+)w?>9eKhdc!8zeaI0u&LN(a$1C zw6om+mG<&39>VjCwb^ZwL-nVR+PMpn$lu%$+4Veksn5;s^FQ;FTrUosB+UapXY}2WkHKT5xN{ymwv?gfL8-l3>6tt>j7U1G1B?~O+@@ylVl?*%TgW>T895&On z+u&h0D2h%Jp=1@8J9%Yh9dppgit4r#hN-?+02E%kdfB7yed2f#aG#2G+(7_`x3w`0 zE9Zg=(zM&}T*&MdH?3Wqwz2XXALl3w`AZ;w9yx5i^S6fQp^DBtbE4)ewGXiwgsJWO zTQWbx`}xYS0=z{Gm^hy-kOkJ7vIl7xHqP6aBlYViVuY6KDb7K?u(OBqfhXN$OM^S^ z-M@77xwe6e+opVYW#07s=g(T9TQ(xSz%*UU80IxwS>vZgT8uZ}w-`H8KyW*yT%FVt z-C;nV6c|MMMuvg-SysgN7e&A;LMpfhHH(g>&Qt>l)>VqMM!5+hos`F~&ar6c6eHGu z%`k*1P&hJ0P9K_gyx=&1D=n*J7uf(#_Li0ZR(uTIe!2`3VMIY>cp!b{gIr^5`GfVd^_ zYAMl!q^fnXf}hUc0hBVj&G$VOo3lpp8s-C@V%u&GOpET?={92ieklSl8tIV<5Ldm2AGPu3L}=R^V_Hr?mpkbTK8o#AhrDtK`8{XC#h z$}&K*7ScL0mg>`uSs0K8OHDCNzfG&C00EPI0m1BLJ|%$ppI6%%K$|9$$H}pr(L-&;FD^b zP_OLbIUDI2t`z^mdxv>v3^Dbp35*|C=uVomUd=@>pMS#GjURq+R`IXR?{89UT)7rxU#rSjJLePp*L4)6Gc zf{s3pW|=!N6pr~NKwXF1Y-EIaRp&p{R=-^ zjW|me;fC1+(HYl&JMQJ(0oe&RKAgx+!k|qCzJ|7(2VLq6-LjqiA2=VtD3f{Ync$CuvjVN5pnn4J zR8)1=sQmdR)_*TF3KIA8&IL4k;eBBs3-7JnHsdm>7>Lp*JOQo{vqbbd(lTjnR(^Ei zoU)T<&M>jm(kKlq&&TIC)jX#{2oo6I!%h%*B>Z12*FN5U@rl@GDA^%eE%|R&LRLJy zzvO>-4Nxx>Mi|O~iW{I*?qLy?!;z?*Y)4AmfvC}cdm>sf$5O0>m+eR67Y~2yDHeVo z^G~X$HwY3;ILVLDz6BvWkiAOoiV}obLW(Ecr9iSq#DJGLC{p1?d?;kH1uoPF>HWp0 z#F8Zpk!?XRD_J>V0i8M(zs!N18(D5O`T&PhZ%e2x^#)}g30L+o0vxB7oG4STk3?}) zocv_x1}JMg<5^;_JI0nvCl*8QoTO%R#esYerZ3J)6%(P2X$)2v(=#zIm0|YX5(5~L z>&*vD3R2T@{95HaWiuK&eql%g5=RIf_T=m>radvg?WAGa7zbN9%;)Fbk!&hx(@nyc zSs~(1X1*bl`?twJDf6S0Wc?--GZpAY0+XP=JX&rVoGE_Mh7uIELK2UP^DKv0`yYLl z_3(t5KzHa3T7_n4X)ch5c3rS5uoW6bjAkKWpqr`>*cy%qfgsnk$Y*ENsWIcbo9Fl~ zybHU_JuvqrA2(eMR9gCK3!R0i4G>~%P9xHmfc8(h$rR|M$>=HWAppf*wg@`>x3l;M zrS6$a1_u2CNcN-1tbAbmzD!ajkzwiDkh6AFgm)xe#vmVu0@Ftg%auxFXxuhHBBkjQ zNI2CE_q>eKb`eSX)F0-OZkY5dZtjJl8?@EOKn;P za-!UfNFc6C}vESUUGjC0bz_V$MFJA4F z*}VPplO-?vd#7}NpLXYioyp7ehni~qId4y(3tGsNp)|U3*1A(?rfiv;*-D8vhHQjrF z_%UM&oPC(vP(lZoa51RpFJ&DS^AnO*VwN;+3ANPFA!3W-NxrggPSgWean#G{zC$t5 z>08p?&v>}rNiBb_!gf7tXLykwzMwQU0)aSS5VTcq1(cmHCx(BVy^OyC$pFV~er6uS zmR3}F1gLMQt+=h5NZTsWnD@55jHwwey_?R*-{sLsawe&cyJG55N-bYd0}glToX7e- zg5WrTf@V-N$pS>>X&LgpZtGJx(lE;cJQ8K$;#wXnLkLC#9hEc%7EHm@ zPY!XMTi31p0|?#F;=b;NFoMph;wWNgnSPwzAN83or3#eI*-%H5yS{QW7b zvR;!HJfA)}x9OAZO=@Bgme5_Oy3t;^RsuD9FH0koI+gvy75P%37be=B%s5M^7y5r6 zhbJ!RCgh;)&z>S*-VJvms_ZeVtV_v2?-{FPt;`2Ws>yY(c5}@OJr4;{z3UWzqqf61 z&67^!@jCs2d%Nx_kL?6IjQYUCq{K-*f)-Wby((OHfdulhv{)6_6cJNDS_LUf2k$IY z6X!@d;oUTQ-UUBHvRzvx(x3O=NhNR03#Jo276vQRXJ6tCSMaw74)Jq+Kg=f0#-fvH z?&!6#=c==kd}GBtf*i}XCIR7xg%A_qGTRU%JyS`%yMn~v{8|?|=35=z>eReB;ad385EODjddE^bB7V!i{D zHov5$249$vX?LU{q`L79TCDn57CD2JO)dOkzWG7g_P*Xe9j$D`t9VdRZ2O@$Q* zSevfiQ9;okzx98kcldXsbM*?@QU$!0n`%OaZwbZx=Ii5O8rt(-uxxq@Gj^zdOxCX_ zZ#e5z3rGxqgn*iS8AiI(B76i#ETbxFUE*2i9rg&dCwc6Y&eicp;)hbR}_P}u-YYHqe3H)2N#TF^no1nux0%q(;ar7#G_r4U(JNL zFW#)vGSqZ3&J%Cl6G%0B4-hDK)L}&DC{5sAmSc|w&1`Jpa&u$^<$V;HpIu*!iA-Al zvIUuEr5Y)YtUUA*$hGQ024{*i1^H4twMq_lW3nHI0t(~4CUz~!wQuRgY0;T_ZHH-r zl<#60*{bE&+Ci&^q>za#QaYJL$zI;nTWQekU-MJK8}PMS;bj7+1gLvy;96*!lMwjZ z;!FJ9=$WHBhrIY?B4i#LF5qvZ^d0$l%XM;rP}D6qk7ihePs*+>Tnb7MfrH<_#nUfU zaxNFn;EQsd@lFddl-ywlrw+fZ=xW}-(tdt(jL!b1nA||M6AA4y|r{E)y}{n>j#Tj;gRQ`UNZ z-EMIzZgG!?x*^QCVzb2~n+S^v3SZvbi3{hyN4uJtrAmG|{DhhZG62kXo1sm|m(Omdp)$5ui>aL8ZIa6D3;t8= z6<(USMa7kTvRG!Df!=xYeUomIYlc8qLYG|T*z-7}UbzPc#WFxtU58F<45Ql zJt1C}_mxrBl>76A!o7{t7?GtKxfBUEqK8^Gq{xwBDco220=i8T_u1utR!gKq_%7My z=Y9rPr6fBI68mo@RQ1r`^0+{ zv+fpWAV$8Sl%_$8!4UK$~Y&^jYsxtwlC*zq5%j1Pz{W>IPv0862BewoK?`MARCQ&bUj~*; zXAC;g(rTH1CSa<(eyaAWj(o)wO^Y%`q_WQwy5iMTP7)%9&+rd4(AtYG83-N?{7zT{ z!&jJ0Je((s#QFB_7tv66XPum&Vqzi8UI~xtSukK>nO({Xg38(Fv!v83N_AD|srv!R ziw!(Ww1Rc0MB$q3(#1G~_tXBTqgpI-aaEUVzZ?nlzjKL>NpY?5fDcvK>bd zw!Nw9SPucFIY`=5p;9a9PeiN=0(rpF5SqXP@g&<&eAi)E+=NqVv=Ff;>lAq!9s(YP z;*U?O0e%Sml+z+1ZRgCDM{CbUOIf4mYKgV{Jrl`Ng?)I7O6#~YkBKS9QR!F`i?OAr zHqQ2P2dqB*l+UkzWc8-xxq^bM^FhsGRkTTeo=ly!Di=5!d{+=a?DZZrFS@G;83?W}W$7O{O#ID(42k-RKG@ zASaqN?C&n6_PGB1e6PSE>YzM#kMsH?1`>h$+NcSXC49MXbkhe=FVz8~GFsx-Ae+MV z8W~Bjq0PKxchIgGCOVHj^{G3^(ysUgmE^XT> zfGccb@Ul()IH5YmHmapxnxN@b!jA(e7Fe9qK2%ei=HyU;y=jS zzD*Zf`$7m{80*O`T2q1*3}4~z9QrfXs~%z*dk)ljMnq(6n|8*rl1Q|3Gql{==K%1; z96wBy^6#T5gpjep#}rHMT{UWzDFIn=ZW*^^{=~&f z@)RNC;}cHOr?=h7LA=y=f}$Ou7AFVyDtH3tcbo{Se#6%F_(!MT)4{C386%q>6X-Lc zdqcH=<$0jMBHZ$C66gwLIRiS9&&fG7%qcI^JR082zQ6NfalUH`I)ou6B58_Ro%cui zlR%G@&YoH2$;)LT`=bQ_{Dkon98i=e*V^$r%<_Ysr@U7uZ zyo6hCy}>o}D}4D`vT?0t-G?XKF!}{EBsScGNyPyPoX#ES((S-aNBOQv9;cf2;QV*B zZ=ULbqhHEm!7I=ZFKwKg{U1RpYV`|CZxT1OPwj+J4b#gAjZV@I93e}3D^HSBVf|-p z6hWNt!PRo%kgW9(8rpZOdcYxSUBFhw7WGsNdZ+OfKRGRnh(L=>HUyh9&(Gpc^@Fl~ zQ-Ag}JtSRA-@6P+r9d);PqP~NZ$2=~DNB7glJOK>}6WL%D?$(yciIVS6ZeG6d2t73dw~BbDeNT*%!@ z1$7&MR&~N1`%bPF&Uqe*wZ$%t&6Pp~9^X{BikzEwBJM!B1MYgz=%(*aT`(>@zDC%D zR<=rx=8Xt$9}!9(1HR|MNTiS2nOPjoD4+6H4M1Kdcs82UNa*eq+PTe7XRhf9byX>>sPF;4B!?boiwSEUT&h(C(5#F`;N$%QuU zPGiF1zEmL_xf3|L8x!6Bk!B0MQ#6hp0L4fZspGE3@K~;SP6^U3HAh;rIRZK>iropG zmG@1HTC#$UT1!@1{-KjySLP$GY8;9}|7x}codDiRok2gsjFpo`Bw;NeW8gq*eY38s1aa(Vh z`saTuyt}ftyC_C}x66YyZq1?H8_=NbWets#JyuTuAxnYISBlCn9XJtglGJ-{a3*O4 z+{jRwwo)GpNC;WbfcFp_4>vlZY7I&(>YI=Nz)MSS?49i&{T*%VP)qxH35K^`s^9tV*kH zrmlWDSX3jbQvXQlOvw$Mc$O-D{O7KQrMT3EvSSxY(~}~h<~)q{tsyJ zs{&zYcMFFw0QVNx&RTI`g%ks=n)oj_tPGp@I=QPLW#f7uc}Y8%ns+q*SmW{A(c7S0 z0VJ%0DBR(@88V}n+7VA}(^SLk6}%M_*1F%RUC`8uhJ@AREg^#w6HlBeT*!lwQl8EF z*)9+Ib8x1ybyNAg43N%(ll#7m$@ed0)I(EgN0*#$1FX@nTIs?kKIz?k!7mIo2_hD5 zh8-zJM4o38>&1jalmX@4b&u8(Jj3}xxwK2K8UPj*1Z)#_i~H}1PZO{rB;3|V2SS)U zs8`lgqc-eh+p*&BL906cd(cY@Np&DDLXV@}6us}fp!6%UWuVK(+*t1E&I)*W? z_d5(6M0kN?^e1EWf2e*R;|Cg4z20YOZ|zm?qYv+-q+0<~(tM{p%f)#~R>kMUHuc0= zujqL3gJ>SLM%o!`ZbHiiPhkgcpr^kGa^3Bi@^_cP&UR5LUg%#**R1&l&I82X<05OhGtU?K$+!kcudY6~og1Az=b4#(ug4cJ|fKEvJo@stBg zdssT3*Op9jX6|=eOo*Q^*c@PMbemwt8Y~zCb0{Ae(EU8gC-~;bY?NCsKqjt+gX?{M zHXr&kXwZO?g95&C2Gg&dwA%YPzr}VFx5#I%5(b+fNG%C4Dma<4iorU>6Ek441r6M|} zCnN%Yq+DgH5OMUmvZN2TDU|9g6_Np>csaoLJq-(0IR)RaZ&Slkt-m$NDcs|_^nU&V zbE!VF#bzr~x(wq5P9WwTXFW!%MXv7fok5%`P+YUKGp#&(Pgd8*JQk^C>TheE(p56u z@Q1UI+;hFvCC+A` z@(~VetS=2x?ri0Jz~G};$93MAu!?Jbp`*r%`y`x2(8qoH>I>wr$)8NIF2699Y*Dx& z2axbblO6dE6B--4< z>_V^$u5nHwn7N(GH{`~MAx&}|V}|tUFRq)66E~z=xs{v?uwvOwvA|G6A(RSEs05i$BQ9r`&-4h^W!CA*zbtF@{tWznnc0oW$Dwk4i z)KyVbuh6h5kt1^LJN;{Zmeh`%LI`*U&7Sx(G}|tO8+(m->b>#qDN=l8Ja8i?ritDZ z8PFz;JH+eJn=ZIIqav$a*m+r(@tb5qk4QC}{ikC0C!hqQ&L`UHl)2-Z5^<)?T$g*? z``xk#6v;)!4hv`qMic{}f&|@S?X(f7isLJgn=#e}s~aPO#}wE1f+oI~g6OuvRfoIb zQo2($PB=1{i~NFWvWb z?!@Ndho_bh*B{fcS~A{hqw;aMl3`+b$6+J8bN zDL%EqMR&3D5e{w6LQ;F7+lMoJy2kWVbdhchO&pQto-3N&Lm6Tmb@GkY458PDtz1*l z_?J8W=|A{O=puG|;yRPpcdRZM3HL`}so_GtTQneWo?aU|7jA{__WlX_>@Q^{sHoo7BT>qvBQCV2I?mn(li0(>{=;mtn%AkGsjYqWhuMiLG6Ag|6l7Gz)}Khz>D0xPfSI_pI7%NxcL z#DwYgJpOd`mvn0vRNU$Qf4AK70?48seh5ZHY?w<$tY)uh#Fk8BSew;I@nH#kJ856} z1}~$#LL(0Ci#4TB8gGxLi9_I5t|C|F_foJ1m=oL|-aIB)4VB9zkRsDR20<0e77OHK z^2DSNwoyl&4jAscThg8{qEHYGcpVpCde2bT-1IsqsEI(B)dt?^soI|e4HXl@`C9M7 zNnT;%SK{7bq25O?rZC;5+1j-WS_NGWlI(1NNE@>r%J8=gz)Hy!B|z0fYqM~Sc7Xk> ze$YT&7vk`nl%%V-%v7@9s?4}(=#iRdjg)Fiw^4VWa@nREqEiF1G^*VAvVRz=YC_$w z>_bHbGD>liQ;4}bQQsb0W^1Wg*yB4XnvWnLd!B}Kl89R4r~2wu;?JhocNWxaxCi?2 z2Y(vL7h)In=QcaQN$>qL>Rp;v@-ry$vFs%eph#r3v1&V!;UBPN-p#x^>ie2)VMFvY ziUL(*x`bk7R?TJ)AALx<_a_CN(dHj(DH0cwo!;s?Mi$hgd6Ry+Y zq*lJjC^qj&1K2%Nsk4!g;*1N#cy08KWpNBUYFIs9sWy;B%hl39b|XG=3So@xn2`&Z zmPZ@bCjPmGBm>8+PpSo43CUdb^dKA5U7T=4&64Us>jl|Bu;OMYtht6?UJh&m$7v88 zgnPZEU$Kjji-kpnFwyZOXs-eNX+sSoC}Uf^8rFY1PrcwMgH@AmmcoHb<@Ie7V7hT{ zdW(uyGSe2=m>DaT$zqmUAQ*@pUz_A1#W_Wx*o_F0>RpgzCXD32NDHlrD9ceu?kc_8 zW)eHmL-0TW8P3u=9bf4?J6e%+xkbpm4Ex1#S9Qy*ox^j6V4|#$#1D&+MV7{|mX1N@ znB)aq0X9e+K2FsZ*)g&d-}98lFUAReMxDoWRg;S4EWtrVRILV>&QGOSA-@_83HE?ezZ$=@g!Y{B>< z0A2Z3INnaQkA!n>2<$voU|pve%=!yw9}q$QsXENfDoP0#IGmuatDcmqc;3c{1eUI! z-7kt2#SC0RR$0|c2Xof@7#cnV$4(}w$7`3is$gc*k1;&d9g=_KDY#nZ9Yd`@s=b&W=X!NBZ#0`n}#^$a4}QrMrD5c>;D5_YXJU z`aD!8<=H1pU4rSg# z9wX*M0Hmlg8Zid^k##E}l8tUEp%OX%g~>wdd%N>;TFkDSevWt^9d3ua>uJ$6o16L} z4Ya2&-lAvguNznaPV0&~2Y^mp8QitYqb5;{@J_{tzCs$*VZzcvdra9}K zm>*-ie#e4E9mJ9-u^;v1qpQ~`k=rZiL#>Qspshw))_~vRRxX#K;4vGkg`5ts>Mb)1 zxXYIdY;zZ8txC1C_;Gw$DySoyUE?oNs^nNVxXi94}#-dt8qLg00-+1 zE&ao0QAP=XvVVxcZj)Ha3r6Yp>;~BsoZyZbkD~VRpke8Rkm~&QM~)%m9a*Q3X>D?R zekDf3TtHv@fRpZU8ELu7hKeFf=nl)ulbm*hxN(nVwSGe4ke_({D8Lt1Y63 z*7hIUI|%I=pkogLngQ_hR3f6f=%dS>fgeo)#+bJ0Y#L!I&FJ|QO4cur;u^Fgw4y?p zN9zJ|H-v4eNcY@H#hWq__*%yqXkYzk0A(A=lRW5eAyemDVs51dJT;3BAO*e%KPKQub_UwpZMc*H z214K~>nzl-vXpw{61J|AI&eK<)L%Rs4 z-{@tIj>}x%<#zJ(w0|>^_8eUr*uhJRpOj?G%Q=UeHd&ol@w=R&Q_qmgUjwx69IOJi zW7{j&)QSEkXpTsihxg|Xo`$@qapH{AeW=Lpj+{F7sp?m2Lxk6PQe3q1pKAtGeMLap zd?&WKttx=2x=bWM^})$FD%cfvUqEEE?r%<2e?4x`TwFf}@@yBd@36tKds*c&hg4<- zIM{+-?DNZyBPt1xWkVWjl+P&2p%o0YH;K#3))UYqJ<-07$hgpI9wvPf0GZnfM>Ubf zOf`&CyrAOlTb^>pfE2MCC31;s?yo5My*!GJ9}&2=>mXVHD+EGg$Zn)uK3-vni2-Lv zGK*9$NK8u`rQpaVU%{}`ho3H+@!qikGQ_5cnH`DHC&Emk~;W+(UzEP z-q2Xq_rP-BOz*rX3oZ`0fdJCh?v&H8XZqVaPA|YmZcZqIm>C1BsOclr zVwfs1^+j8H_W1r+K#{52xXevU$I;8=e*m(c_iHpi`@E&24&9Z;w&=3mA_Xm_j{6RF z1VpKS;a8*luBlzU=Bg3V^=ad72z zt@mm@E70|&0niL$hNuDcuuk znloUhd}~GOY~5@Y-bY{4>=V{s{#}VaB`N%jRbiCb9x77ikR0nqk`7(7^J5n~^-0&u zSD1np*g#UDNv<6*P8$sI&2290(qpN5ei7C!e$%;P}jt9J|%SfK86~cK*AHOwbyeJKx9_7>86jj?rlw51B(~q>|nX#0aRX7P4~9aLk7PofP^ZZ zN}~*-7sosb!9Gk86qm=R&2dkxlPk=^41mduf-h9$rH6W!D%$He(kmLSK+<_(TK4EY z^3NI&9Z%4cgSq%-`auhNXttx(HS&DFvV%)&!$M~EK3#yz`^)Z^ZkKheZ)Yol)JWK` zLBo7Mfy}qDeF8>9g!t|#;Os=Ywpy@I_&zgwuwtK{;$h;PWlrDS1L}E+o6ij=qggo3 zeGle07W15;zdtVEAqC_%eiy!Q&3Ut45X&9!9vj;EJ^_GLi_oEh1klV$<_@r}4KQ+f ze2FXm0u>oQ;D8c&J(`t^0Es4^JJ7BU_GF==APM)CRlwsAwfMK4y_CIICqm8$pYpTz z&L1N=ySAI3f+OEpW7@t}3#wtd7yRiU_>iGIz?MY9h46`2fElYIZ!AF(2p_ZOmX|XR zJ+dAO3z%72yPTmP1WV0n@1g5R#uJ}#YXO4mEHYheNtU&VO|Ybv7YulxkylV#Zk?$KbCrs6=fKq9=Nyp2(;#ZeLSF-l* z6}wuO;Zdnlv<9o?ZqC(}CLGWzvvr^^Y8r&oJuV`1B;L=ekF;zGZXz@H8S6(0@@OE> z(n)m(kAf z)2mU_y=Lq3uQQ;C3|m@ZLRxm|q+zXC(WMofylUcq(xu)rVms2+q39}3+;FAqQ+T|d za@6SeYXrsGbbw&J=Q_Yj3D=k`Yn$6LS3Y*Iyj6avncmzFY+0HeCQDe@W+5RqUchVv z1I*E0fUt^M8_FeWGe$LwZg`%hmE%GbCCMNsQ9-If$#!>aYN)}#b`SN@XI18Lf5udM zn~p8{SaJ>3O!YB#EduGJ!`BHWvlJ`2moxdtC1KKa!u(0hBP<{^BKO4 z$0v#sH|waPgagE@RudzN@@g=a>aAM@K+WoY-+8Z@mI(n< zVnJ)EaX8Wt;1gp$O*hpc9CP-^6ONV+vyML%_X4-~wM#3J`bhB@ea}50fkT3l76paU zVjheQ#Ou_96j3yLpiMaWBGyE4(EtcTVERB8+m;hZ81q2xqXxh#N+g+#1+=(8j`Zx zf4SisJCsdFQP`lh?;0(LMTMnP@{@K*=@gp{4R`Wi@8ZIkQ1FIPMqJ=zJL(O53n{vvaW95g`W-ovAl z1ZuRcwtV(NVprux&tXAc0kw&JH+vNbMF)mz;WBIi19S6#w7#bC$tBzea{R~%C{U@k zPwkL-6Kk|N@}g-ftmRqB4z1E@we>%<*Ckb|P|GqmS?f7wF(c~9fW1;YrPZ%T=pWB3 zvPywR+WI}Lnu*uH!FDE!}*>MOg&q^QgF`o z+Gp z+&_s3uw&_ve-Sl`dP}hHd=W{3&2;Vx03Dhb^7&;DV8=t((QwID-p9J0H7sEJ$8)Fe z(`MYDYIJHn(wUW(uxM&KDgv%@HM^7)ZTMDn{&7f8hZ^Wt^+zzY ze-2sfbal9y!F7@JsRCGSK-Jh~Wv~7xiU}d!Ov|Djbph5ZrCwV{` zc&RIxSP6j*OW8V`zOea}&e(xu-Q&RaaI*zmgsu-bv29rikF|8}y&JEVMh1VZ zj7KgA0M64=b`w}5H)#_}BUVxf_MHb2ukp3AKiudlcQbooZ*ujBETr%`Q2FNB)1yl= zb5fS)=Gl&a9J}T=gq;;p;kd*J!#gV2y~xS;qz@-k)4n?rBftHp+BXq`62r%Lj0#fH zE(qGb0v{MO-!9@lI|@I@Dfv+3^#hfUw6+)0z?l4?M(tS>-k9fPrIm)0z*E{a?pQVMm1n$|h8PN46u^7gq;>Neb{o50-D%W>8`0wP7G>sJYnk64 zidPG(VVQBc;vtpkE-#C#RB!I+CBLso5fet=h%m!k2P*=+=Z(i(uVDPJ)q(mj>gfS;?nm^@pQ){**&Nl*w zC13;N^Uea(RHqNpj~^i!&~n>T!wYOWi0Bx;>V4&ApI2sr)KORh+-o?=qTJ#xC6EQH zm*+b*?yI9P43UI_1W2K-;!2f=xr9*+O@90C*XR6k*&^(sGlyEK=oFb z-Uy)Ktcd=uAyauVf+djoxTHqG&vR_U5rcYyo1@@?R-noaDZ2KopcBHTBM_T)*)Kpp zZ_*{0Y>uj3LBeFln&cajY1Nk1xL&q9W_&mb{ano0&jM$!b z7V1K(z{ABivTu?-?Htt6F}3x5F$~W#*{H$hU4yKW4&7yBWF zpmaix)xOxbpZ=qm`E#fCS(FSjd6zZ6q4>vzp!-vE9@tPW1T+fN_6rIY7_!;kDS8}} z8?nqv(q$ih=5j03hy@S7r;BVbGj(^AU?zkm*Em{Mr%Gq3T;Rr^ygtZ+-hWFK@8o!m zJ-}nOW7`*Oj&Ae3zw5p&k-)AXr^2Z!i&g+Hov~&c zd|mdXNQ@+1xQ-PenUj5jqP+tyLKOlR)O4I=fy!h1V5~dJRlf?-*OP6g2`5=^RiB>t z5a)a?CbtMufWxhl2b}N~T>IaQOf?*_cpc?@xPSve3_w=Zt%h8z9`gK=Rf~-t-=5{^ zV-C;SLfPQ-Az@b-MAQdQL(V>Wn}aQ~*tYo!4b+b=DCku|)jZyk{)c0Us33-jvh$Tm zyBPGD4ZfovTb`KN*aUn*y?Nru8qQq}eb)ZdnMBwso41!*P5vZ) z!tv@38J(8M^n5MwvG==E*Iv7rkeD=u;*(R|E@`XartMME z3$i{^09dZQKA#@@-UG1N8o_Fr(MIy4fw8`p?$<_~>0P7Ih9A!yCw8Ies$YqmI9XsN zZ}Em+%bW#c{JU9RmIa`LkapCq+K^dm zrabGREd2+*;KRaG1hyJKv2)zoOe_}r85>tvUY{ZS6S~Pyk^?V zvZaUe%Ov%59;%p35p|_*$P8_|e(`_pLxqX=z#nKod3vIg?LcwYz4;+tmmHw|J2jp# z6~JR)?{6hP7UICjOP~X^1m>~BorH*Uz{5UR z>k8#Z=-ibm2H&QoW`G_Vm5%X;cZ=&#;i?ihNrPiL8xm}ZN#1!eMx;~(*W}E!7KKz3 zz-Kp#FS9|j*&-PHNHNiJE~Xr@!p=4Jti=soa&hC6Pl7XBFskrdYHOUQRU6Z2S~*j& z1xXlkGYFPetPrPM9cN#> zV>{23*yB@Et7W42zJ@LP4lHuqHFc=sDbgtyW|AIrQ5S5MLRop9Kby3V!VS3B#$PPjorGie>pPh=f7!(TAD zCF$)-bi+5%o*nCkt zjj*gyTORfb?9tDS^u{i15eXAIlg#)~p<&caP3Uh$O=Bw?jF}m~K_kSvu}l(NG3_PO z1q%Wo}_T96Ha5ab32R4|O-La@44o#9^Y|!u? zH46?Y$(s_*3d{jG?ZrlfR(y&Xfr5U&n=0s(ik0A4Rf%ayFdR)!I!Lk-Z5OM2o8(lt z{3lS{B9TGWGyY*@zVtyQs-`%qPScRNtO~t7ZIj^Z6Zs-Mw|Q;h1C^4}F{axw4w6O) zM}wtm0vDql>qigYBznJkj<_&?~mfPuk6|W9gnLM5x7h;*nnE_Bldw_N)m=;wjKmCr zuWS02-tcj@<@9A8QcoWhXdwA#llaTFo zOwww%FRbbh)%>f1?Q!A;?W7d0&+#s_g=(ukFPMujE$geu7Um*m4SH@PJXgUXp^VC5 zOTrccIeJ#P8*=iTf*R?XNED$X(<$E9rGx^3t2t>$3Cp?(ykCaYI(4N|ppSoQOo^gt zMVXJgv_mRIo%t#@zPswQHS~QHaz`Ll1Ia^rRcut?cM>ik-4cBK*PpU}<|{g?O0 z^>upcRnX_Kci$=_eezGE9k~Y?`}{z7aAT&;jXr}+amm^WhXcX(`sW|>X`Mhe4bQs= zEKz}CI~EM>dP_hLoA)lF6&7oeSMUo4c#{GaArR)8Eq0~1W2cwW@eyHpOyh`(w?Zz< z$huvd)m1QTmo*%@kVzXD(GEE+4$Rh7<>NaSq2>AM)Ncb<`JXs7>giLrhI8_=DZQRx ztvow0O6THIBXajJKWxuBQ$zA0hX@Gr8VCrl+$Xpoeg(CpWW)3S7@cHeYj7I z-#U(TF)E}3%JxzK!6&QI_usB+NqyIOvSN}7@}d@x_Y_aPi_mE5iifw#4`$8s8!Czi z>(XO;6EpCmf^`Q1)8`)Y-G8HQx0Sbbm{tw6LMd6G1ku6l4z8I*k<6)1VDwH?V^I^F z?z<8_&nmX{s3T1<$xo$O8YRG;n}>>C67g$=<#CQ5BipQl-De!xxEp*{*T(M3MqXk@ ztRQm1CrK?q&a`Jf77dxqEU|h?jMtKQ9Mx4TRnYLPRgF}z$Tl4ya%F#TK->-SciEo3 z@Ff-}I2h;g)6c9uyg1tnZ)jjnO8rGqQjp)c7yM+t7p4yanF((q!daF^vWcLJ{NP!JMAztu~VaYQzncIb)MX02_vf#*!3`h75uYC zK(zO$ux%jH-7yvhN?L>snvcr<#u}r7bzdA-W`~S-JpN8)?$hNQ#3E4nbBPkgjH`HQ z7ac56S)6Q(^G+Culq#BLx95cW63x~bG0A;om=Sz+$D`0+YQ+^210h;?)QVdH{3S3j z7mr4YqoHZ_xX2jU%ZS~ATTvR$=vQHAjkeZ>9JGx=ijqQ}gzkBnbC~G~PaEjof;|V5=eR2+7B)sur-ZVs%2mHhn-m;z(fj+68ui4u#lw6bocOT~e2S>9U#QCTbf* zJ^7Q$4HM2R8Rb=#hXo0TN;}e4r`!r0s8z$R=a#UcMK^|PrnK2LxBDH>+Wq&p_aKg$-GBSNOwv5V2|%a7O4ejm|;KTa@XB^J1(8Fuf1 z`b!<{U zkH?LEkcQU=1YG)h0x7MQWCH67Cp}k@PRURoTZb?zt7GmqsO$_Po6k6wo7Vy{v0IOl z6LRsC)_iwEQ((qVrv)1msLc(m1%+OpVnL_5&$U(wB45h5DkK(3 zNDFk!R1Bln2pcS{4b{CILz$bmngt%&WN~>l4w!up@QWhqa63A!0-1i1$gHquDakxA z^Vr}GmNw*6!g((oU~Y@l;$jea0DM)64!D?Q4<+dc^=nkMm^qG4>$Do))6M2aW4toF zoaB&;a|uE;R=l!D-R`H8&;UM7X1X%LuK zqciA-(L#*^i&Xt5)K!xMY@AqWvml}w$69gIp7Y(Jea)6G!#(e`7A^2 zE0X*OzOJnV=oq&ES9;-S<{ESoV)ll74t-t9#MrI+rP^MDK>anG7MbyPV$aKLkYy2_ z<|!aHVUX}nqRlpaQfn(eev1X;PXqf>SRdz^Hnq!g)-3Jh1E#rFQ?3;g_Tt1O7$9BY zU-LY8NK&p-kT$XGlV;>@9k9Nle@l^{SH30#1yQLMyX8u?TaxAI5MC06V|_GpKEV}d zE;SoX>YKHDpMpnxOe4tjuDH>y5M1|>z8eDe{kHNan6UFh2GPI+$V^`j&oMU$04+e$ zzedKkD7M<*zl0B{wjG$XCvqLfZ9jPyDN~HCMXk)Lh$%PVDX0%A@aGF?@?|!ZMoH(x zMkd#(F#=>|x3v~1mu?c`ebhFf{B|7)xG9l$bu1viC+`eiVrIKUqDo!|2;a$|O#q$O z#72$LfzlSH6?{dZ?dhqrvp@v#6cRNw>27}pC$8V<*Rzc&JU0|tU(=h2yxu-5^z z6y++=j~Kln)NsyrswVNkYMxn&bE;wWE$qkuRT#M>O7pYt6QZreW0C3xEB9d>)dODSS0o{{rl4_k$dIBrxQ+~CO7b)ir7 z=}w2k3WTl3VL&2XugfQunY-v3;L{1K6~mq13Mn3A07KOU02_B}juZv9UEffnoT`QE+jB#;Mj{)5Ng zIr>p*3+nK|RGyJ2I!PvvUGj!Fh3QU&wU70wmF9(YjmZ5J@DJw?4|4$6<)V8*VuB8V zRG2vNMYBu6cj|?y4ZXw{0O&CIJ}DHB3h*;eEGGLiV7E1XM-V|09r=|NulXeuzJ69qdj5-4 zsIQ(HoQ`dmICH7qGHSU)R-nPnLgyM{<>#aI^LDbA6aU-Fx64*BvLpX#vTeA1pipB1J!NkKe=GgXA6WbotUok1A}v)zi8|-uXM!$B z_G;@-n$6tP-VpU92I^6WJlC@)%ayy+$x?{IX-0gQjA!+cSch*xcElfr?Z_w4(nP7< z*zBRqVmf!^ExpG=b?&!dBW38B2WpIo7Hs=(%ZuqCVQn5ZK07%&+c8b;aY$VikD?Oi z+j)>WlQ!D%C8qNR({{3|(Ytl7njosf@vo?7FZ~@FF<}h0&2Ek?*un3s0->|yTw*kt zrkbp2%CDfbs?_y3u>{>n{K!Ni$uenBw^Dk=>SeKLZ8@g(CIg3Uv?7ky0=Vtvh9TkF8oyvW%QMeC`KZNT#3f{#M^L zi-cnnQUi23azNdCR9K)ki-{bk8bp|(Yi`1IwwQ2SnHs~uBylm>k{iTm5-8Q=$>SKw zd(Drj=+n6{gY;qe*rv1~06EjnN`p_P^!)Y!!rdn!7%Yq$h$b}jThT`1$jy6P*LvEH z5~~{3`>V6YbArhO!nP+gpt;PkT~!~Egm4t15Iu={Qe^1tNTgk}b;I3y7y68B9hm^5@(T)}C1G;d;v5Yk_`#ZNmrmQcc)~kLhK` z>J{@Amen@=Bea0*F|BP@GAVp-+y+58S#EhraD&sA2a-PYw!7djz0jZh$V1grtV>E} z@ntygP4bj^;YrGIO@ovESSU&TboP}|XH{UU06<7c}1-h(}^eB3YHq#PBe})yTOA+hYDWVF(kJDYqOMfK{j%@n(Ur8aLrLQ`Hmkrv)J4Mio8UBK%%L?O)@BH)%hH zBr$g#eIUE&2ZZFx%wB}W^ira+s7g?+#Z^5_F^+_71K-S>(g2Jchhn*P1vR`K&>y%6H65I&;F3qG9kPB5TKQxnHVualONDyW!R5lX zKr+yo1Sj1GEqowl&fk9C$ZyfR$j47_vbFw`okB?y0A?2mYs5tq^N-Nf5cnH6wk44} z-XSJdVmz^;>U?aMeUegLu}@(*`%lE2H#PqBsi|_iw^AwXsuz(`;!_Izx@;5jU{-Z0 zN#azC3ut>Z51+_d$Ig`^XE@Dlo_6LCt^6*5P?G^&gO8P0h~ydR#qzZ0-}*^4C{^np zy@$KjmmzDSFV@#@*}#qVYjlQ^u|%uKxy9`HO=%bqh3iakz@c5y`xgXJYJVYQa>T

    Ne{DmY7WI_d9!rqX&UR@7%Mv~Jm`S6GG4Q$hCnhP0&a_H_UM=Q- z9BNoHp=#?cj-yBXi{fxj=iqfte6;V^gez1{DG3mGUbUxlabr=gT9KXM)2~L!MZ?GX zd8yvJ_Ed>u>_jYnDeWi@m4a>u!ysWT)r72`nvQ{VzHld`u{)5RW!^66=Ei}5D2Rx&kn)9JdEy2nbm`gy5@U8TJqY^z=DF_nLh71`vkwHK%1KvN zLq!(u2jtT2mM_hQXoNZEaDP24p4|kit>)QCKScou5zEJs1}Anp)LXBs%fh|H`VSJj zHZV`qkFsD->;`Dr1(+zdq+OIJ^(_pk%&hdp`kG=6Ubm5h=^J?wIDaDu&6Vfn6ls>E zCm6JGe`!w`qmu&o|XFAos8wo=R`%0AO5(;IM%8ti|V5W-?G=!rt91dhM?d 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

    a&;r(paJ;zxST{3JjZYz#c3 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�)nCEM^dq%F{xM?9J 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 BigEarthNetDataModule: - bands = request.param - root = os.path.join("tests", "data", "bigearthnet") - num_classes = 19 - batch_size = 1 - num_workers = 0 - dm = BigEarthNetDataModule(root, bands, num_classes, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: BigEarthNetDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: BigEarthNetDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: BigEarthNetDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_chesapeake.py b/tests/datamodules/test_chesapeake.py index 2d4fd63a4ba..4dde9bbf428 100644 --- a/tests/datamodules/test_chesapeake.py +++ b/tests/datamodules/test_chesapeake.py @@ -2,41 +2,28 @@ # Licensed under the MIT License. import os +from typing import Any, Dict, cast import pytest import torch -from _pytest.fixtures import SubRequest +from omegaconf import OmegaConf from torchgeo.datamodules import ChesapeakeCVPRDataModule class TestChesapeakeCVPRDataModule: - @pytest.fixture(scope="class", params=[(5, True), (5, False), (7, False)]) - def datamodule(self, request: SubRequest) -> ChesapeakeCVPRDataModule: - dm = ChesapeakeCVPRDataModule( - os.path.join("tests", "data", "chesapeake", "cvpr"), - ["de-test"], - ["de-test"], - ["de-test"], - patch_size=32, - patches_per_tile=2, - batch_size=2, - num_workers=0, - class_set=request.param[0], - use_prior_labels=request.param[1], + @pytest.fixture(scope="class") + def datamodule(self) -> ChesapeakeCVPRDataModule: + conf = OmegaConf.load( + os.path.join("conf", "task_defaults", "chesapeake_cvpr_5.yaml") ) - dm.prepare_data() - dm.setup() - return dm + kwargs = OmegaConf.to_object(conf.experiment.datamodule) + kwargs = cast(Dict[str, Any], kwargs) - def test_train_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: ChesapeakeCVPRDataModule) -> None: - next(iter(datamodule.test_dataloader())) + datamodule = ChesapeakeCVPRDataModule(**kwargs) + datamodule.prepare_data() + datamodule.setup() + return datamodule def test_nodata_check(self, datamodule: ChesapeakeCVPRDataModule) -> None: nodata_check = datamodule.nodata_check(4) diff --git a/tests/datamodules/test_cowc.py b/tests/datamodules/test_cowc.py deleted file mode 100644 index 8b6e974f35b..00000000000 --- a/tests/datamodules/test_cowc.py +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import COWCCountingDataModule - - -class TestCOWCCountingDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> COWCCountingDataModule: - root = os.path.join("tests", "data", "cowc_counting") - seed = 0 - batch_size = 1 - num_workers = 0 - dm = COWCCountingDataModule(root, seed, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: COWCCountingDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: COWCCountingDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: COWCCountingDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_cyclone.py b/tests/datamodules/test_cyclone.py deleted file mode 100644 index 843cc1656ed..00000000000 --- a/tests/datamodules/test_cyclone.py +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import CycloneDataModule - - -class TestCycloneDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> CycloneDataModule: - root = os.path.join("tests", "data", "cyclone") - seed = 0 - batch_size = 1 - num_workers = 0 - dm = CycloneDataModule(root, seed, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: CycloneDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: CycloneDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: CycloneDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_etci2021.py b/tests/datamodules/test_etci2021.py deleted file mode 100644 index b51e8daf1b1..00000000000 --- a/tests/datamodules/test_etci2021.py +++ /dev/null @@ -1,30 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import ETCI2021DataModule - - -class TestETCI2021DataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> ETCI2021DataModule: - root = os.path.join("tests", "data", "etci2021") - seed = 0 - batch_size = 2 - num_workers = 0 - dm = ETCI2021DataModule(root, seed, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: ETCI2021DataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: ETCI2021DataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: ETCI2021DataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_eurosat.py b/tests/datamodules/test_eurosat.py deleted file mode 100644 index a8a51cd7b53..00000000000 --- a/tests/datamodules/test_eurosat.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import EuroSATDataModule - - -class TestEuroSATDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> EuroSATDataModule: - root = os.path.join("tests", "data", "eurosat") - batch_size = 1 - num_workers = 0 - dm = EuroSATDataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: EuroSATDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: EuroSATDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: EuroSATDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_landcoverai.py b/tests/datamodules/test_landcoverai.py deleted file mode 100644 index 1d4f2e43150..00000000000 --- a/tests/datamodules/test_landcoverai.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import LandCoverAIDataModule - - -class TestLandCoverAIDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> LandCoverAIDataModule: - root = os.path.join("tests", "data", "landcoverai") - batch_size = 2 - num_workers = 0 - dm = LandCoverAIDataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: LandCoverAIDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: LandCoverAIDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: LandCoverAIDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_naip.py b/tests/datamodules/test_naip.py deleted file mode 100644 index 5f9d676f2ba..00000000000 --- a/tests/datamodules/test_naip.py +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import NAIPChesapeakeDataModule - - -class TestNAIPChesapeakeDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> NAIPChesapeakeDataModule: - dm = NAIPChesapeakeDataModule( - os.path.join("tests", "data", "naip"), - os.path.join("tests", "data", "chesapeake", "BAYWIDE"), - batch_size=2, - num_workers=0, - ) - dm.patch_size = 32 - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: NAIPChesapeakeDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_resisc45.py b/tests/datamodules/test_resisc45.py deleted file mode 100644 index e1b9baa83f5..00000000000 --- a/tests/datamodules/test_resisc45.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import RESISC45DataModule - - -class TestRESISC45DataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> RESISC45DataModule: - root = os.path.join("tests", "data", "resisc45") - batch_size = 2 - num_workers = 0 - dm = RESISC45DataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: RESISC45DataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: RESISC45DataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: RESISC45DataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_sen12ms.py b/tests/datamodules/test_sen12ms.py deleted file mode 100644 index 7cd6df73857..00000000000 --- a/tests/datamodules/test_sen12ms.py +++ /dev/null @@ -1,32 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest -from _pytest.fixtures import SubRequest - -from torchgeo.datamodules import SEN12MSDataModule - - -class TestSEN12MSDataModule: - @pytest.fixture(scope="class", params=["all", "s1", "s2-all", "s2-reduced"]) - def datamodule(self, request: SubRequest) -> SEN12MSDataModule: - root = os.path.join("tests", "data", "sen12ms") - seed = 0 - bands = request.param - batch_size = 1 - num_workers = 0 - dm = SEN12MSDataModule(root, seed, bands, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: SEN12MSDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: SEN12MSDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: SEN12MSDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_so2sat.py b/tests/datamodules/test_so2sat.py deleted file mode 100644 index 2f732306901..00000000000 --- a/tests/datamodules/test_so2sat.py +++ /dev/null @@ -1,33 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest -from _pytest.fixtures import SubRequest - -from torchgeo.datamodules import So2SatDataModule - -pytest.importorskip("h5py") - - -class TestSo2SatDataModule: - @pytest.fixture(scope="class", params=zip([True, False], ["rgb", "s2"])) - def datamodule(self, request: SubRequest) -> So2SatDataModule: - unsupervised_mode, bands = request.param - root = os.path.join("tests", "data", "so2sat") - batch_size = 2 - num_workers = 0 - dm = So2SatDataModule(root, batch_size, num_workers, bands, unsupervised_mode) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: So2SatDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: So2SatDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: So2SatDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datamodules/test_ucmerced.py b/tests/datamodules/test_ucmerced.py deleted file mode 100644 index 8dd7ab83360..00000000000 --- a/tests/datamodules/test_ucmerced.py +++ /dev/null @@ -1,29 +0,0 @@ -# Copyright (c) Microsoft Corporation. All rights reserved. -# Licensed under the MIT License. - -import os - -import pytest - -from torchgeo.datamodules import UCMercedDataModule - - -class TestUCMercedDataModule: - @pytest.fixture(scope="class") - def datamodule(self) -> UCMercedDataModule: - root = os.path.join("tests", "data", "ucmerced") - batch_size = 2 - num_workers = 0 - dm = UCMercedDataModule(root, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - def test_train_dataloader(self, datamodule: UCMercedDataModule) -> None: - next(iter(datamodule.train_dataloader())) - - def test_val_dataloader(self, datamodule: UCMercedDataModule) -> None: - next(iter(datamodule.val_dataloader())) - - def test_test_dataloader(self, datamodule: UCMercedDataModule) -> None: - next(iter(datamodule.test_dataloader())) diff --git a/tests/datasets/test_cowc.py b/tests/datasets/test_cowc.py index 209988d84d5..87bec26af27 100644 --- a/tests/datasets/test_cowc.py +++ b/tests/datasets/test_cowc.py @@ -45,14 +45,14 @@ def dataset( COWCCounting, "base_url", base_url ) md5s = [ - "a729b6e29278a9a000aa349dad3c78cb", - "a8ff4c4de4b8c66bd9c5ec17f532b3a2", - "bc6b9493b8e39b87d189cadcc4823e05", - "f111948e2ac262c024c8fe32ba5b1434", - "8c333fcfa4168afa5376310958d15166", - "479670049aa9a48b4895cff6db3aa615", - "56043d4716ad0a1eedd392b0a543973b", - "b77193aef7c473379cd8d4e40d413137", + "7d0c6d1fb548d3ea3a182a56ce231f97", + "2e9a806b19b21f9d796c7393ad8f51ee", + "39453c0627effd908e773c5c1f8aecc9", + "67190b3e0ca8aa1fc93250aa5383a8f3", + "575aead6a0c92aba37d613895194da7c", + "e7c2279040d3ce31b9c925c45d0c61e2", + "f159e23d52bd0b5656fe296f427b98e1", + "0a4daed8c5f6c4e20faa6e38636e4346", ] monkeypatch.setattr(COWCCounting, "md5s", md5s) # type: ignore[attr-defined] root = str(tmp_path) @@ -116,14 +116,14 @@ def dataset( COWCDetection, "base_url", base_url ) md5s = [ - "cc913824d9aa6c7af6f957dcc2cb9690", - "f8e07e70958d8d57ab464f62e9abab80", - "6a481cd785b0f16e9e1ab016a0695e57", - "e9578491977d291def2611b84c84fdfd", - "0bb1c285b170c23a8590cf2926fd224e", - "60fa485b16c0e5b28db756fd1d8a0438", - "97c886fb7558f4e8779628917ca64596", - "ab21a117b754e04e65c63f94aa648e33", + "6bbbdb36ee4922e879f66ed9234cb8ab", + "09e4af08c6e6553afe5098b328ce9749", + "12a2708ab7644766e43f5aae34aa7f2a", + "a896433398a0c58263c0d266cfc93bc4", + "911ed42c104db60f7a7d03a5b36bc1ab", + "4cdb4fefab6a2951591e7840c11a229d", + "dd315cfb48dfa7ddb8230c942682bc37", + "dccc2257e9c4a9dde2b4f84769804046", ] monkeypatch.setattr(COWCDetection, "md5s", md5s) # type: ignore[attr-defined] root = str(tmp_path) diff --git a/tests/datasets/test_etci2021.py b/tests/datasets/test_etci2021.py index 89750dd0d1c..232fcd88976 100644 --- a/tests/datasets/test_etci2021.py +++ b/tests/datasets/test_etci2021.py @@ -36,19 +36,19 @@ def dataset( metadata = { "train": { "filename": "train.zip", - "md5": "50c10eb07d6db9aee3ba36401e4a2c45", + "md5": "ebbd2e65cd10621bc2e90a230b474b8b", "directory": "train", "url": os.path.join(data_dir, "train.zip"), }, "val": { "filename": "val_with_ref_labels.zip", - "md5": "3e8b5a3cb95e6029e0e2c2d4b4ec6fba", + "md5": "efdd1fe6c90f5dfd267c88b86b237c2b", "directory": "test", "url": os.path.join(data_dir, "val_with_ref_labels.zip"), }, "test": { "filename": "test_without_ref_labels.zip", - "md5": "c8ee1e5d3e478761cd00ebc6f28b0ae7", + "md5": "bf1180143de5705fe95fa8490835d6d1", "directory": "test_internal", "url": os.path.join(data_dir, "test_without_ref_labels.zip"), }, diff --git a/tests/datasets/test_oscd.py b/tests/datasets/test_oscd.py index be61d08b8e0..a8e497cbc8d 100644 --- a/tests/datasets/test_oscd.py +++ b/tests/datasets/test_oscd.py @@ -34,8 +34,18 @@ def dataset( monkeypatch.setattr( # type: ignore[attr-defined] torchgeo.datasets.oscd, "download_url", download_url ) - md5 = "d6ebaae1ea0f3ae960af31531d394521" - monkeypatch.setattr(OSCD, "md5", md5) # type: ignore[attr-defined] + md5s = { + "Onera Satellite Change Detection dataset - Images.zip": ( + "fb4e3f54c3a31fd3f21f98cad4ddfb74" + ), + "Onera Satellite Change Detection dataset - Train Labels.zip": ( + "ca526434a60e9abdf97d528dc29e9f13" + ), + "Onera Satellite Change Detection dataset - Test Labels.zip": ( + "ca0ba73ba66d06fa4903e269ef12eb50" + ), + } + monkeypatch.setattr(OSCD, "md5s", md5s) # type: ignore[attr-defined] urls = { "Onera Satellite Change Detection dataset - Images.zip": os.path.join( "tests", diff --git a/tests/datasets/test_so2sat.py b/tests/datasets/test_so2sat.py index 7df9fe5dd2b..5229ea14bb4 100644 --- a/tests/datasets/test_so2sat.py +++ b/tests/datasets/test_so2sat.py @@ -24,9 +24,9 @@ def dataset( self, monkeypatch: Generator[MonkeyPatch, None, None], request: SubRequest ) -> So2Sat: md5s = { - "train": "2fa6b9d8995e3b6272af42719f05aaa2", - "validation": "fe3dbf74971766d5038f6cbc0b1390ae", - "test": "87d428eff44267ca642fc739cc442331", + "train": "82e0f2d51766b89cb905dbaf8275eb5b", + "validation": "bf292ae4737c1698b1a3c6f5e742e0e1", + "test": "9a3bbe181b038d4e51f122c4be3c569e", } monkeypatch.setattr(So2Sat, "md5s", md5s) # type: ignore[attr-defined] @@ -57,13 +57,13 @@ def test_getitem(self, dataset: So2Sat) -> None: assert isinstance(x["label"], torch.Tensor) def test_len(self, dataset: So2Sat) -> None: - assert len(dataset) == 10 + assert len(dataset) == 1 def test_out_of_bounds(self, dataset: So2Sat) -> None: # h5py at version 2.10.0 raises a ValueError instead of an IndexError so we # check for both here with pytest.raises((IndexError, ValueError)): - dataset[10] + dataset[1] def test_invalid_split(self) -> None: with pytest.raises(AssertionError): diff --git a/tests/test_train.py b/tests/test_train.py index 786dd6ad9fe..5b853caa130 100644 --- a/tests/test_train.py +++ b/tests/test_train.py @@ -132,36 +132,3 @@ def test_config_file(tmp_path: Path) -> None: ) args = [sys.executable, "train.py", "config_file=" + str(config_file)] subprocess.run(args, check=True) - - -@pytest.mark.parametrize( - "task", - [ - "bigearthnet", - "byol", - "chesapeake_cvpr", - "cowc_counting", - "cyclone", - "landcoverai", - "naipchesapeake", - "resisc45", - "sen12ms", - "so2sat", - "ucmerced", - ], -) -def test_tasks(task: str, tmp_path: Path) -> None: - output_dir = tmp_path / "output" - log_dir = tmp_path / "logs" - args = [ - sys.executable, - "train.py", - "experiment.name=test", - "program.output_dir=" + str(output_dir), - "program.log_dir=" + str(log_dir), - "trainer.fast_dev_run=1", - "experiment.task=" + task, - "program.overwrite=True", - "config_file=" + os.path.join("conf", "task_defaults", task + ".yaml"), - ] - subprocess.run(args, check=True) diff --git a/tests/trainers/test_byol.py b/tests/trainers/test_byol.py index 304d4a5bf17..bb661d185ad 100644 --- a/tests/trainers/test_byol.py +++ b/tests/trainers/test_byol.py @@ -2,22 +2,18 @@ # Licensed under the MIT License. import os -from typing import Any, Dict, Generator, cast +from typing import Any, Dict, Type, cast import pytest import torch.nn as nn -from _pytest.fixtures import SubRequest -from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf -from pytorch_lightning.core.lightning import LightningModule +from pytorch_lightning import LightningDataModule, Trainer from torchvision.models import resnet18 from torchgeo.datamodules import ChesapeakeCVPRDataModule from torchgeo.trainers import BYOLTask from torchgeo.trainers.byol import BYOL, SimCLRAugmentation -from .test_utils import mocked_log - class TestBYOL: def test_custom_augment_fn(self) -> None: @@ -37,61 +33,37 @@ def test_custom_augment_fn(self) -> None: class TestBYOLTask: - @pytest.fixture(scope="class") - def datamodule(self) -> ChesapeakeCVPRDataModule: - dm = ChesapeakeCVPRDataModule( - os.path.join("tests", "data", "chesapeake", "cvpr"), - ["de-test"], - ["de-test"], - ["de-test"], - patch_size=4, - patches_per_tile=2, - batch_size=2, - num_workers=0, - ) - dm.prepare_data() - dm.setup() - return dm - - @pytest.fixture(params=["resnet18", "resnet50"]) - def config(self, request: SubRequest) -> Dict[str, Any]: - task_conf = OmegaConf.load(os.path.join("conf", "task_defaults", "byol.yaml")) - task_args = OmegaConf.to_object(task_conf.experiment.module) - task_args = cast(Dict[str, Any], task_args) - task_args["encoder"] = request.param - return task_args - - @pytest.fixture - def task( - self, config: Dict[str, Any], monkeypatch: Generator[MonkeyPatch, None, None] - ) -> LightningModule: - task = BYOLTask(**config) - monkeypatch.setattr(task, "log", mocked_log) # type: ignore[attr-defined] - return task - - def test_configure_optimizers(self, task: BYOLTask) -> None: - out = task.configure_optimizers() - assert "optimizer" in out - assert "lr_scheduler" in out + @pytest.mark.parametrize( + "name,classname", + [ + ("chesapeake_cvpr_7", ChesapeakeCVPRDataModule), + ("chesapeake_cvpr_prior", ChesapeakeCVPRDataModule), + ], + ) + def test_trainer(self, name: str, classname: Type[LightningDataModule]) -> None: + conf = OmegaConf.load(os.path.join("conf", "task_defaults", name + ".yaml")) + conf_dict = OmegaConf.to_object(conf.experiment) + conf_dict = cast(Dict[Any, Dict[Any, Any]], conf_dict) - def test_training( - self, datamodule: ChesapeakeCVPRDataModule, task: BYOLTask - ) -> None: - batch = next(iter(datamodule.train_dataloader())) - task.training_step(batch, 0) + # Instantiate datamodule + datamodule_kwargs = conf_dict["datamodule"] + datamodule = classname(**datamodule_kwargs) - def test_validation( - self, datamodule: ChesapeakeCVPRDataModule, task: BYOLTask - ) -> None: - batch = next(iter(datamodule.val_dataloader())) - task.validation_step(batch, 0) + # Instantiate model + model_kwargs = conf_dict["module"] + model = BYOLTask(**model_kwargs) - def test_test(self, datamodule: ChesapeakeCVPRDataModule, task: BYOLTask) -> None: - batch = next(iter(datamodule.test_dataloader())) - task.test_step(batch, 0) + # Instantiate trainer + trainer = Trainer(fast_dev_run=True, log_every_n_steps=1) + trainer.fit(model=model, datamodule=datamodule) + trainer.test(model=model, datamodule=datamodule) - def test_invalid_encoder(self, config: Dict[str, Any]) -> None: - config["encoder"] = "invalid_encoder" + def test_invalid_encoder(self) -> None: + kwargs = { + "in_channels": 1, + "imagenet_pretraining": False, + "encoder_name": "invalid_encoder", + } error_message = "Encoder type 'invalid_encoder' is not valid." with pytest.raises(ValueError, match=error_message): - BYOLTask(**config) + BYOLTask(**kwargs) diff --git a/tests/trainers/test_chesapeake.py b/tests/trainers/test_chesapeake.py index 920936802a7..377d4a85e35 100644 --- a/tests/trainers/test_chesapeake.py +++ b/tests/trainers/test_chesapeake.py @@ -40,11 +40,10 @@ def datamodule(self, class_set: int) -> ChesapeakeCVPRDataModule: @pytest.fixture def config(self, class_set: int) -> Dict[str, Any]: task_conf = OmegaConf.load( - os.path.join("conf", "task_defaults", "chesapeake_cvpr.yaml") + os.path.join("conf", "task_defaults", f"chesapeake_cvpr_{class_set}.yaml") ) task_args = OmegaConf.to_object(task_conf.experiment.module) task_args = cast(Dict[str, Any], task_args) - task_args["num_classes"] = class_set return task_args @pytest.fixture diff --git a/tests/trainers/test_classification.py b/tests/trainers/test_classification.py index 4033f7bf5ee..f2c091c75ee 100644 --- a/tests/trainers/test_classification.py +++ b/tests/trainers/test_classification.py @@ -2,250 +2,136 @@ # Licensed under the MIT License. import os -from typing import Any, Dict, Generator, Optional, cast +from typing import Any, Dict, Type, cast import pytest -import pytorch_lightning as pl -import torch -import torch.nn.functional as F -from _pytest.fixtures import SubRequest -from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf -from torch import Tensor -from torch.utils.data import DataLoader, Dataset, TensorDataset - +from pytorch_lightning import LightningDataModule, Trainer + +from torchgeo.datamodules import ( + BigEarthNetDataModule, + EuroSATDataModule, + RESISC45DataModule, + So2SatDataModule, + UCMercedDataModule, +) from torchgeo.trainers import ClassificationTask, MultiLabelClassificationTask -from .test_utils import mocked_log - -class DummyDataset(Dataset): # type: ignore[type-arg] - def __init__(self, num_channels: int, num_classes: int, multilabel: bool) -> None: - x = torch.randn(10, num_channels, 128, 128) # (b, c, h, w) - y = torch.randint( # type: ignore[attr-defined] - 0, num_classes, size=(10,) - ) # (b,) +class TestClassificationTask: + @pytest.mark.parametrize( + "name,classname", + [ + ("eurosat", EuroSATDataModule), + ("resisc45", RESISC45DataModule), + ("so2sat_supervised", So2SatDataModule), + ("so2sat_unsupervised", So2SatDataModule), + ("ucmerced", UCMercedDataModule), + ], + ) + def test_trainer(self, name: str, classname: Type[LightningDataModule]) -> None: + if name == "so2sat": + pytest.importorskip("h5py") - if multilabel: - y = F.one_hot(y, num_classes=num_classes) # (b, classes) + conf = OmegaConf.load(os.path.join("conf", "task_defaults", name + ".yaml")) + conf_dict = OmegaConf.to_object(conf.experiment) + conf_dict = cast(Dict[Any, Dict[Any, Any]], conf_dict) - self.dataset = TensorDataset(x, y) + # Instantiate datamodule + datamodule_kwargs = conf_dict["datamodule"] + datamodule = classname(**datamodule_kwargs) - def __len__(self) -> int: - return len(self.dataset) + # Instantiate model + model_kwargs = conf_dict["module"] + model = ClassificationTask(**model_kwargs) - def __getitem__(self, idx: int) -> Dict[str, Tensor]: - x, y = self.dataset[idx] - sample = {"image": x, "label": y} - return sample + # Instantiate trainer + trainer = Trainer(fast_dev_run=True, log_every_n_steps=1) + trainer.fit(model=model, datamodule=datamodule) + trainer.test(model=model, datamodule=datamodule) + @pytest.fixture + def model_kwargs(self) -> Dict[Any, Any]: + return { + "classification_model": "resnet18", + "in_channels": 1, + "loss": "ce", + "num_classes": 1, + "weights": "random", + } + + def test_pretrained(self, model_kwargs: Dict[Any, Any], checkpoint: str) -> None: + model_kwargs["weights"] = checkpoint + with pytest.warns(UserWarning): + ClassificationTask(**model_kwargs) -class DummyDataModule(pl.LightningDataModule): - def __init__( - self, - num_channels: int, - num_classes: int, - multilabel: bool, - batch_size: int = 1, - num_workers: int = 0, + def test_invalid_pretrained( + self, model_kwargs: Dict[Any, Any], checkpoint: str ) -> None: - super().__init__() # type: ignore[no-untyped-call] - self.num_channels = num_channels - self.num_classes = num_classes - self.multilabel = multilabel - self.batch_size = batch_size - self.num_workers = num_workers - - def setup(self, stage: Optional[str] = None) -> None: - self.dataset = DummyDataset( - num_channels=self.num_channels, - num_classes=self.num_classes, - multilabel=self.multilabel, - ) - - def train_dataloader(self) -> DataLoader: # type: ignore[type-arg] - return DataLoader( - self.dataset, batch_size=self.batch_size, num_workers=self.num_workers - ) - - def val_dataloader(self) -> DataLoader: # type: ignore[type-arg] - return DataLoader( - self.dataset, batch_size=self.batch_size, num_workers=self.num_workers - ) - - def test_dataloader(self) -> DataLoader: # type: ignore[type-arg] - return DataLoader( - self.dataset, batch_size=self.batch_size, num_workers=self.num_workers - ) - + model_kwargs["weights"] = checkpoint + model_kwargs["classification_model"] = "resnet50" + match = "Trying to load resnet18 weights into a resnet50" + with pytest.raises(ValueError, match=match): + ClassificationTask(**model_kwargs) + + def test_invalid_loss(self, model_kwargs: Dict[Any, Any]) -> None: + model_kwargs["loss"] = "invalid_loss" + match = "Loss type 'invalid_loss' is not valid." + with pytest.raises(ValueError, match=match): + ClassificationTask(**model_kwargs) + + def test_invalid_model(self, model_kwargs: Dict[Any, Any]) -> None: + model_kwargs["classification_model"] = "invalid_model" + match = "Model type 'invalid_model' is not a valid timm model." + with pytest.raises(ValueError, match=match): + ClassificationTask(**model_kwargs) + + def test_invalid_weights(self, model_kwargs: Dict[Any, Any]) -> None: + model_kwargs["weights"] = "invalid_weights" + match = "Weight type 'invalid_weights' is not valid." + with pytest.raises(ValueError, match=match): + ClassificationTask(**model_kwargs) -class TestClassificationTask: - num_classes = 10 - - @pytest.fixture(scope="class", params=[2, 3, 5]) - def datamodule(self, request: SubRequest) -> DummyDataModule: - dm = DummyDataModule( - num_channels=request.param, - num_classes=self.num_classes, - multilabel=False, - batch_size=2, - num_workers=0, - ) - dm.prepare_data() - dm.setup() - return dm - - @pytest.fixture( - scope="class", - params=zip( - ["ce", "jaccard", "focal"], - ["random", "random", "random"], - ["resnet18", "hrnet_w18_small_v2", "tf_efficientnet_b0"], - ), +class TestMultiLabelClassificationTask: + @pytest.mark.parametrize( + "name,classname", + [ + ("bigearthnet_all", BigEarthNetDataModule), + ("bigearthnet_s1", BigEarthNetDataModule), + ("bigearthnet_s2", BigEarthNetDataModule), + ], ) - def config( - self, request: SubRequest, datamodule: DummyDataModule - ) -> Dict[str, Any]: - loss, weights, model = request.param - task_args: Dict[str, Any] = {} - task_args["classification_model"] = model - task_args["learning_rate"] = 3e-4 - task_args["learning_rate_schedule_patience"] = 6 - task_args["in_channels"] = datamodule.num_channels - task_args["loss"] = loss - task_args["num_classes"] = self.num_classes - task_args["weights"] = weights - return task_args + def test_trainer(self, name: str, classname: Type[LightningDataModule]) -> None: + conf = OmegaConf.load(os.path.join("conf", "task_defaults", name + ".yaml")) + conf_dict = OmegaConf.to_object(conf.experiment) + conf_dict = cast(Dict[Any, Dict[Any, Any]], conf_dict) - @pytest.fixture - def task( - self, config: Dict[str, Any], monkeypatch: Generator[MonkeyPatch, None, None] - ) -> ClassificationTask: - task = ClassificationTask(**config) - monkeypatch.setattr(task, "log", mocked_log) # type: ignore[attr-defined] - return task - - def test_configure_optimizers(self, task: ClassificationTask) -> None: - out = task.configure_optimizers() - assert "optimizer" in out - assert "lr_scheduler" in out - - def test_training( - self, datamodule: DummyDataModule, task: ClassificationTask - ) -> None: - batch = next(iter(datamodule.train_dataloader())) - task.training_step(batch, 0) - task.training_epoch_end(0) + # Instantiate datamodule + datamodule_kwargs = conf_dict["datamodule"] + datamodule = classname(**datamodule_kwargs) - def test_validation( - self, datamodule: DummyDataModule, task: ClassificationTask - ) -> None: - batch = next(iter(datamodule.val_dataloader())) - task.validation_step(batch, 0) - task.validation_epoch_end(0) - - def test_test(self, datamodule: DummyDataModule, task: ClassificationTask) -> None: - batch = next(iter(datamodule.test_dataloader())) - task.test_step(batch, 0) - task.test_epoch_end(0) - - def test_pretrained(self, checkpoint: str) -> None: - task_conf = OmegaConf.load(os.path.join("conf", "task_defaults", "so2sat.yaml")) - task_args = OmegaConf.to_object(task_conf.experiment.module) - task_args = cast(Dict[str, Any], task_args) - task_args["weights"] = checkpoint - with pytest.warns(UserWarning): - ClassificationTask(**task_args) - - def test_invalid_model(self, config: Dict[str, Any]) -> None: - config["classification_model"] = "invalid_model" - error_message = "Model type 'invalid_model' is not a valid timm model." - with pytest.raises(ValueError, match=error_message): - ClassificationTask(**config) - - def test_invalid_loss(self, config: Dict[str, Any]) -> None: - config["loss"] = "invalid_loss" - config["classification_model"] = "resnet18" - error_message = "Loss type 'invalid_loss' is not valid." - with pytest.raises(ValueError, match=error_message): - ClassificationTask(**config) - - def test_invalid_weights(self, config: Dict[str, Any]) -> None: - config["weights"] = "invalid_weights" - error_message = "Weight type 'invalid_weights' is not valid." - with pytest.raises(ValueError, match=error_message): - ClassificationTask(**config) - - def test_invalid_pretrained(self, checkpoint: str, config: Dict[str, Any]) -> None: - config["weights"] = checkpoint - config["classification_model"] = "resnet50" - error_message = "Trying to load resnet18 weights into a resnet50" - with pytest.raises(ValueError, match=error_message): - ClassificationTask(**config) + # Instantiate model + model_kwargs = conf_dict["module"] + model = MultiLabelClassificationTask(**model_kwargs) - -class TestMultiLabelClassificationTask: - - num_classes = 10 - - @pytest.fixture(scope="class") - def datamodule(self, request: SubRequest) -> DummyDataModule: - dm = DummyDataModule( - num_channels=3, - num_classes=self.num_classes, - multilabel=True, - batch_size=2, - num_workers=0, - ) - dm.prepare_data() - dm.setup() - return dm - - @pytest.fixture(scope="class", params=zip(["bce", "bce"], ["random", "random"])) - def config( - self, datamodule: DummyDataModule, request: SubRequest - ) -> Dict[str, Any]: - task_args: Dict[str, Any] = {} - task_args["classification_model"] = "resnet18" - task_args["learning_rate"] = 3e-4 - task_args["learning_rate_schedule_patience"] = 6 - task_args["in_channels"] = datamodule.num_channels - loss, weights = request.param - task_args["loss"] = loss - task_args["num_classes"] = self.num_classes - task_args["weights"] = weights - return task_args + # Instantiate trainer + trainer = Trainer(fast_dev_run=True, log_every_n_steps=1) + trainer.fit(model=model, datamodule=datamodule) + trainer.test(model=model, datamodule=datamodule) @pytest.fixture - def task( - self, config: Dict[str, Any], monkeypatch: Generator[MonkeyPatch, None, None] - ) -> MultiLabelClassificationTask: - task = MultiLabelClassificationTask(**config) - monkeypatch.setattr(task, "log", mocked_log) # type: ignore[attr-defined] - return task - - def test_training( - self, datamodule: DummyDataModule, task: ClassificationTask - ) -> None: - batch = next(iter(datamodule.train_dataloader())) - task.training_step(batch, 0) - task.training_epoch_end(0) - - def test_validation( - self, datamodule: DummyDataModule, task: ClassificationTask - ) -> None: - batch = next(iter(datamodule.val_dataloader())) - task.validation_step(batch, 0) - task.validation_epoch_end(0) - - def test_test(self, datamodule: DummyDataModule, task: ClassificationTask) -> None: - batch = next(iter(datamodule.test_dataloader())) - task.test_step(batch, 0) - task.test_epoch_end(0) - - def test_invalid_loss(self, config: Dict[str, Any]) -> None: - config["loss"] = "invalid_loss" - error_message = "Loss type 'invalid_loss' is not valid." - with pytest.raises(ValueError, match=error_message): - MultiLabelClassificationTask(**config) + def model_kwargs(self) -> Dict[Any, Any]: + return { + "classification_model": "resnet18", + "in_channels": 1, + "loss": "ce", + "num_classes": 1, + "weights": "random", + } + + def test_invalid_loss(self, model_kwargs: Dict[Any, Any]) -> None: + model_kwargs["loss"] = "invalid_loss" + match = "Loss type 'invalid_loss' is not valid." + with pytest.raises(ValueError, match=match): + MultiLabelClassificationTask(**model_kwargs) diff --git a/tests/trainers/test_regression.py b/tests/trainers/test_regression.py index ed3af3a3b63..574c930e7d6 100644 --- a/tests/trainers/test_regression.py +++ b/tests/trainers/test_regression.py @@ -2,73 +2,40 @@ # Licensed under the MIT License. import os -from typing import Any, Dict, Generator, cast +from typing import Any, Dict, Type, cast import pytest -from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf +from pytorch_lightning import LightningDataModule, Trainer -from torchgeo.datamodules import CycloneDataModule +from torchgeo.datamodules import COWCCountingDataModule, CycloneDataModule from torchgeo.trainers import RegressionTask -from .test_utils import mocked_log - class TestRegressionTask: - @pytest.fixture(scope="class") - def datamodule(self) -> CycloneDataModule: - root = os.path.join("tests", "data", "cyclone") - seed = 0 - batch_size = 1 - num_workers = 0 - dm = CycloneDataModule(root, seed, batch_size, num_workers) - dm.prepare_data() - dm.setup() - return dm - - @pytest.fixture - def config(self) -> Dict[str, Any]: - task_conf = OmegaConf.load( - os.path.join("conf", "task_defaults", "cyclone.yaml") - ) - task_args = OmegaConf.to_object(task_conf.experiment.module) - task_args = cast(Dict[str, Any], task_args) - return task_args - - @pytest.fixture - def task( - self, config: Dict[str, Any], monkeypatch: Generator[MonkeyPatch, None, None] - ) -> RegressionTask: - task = RegressionTask(**config) - monkeypatch.setattr(task, "log", mocked_log) # type: ignore[attr-defined] - return task - - def test_configure_optimizers(self, task: RegressionTask) -> None: - out = task.configure_optimizers() - assert "optimizer" in out - assert "lr_scheduler" in out - - def test_training( - self, datamodule: CycloneDataModule, task: RegressionTask - ) -> None: - batch = next(iter(datamodule.train_dataloader())) - task.training_step(batch, 0) - task.training_epoch_end(0) - - def test_validation( - self, datamodule: CycloneDataModule, task: RegressionTask - ) -> None: - batch = next(iter(datamodule.val_dataloader())) - task.validation_step(batch, 0) - task.validation_epoch_end(0) - - def test_test(self, datamodule: CycloneDataModule, task: RegressionTask) -> None: - batch = next(iter(datamodule.test_dataloader())) - task.test_step(batch, 0) - task.test_epoch_end(0) - - def test_invalid_model(self, config: Dict[str, Any]) -> None: - config["model"] = "invalid_model" - error_message = "Model type 'invalid_model' is not valid." - with pytest.raises(ValueError, match=error_message): - RegressionTask(**config) + @pytest.mark.parametrize( + "name,classname", + [("cowc_counting", COWCCountingDataModule), ("cyclone", CycloneDataModule)], + ) + def test_trainer(self, name: str, classname: Type[LightningDataModule]) -> None: + conf = OmegaConf.load(os.path.join("conf", "task_defaults", name + ".yaml")) + conf_dict = OmegaConf.to_object(conf.experiment) + conf_dict = cast(Dict[Any, Dict[Any, Any]], conf_dict) + + # Instantiate datamodule + datamodule_kwargs = conf_dict["datamodule"] + datamodule = classname(**datamodule_kwargs) + + # Instantiate model + model_kwargs = conf_dict["module"] + model = RegressionTask(**model_kwargs) + + # Instantiate trainer + trainer = Trainer(fast_dev_run=True, log_every_n_steps=1) + trainer.fit(model=model, datamodule=datamodule) + trainer.test(model=model, datamodule=datamodule) + + def test_invalid_model(self) -> None: + match = "Model type 'invalid_model' is not valid." + with pytest.raises(ValueError, match=match): + RegressionTask(model="invalid_model") diff --git a/tests/trainers/test_segmentation.py b/tests/trainers/test_segmentation.py index 658e4870f57..1d13299334e 100644 --- a/tests/trainers/test_segmentation.py +++ b/tests/trainers/test_segmentation.py @@ -2,95 +2,77 @@ # Licensed under the MIT License. import os -from typing import Any, Dict, Generator, cast +from typing import Any, Dict, Type, cast import pytest -from _pytest.fixtures import SubRequest -from _pytest.monkeypatch import MonkeyPatch from omegaconf import OmegaConf +from pytorch_lightning import LightningDataModule, Trainer -from torchgeo.datamodules import ChesapeakeCVPRDataModule +from torchgeo.datamodules import ( + ChesapeakeCVPRDataModule, + ETCI2021DataModule, + LandCoverAIDataModule, + NAIPChesapeakeDataModule, + OSCDDataModule, + SEN12MSDataModule, +) from torchgeo.trainers import SemanticSegmentationTask -from .test_utils import FakeTrainer, mocked_log - class TestSemanticSegmentationTask: - @pytest.fixture(scope="class") - def datamodule(self) -> ChesapeakeCVPRDataModule: - dm = ChesapeakeCVPRDataModule( - os.path.join("tests", "data", "chesapeake", "cvpr"), - ["de-test"], - ["de-test"], - ["de-test"], - patch_size=32, - patches_per_tile=2, - batch_size=2, - num_workers=0, - class_set=7, - ) - dm.prepare_data() - dm.setup() - return dm - - @pytest.fixture( - params=zip(["unet", "deeplabv3+", "fcn"], ["ce", "jaccard", "focal"]) + @pytest.mark.parametrize( + "name,classname", + [ + ("chesapeake_cvpr_5", ChesapeakeCVPRDataModule), + ("etci2021", ETCI2021DataModule), + ("landcoverai", LandCoverAIDataModule), + ("naipchesapeake", NAIPChesapeakeDataModule), + ("oscd_all", OSCDDataModule), + ("oscd_rgb", OSCDDataModule), + ("sen12ms_all", SEN12MSDataModule), + ("sen12ms_s1", SEN12MSDataModule), + ("sen12ms_s2_all", SEN12MSDataModule), + ("sen12ms_s2_reduced", SEN12MSDataModule), + ], ) - def config(self, request: SubRequest) -> Dict[str, Any]: - task_conf = OmegaConf.load( - os.path.join("conf", "task_defaults", "chesapeake_cvpr.yaml") - ) - task_args = OmegaConf.to_object(task_conf.experiment.module) - task_args = cast(Dict[str, Any], task_args) - segmentation_model, loss = request.param - task_args["segmentation_model"] = segmentation_model - task_args["loss"] = loss - return task_args + def test_trainer(self, name: str, classname: Type[LightningDataModule]) -> None: + conf = OmegaConf.load(os.path.join("conf", "task_defaults", name + ".yaml")) + conf_dict = OmegaConf.to_object(conf.experiment) + conf_dict = cast(Dict[Any, Dict[Any, Any]], conf_dict) - @pytest.fixture - def task( - self, config: Dict[str, Any], monkeypatch: Generator[MonkeyPatch, None, None] - ) -> SemanticSegmentationTask: - task = SemanticSegmentationTask(**config) - trainer = FakeTrainer() - monkeypatch.setattr(task, "trainer", trainer) # type: ignore[attr-defined] - monkeypatch.setattr(task, "log", mocked_log) # type: ignore[attr-defined] - return task + # Instantiate datamodule + datamodule_kwargs = conf_dict["datamodule"] + datamodule = classname(**datamodule_kwargs) - def test_configure_optimizers(self, task: SemanticSegmentationTask) -> None: - out = task.configure_optimizers() - assert "optimizer" in out - assert "lr_scheduler" in out + # Instantiate model + model_kwargs = conf_dict["module"] + model = SemanticSegmentationTask(**model_kwargs) - def test_training( - self, datamodule: ChesapeakeCVPRDataModule, task: SemanticSegmentationTask - ) -> None: - batch = next(iter(datamodule.train_dataloader())) - task.training_step(batch, 0) - task.training_epoch_end(0) + # Instantiate trainer + trainer = Trainer(fast_dev_run=True, log_every_n_steps=1) + trainer.fit(model=model, datamodule=datamodule) + trainer.test(model=model, datamodule=datamodule) - def test_validation( - self, datamodule: ChesapeakeCVPRDataModule, task: SemanticSegmentationTask - ) -> None: - batch = next(iter(datamodule.val_dataloader())) - task.validation_step(batch, 0) - task.validation_epoch_end(0) - - def test_test( - self, datamodule: ChesapeakeCVPRDataModule, task: SemanticSegmentationTask - ) -> None: - batch = next(iter(datamodule.test_dataloader())) - task.test_step(batch, 0) - task.test_epoch_end(0) + @pytest.fixture + def model_kwargs(self) -> Dict[Any, Any]: + return { + "segmentation_model": "unet", + "encoder_name": "resnet18", + "encoder_weights": None, + "in_channels": 1, + "num_classes": 1, + "loss": "ce", + "ignore_zeros": True, + } - def test_invalid_model(self, config: Dict[str, Any]) -> None: - config["segmentation_model"] = "invalid_model" - error_message = "Model type 'invalid_model' is not valid." - with pytest.raises(ValueError, match=error_message): - SemanticSegmentationTask(**config) + def test_invalid_model(self, model_kwargs: Dict[Any, Any]) -> None: + model_kwargs["segmentation_model"] = "invalid_model" + match = "Model type 'invalid_model' is not valid." + with pytest.raises(ValueError, match=match): + SemanticSegmentationTask(**model_kwargs) - def test_invalid_loss(self, config: Dict[str, Any]) -> None: - config["loss"] = "invalid_loss" - error_message = "Loss type 'invalid_loss' is not valid." - with pytest.raises(ValueError, match=error_message): - SemanticSegmentationTask(**config) + def test_invalid_loss(self, model_kwargs: Dict[Any, Any]) -> None: + model_kwargs["loss"] = "invalid_loss" + match = "Loss type 'invalid_loss' is not valid." + with pytest.raises(ValueError, match=match): + SemanticSegmentationTask(**model_kwargs) diff --git a/torchgeo/datamodules/chesapeake.py b/torchgeo/datamodules/chesapeake.py index 000ecd39ba8..2f575f048ba 100644 --- a/torchgeo/datamodules/chesapeake.py +++ b/torchgeo/datamodules/chesapeake.py @@ -185,6 +185,8 @@ def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: sample["image"] = sample["image"].float() + del sample["bbox"] + return sample def nodata_check( diff --git a/torchgeo/datamodules/landcoverai.py b/torchgeo/datamodules/landcoverai.py index 95256dffe5a..b0f23182a27 100644 --- a/torchgeo/datamodules/landcoverai.py +++ b/torchgeo/datamodules/landcoverai.py @@ -48,7 +48,7 @@ def preprocess(self, sample: Dict[str, Any]) -> Dict[str, Any]: sample["image"] = sample["image"] / 255.0 sample["image"] = sample["image"].float() - sample["mask"] = sample["mask"].float().unsqueeze(0) + 1 + sample["mask"] = sample["mask"].long() + 1 return sample diff --git a/torchgeo/datamodules/naip.py b/torchgeo/datamodules/naip.py index b00d142edee..928674dc5bd 100644 --- a/torchgeo/datamodules/naip.py +++ b/torchgeo/datamodules/naip.py @@ -63,6 +63,9 @@ def naip_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: """ sample["image"] = sample["image"] / 255.0 sample["image"] = sample["image"].float() + + del sample["bbox"] + return sample def chesapeake_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: @@ -75,6 +78,9 @@ def chesapeake_transform(self, sample: Dict[str, Any]) -> Dict[str, Any]: preprocessed Chesapeake data """ sample["mask"] = sample["mask"].long()[0] + + del sample["bbox"] + return sample def prepare_data(self) -> None: diff --git a/torchgeo/datasets/oscd.py b/torchgeo/datasets/oscd.py index 803d7405c09..555037d971f 100644 --- a/torchgeo/datasets/oscd.py +++ b/torchgeo/datasets/oscd.py @@ -60,8 +60,17 @@ class OSCD(VisionDataset): "https://partage.imt.fr/index.php/s/gpStKn4Mpgfnr63/download" ), } - - md5 = "7383412da7ece1dca1c12dc92ac77f09" + md5s = { + "Onera Satellite Change Detection dataset - Images.zip": ( + "c50d4a2941da64e03a47ac4dec63d915" + ), + "Onera Satellite Change Detection dataset - Train Labels.zip": ( + "4d2965af8170c705ebad3d6ee71b6990" + ), + "Onera Satellite Change Detection dataset - Test Labels.zip": ( + "8177d437793c522653c442aa4e66c617" + ), + } zipfile_glob = "*Onera*.zip" filename_glob = "*Onera*" @@ -254,7 +263,7 @@ def _download(self) -> None: self.urls[f_name], self.root, filename=f_name, - md5=self.md5 if self.checksum else None, + md5=self.md5s[f_name] if self.checksum else None, ) def _extract(self) -> None: diff --git a/torchgeo/trainers/byol.py b/torchgeo/trainers/byol.py index fb3565a7887..44e36a150b2 100644 --- a/torchgeo/trainers/byol.py +++ b/torchgeo/trainers/byol.py @@ -247,7 +247,7 @@ def __init__( model: Module, image_size: Tuple[int, int] = (256, 256), hidden_layer: Union[str, int] = -2, - input_channels: int = 4, + in_channels: int = 4, projection_size: int = 256, hidden_size: int = 4096, augment_fn: Optional[Module] = None, @@ -261,7 +261,7 @@ def __init__( image_size: the size of the training images hidden_layer: the hidden layer in ``model`` to attach the projection head to, can be the name of the layer or index of the layer - input_channels: number of input channels to the model + in_channels: number of input channels to the model projection_size: size of first layer of the projection MLP hidden_size: size of the hidden layer of the projection MLP augment_fn: an instance of a module that performs data augmentation @@ -277,7 +277,7 @@ def __init__( self.augment = augment_fn self.beta = beta - self.input_channels = input_channels + self.in_channels = in_channels self.encoder = EncoderWrapper( model, projection_size, hidden_size, layer=hidden_layer ) @@ -288,9 +288,7 @@ def __init__( # Perform a single forward pass to initialize the wrapper correctly self.encoder( - torch.zeros( # type: ignore[attr-defined] - 2, self.input_channels, *image_size - ) + torch.zeros(2, self.in_channels, *image_size) # type: ignore[attr-defined] ) def forward(self, x: Tensor) -> Tensor: @@ -315,21 +313,23 @@ class BYOLTask(LightningModule): def config_task(self) -> None: """Configures the task based on kwargs parameters passed to the constructor.""" - input_channels = self.hparams["input_channels"] + in_channels = self.hparams["in_channels"] pretrained = self.hparams["imagenet_pretraining"] encoder = None - if self.hparams["encoder"] == "resnet18": + if self.hparams["encoder_name"] == "resnet18": encoder = resnet18(pretrained=pretrained) - elif self.hparams["encoder"] == "resnet50": + elif self.hparams["encoder_name"] == "resnet50": encoder = resnet50(pretrained=pretrained) else: - raise ValueError(f"Encoder type '{self.hparams['encoder']}' is not valid.") + raise ValueError( + f"Encoder type '{self.hparams['encoder_name']}' is not valid." + ) layer = encoder.conv1 # Creating new Conv2d layer new_layer = Conv2d( - in_channels=input_channels, + in_channels=in_channels, out_channels=layer.out_channels, kernel_size=layer.kernel_size, stride=layer.stride, @@ -343,7 +343,7 @@ def config_task(self) -> None: ... # type: ignore[index] ] = Variable(layer.weight.clone(), requires_grad=True) # Copying the weights of the old layer to the extra channels - for i in range(input_channels - layer.in_channels): + for i in range(in_channels - layer.in_channels): channel = layer.in_channels + i new_layer.weight[:, channel : channel + 1, :, :].data[ ... # type: ignore[index] @@ -359,8 +359,8 @@ def __init__(self, **kwargs: Any) -> None: """Initialize a LightningModule for pre-training a model with BYOL. Keyword Args: - input_channels: number of channels on the input imagery - encoder: either "resnet18" or "resnet50" + in_channels: number of channels on the input imagery + encoder_name: either "resnet18" or "resnet50" imagenet_pretraining: bool indicating whether to use imagenet pretrained weights diff --git a/torchgeo/trainers/landcoverai.py b/torchgeo/trainers/landcoverai.py index 364aa19f4a3..7c9ac27856a 100644 --- a/torchgeo/trainers/landcoverai.py +++ b/torchgeo/trainers/landcoverai.py @@ -46,10 +46,10 @@ def training_step( # type: ignore[override] training loss """ x = batch["image"] - y = batch["mask"] + y = batch["mask"].float().unsqueeze(1) with torch.no_grad(): x, y = self.train_augmentations(x, y) - y = y.long().squeeze() + y = y.squeeze(1).long() y_hat = self.forward(x) y_hat_hard = y_hat.argmax(dim=1) @@ -76,7 +76,7 @@ def validation_step( # type: ignore[override] batch_idx: Index of current batch """ x = batch["image"] - y = batch["mask"].long().squeeze() + y = batch["mask"] y_hat = self.forward(x) y_hat_hard = y_hat.argmax(dim=1) @@ -120,7 +120,7 @@ def test_step( # type: ignore[override] batch_idx: Index of current batch """ x = batch["image"] - y = batch["mask"].long().squeeze() + y = batch["mask"] y_hat = self.forward(x) y_hat_hard = y_hat.argmax(dim=1) diff --git a/train.py b/train.py index ea80c556bd6..eac21a07d7f 100755 --- a/train.py +++ b/train.py @@ -43,19 +43,28 @@ TASK_TO_MODULES_MAPPING: Dict[ str, Tuple[Type[pl.LightningModule], Type[pl.LightningDataModule]] ] = { - "bigearthnet": (MultiLabelClassificationTask, BigEarthNetDataModule), + "bigearthnet_all": (MultiLabelClassificationTask, BigEarthNetDataModule), + "bigearthnet_s1": (MultiLabelClassificationTask, BigEarthNetDataModule), + "bigearthnet_s2": (MultiLabelClassificationTask, BigEarthNetDataModule), "byol": (BYOLTask, ChesapeakeCVPRDataModule), - "chesapeake_cvpr": (ChesapeakeCVPRSegmentationTask, ChesapeakeCVPRDataModule), + "chesapeake_cvpr_5": (ChesapeakeCVPRSegmentationTask, ChesapeakeCVPRDataModule), + "chesapeake_cvpr_7": (ChesapeakeCVPRSegmentationTask, ChesapeakeCVPRDataModule), + "chesapeake_cvpr_prior": (ChesapeakeCVPRSegmentationTask, ChesapeakeCVPRDataModule), "cowc_counting": (RegressionTask, COWCCountingDataModule), "cyclone": (RegressionTask, CycloneDataModule), "eurosat": (ClassificationTask, EuroSATDataModule), "etci2021": (SemanticSegmentationTask, ETCI2021DataModule), "landcoverai": (LandCoverAISegmentationTask, LandCoverAIDataModule), "naipchesapeake": (NAIPChesapeakeSegmentationTask, NAIPChesapeakeDataModule), - "oscd": (SemanticSegmentationTask, OSCDDataModule), + "oscd_all": (SemanticSegmentationTask, OSCDDataModule), + "oscd_rgb": (SemanticSegmentationTask, OSCDDataModule), "resisc45": (RESISC45ClassificationTask, RESISC45DataModule), - "sen12ms": (SemanticSegmentationTask, SEN12MSDataModule), - "so2sat": (ClassificationTask, So2SatDataModule), + "sen12ms_all": (SemanticSegmentationTask, SEN12MSDataModule), + "sen12ms_s1": (SemanticSegmentationTask, SEN12MSDataModule), + "sen12ms_s2_all": (SemanticSegmentationTask, SEN12MSDataModule), + "sen12ms_s2_reduced": (SemanticSegmentationTask, SEN12MSDataModule), + "so2sat_supervised": (ClassificationTask, So2SatDataModule), + "so2sat_unsupervised": (ClassificationTask, So2SatDataModule), "ucmerced": (ClassificationTask, UCMercedDataModule), } From 452615db876722e05a85e0fae543f0dd7f8ec534 Mon Sep 17 00:00:00 2001 From: nilsleh Date: Tue, 21 Dec 2021 13:45:27 +0100 Subject: [PATCH 24/26] plotting method and new band names --- tests/datasets/test_sen12ms.py | 19 ++++ torchgeo/datasets/sen12ms.py | 153 +++++++++++++++++++++++++++++++-- 2 files changed, 163 insertions(+), 9 deletions(-) diff --git a/tests/datasets/test_sen12ms.py b/tests/datasets/test_sen12ms.py index 94c7964340d..ee8969b22b1 100644 --- a/tests/datasets/test_sen12ms.py +++ b/tests/datasets/test_sen12ms.py @@ -5,6 +5,7 @@ from pathlib import Path from typing import Generator +import matplotlib.pyplot as plt import pytest import torch import torch.nn as nn @@ -82,3 +83,21 @@ def test_band_subsets(self) -> None: ds = SEN12MS(root, bands=bands, checksum=False) x = ds[0]["image"] assert x.shape[0] == len(bands) + + def test_invalid_bands(self) -> None: + with pytest.raises(ValueError): + SEN12MS(bands=tuple(["OK", "BK"])) + + def test_plot(self, dataset: SEN12MS) -> None: + dataset.plot(dataset[0], suptitle="Test") + plt.close() + + sample = dataset[0] + sample["prediction"] = sample["mask"].clone() + dataset.plot(sample, suptitle="prediction") + plt.close() + + def test_plot_rgb(self, dataset: SEN12MS) -> None: + dataset = SEN12MS(root=dataset.root, bands=tuple(["B03"])) + with pytest.raises(ValueError, match="doesn't contain some of the RGB bands"): + dataset.plot(dataset[0], suptitle="Single Band") diff --git a/torchgeo/datasets/sen12ms.py b/torchgeo/datasets/sen12ms.py index 8ff0e9a44b8..87eedab72a3 100644 --- a/torchgeo/datasets/sen12ms.py +++ b/torchgeo/datasets/sen12ms.py @@ -4,8 +4,9 @@ """SEN12MS dataset.""" import os -from typing import Callable, Dict, List, Optional +from typing import Callable, Dict, Optional, Sequence +import matplotlib.pyplot as plt import numpy as np import rasterio import torch @@ -62,13 +63,72 @@ class SEN12MS(VisionDataset): This download will likely take several hours. """ # noqa: E501 - BAND_SETS: Dict[str, List[int]] = { - "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], - "s1": [0, 1], - "s2-all": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], - "s2-reduced": [3, 4, 5, 9, 12, 13], + # BAND_SETS: Dict[str, List[int]] = { + # "all": [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], + # "s1": [0, 1], + # "s2-all": [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14], + # "s2-reduced": [3, 4, 5, 9, 12, 13], + # } + + BAND_SETS: Dict[str, Sequence[str]] = { + "all": tuple( + [ + "VV", + "VH", + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ] + ), + "s1": ("VV", "VH"), + "s2-all": ( + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ), + "s2-reduced": ("B02", "B03", "B04", "B08", "B10", "B11"), } + band_names = ( + "VV", + "VH", + "B01", + "B02", + "B03", + "B04", + "B05", + "B06", + "B07", + "B08", + "B8A", + "B09", + "B10", + "B11", + "B12", + ) + + RGB_BANDS = ["B04", "B03", "B02"] + filenames = [ "ROIs1158_spring_lc.tar.gz", "ROIs1158_spring_s1.tar.gz", @@ -114,7 +174,7 @@ def __init__( self, root: str = "data", split: str = "train", - bands: List[int] = BAND_SETS["all"], + bands: Sequence[str] = BAND_SETS["all"], transforms: Optional[Callable[[Dict[str, Tensor]], Dict[str, Tensor]]] = None, checksum: bool = False, ) -> None: @@ -140,9 +200,14 @@ def __init__( """ assert split in ["train", "test"] + self._validate_bands(bands) + self.band_indices = torch.tensor( # type: ignore[attr-defined] + [self.band_names.index(b) for b in bands] + ).long() + self.bands = bands + self.root = root self.split = split - self.bands = torch.tensor(bands).long() # type: ignore[attr-defined] self.transforms = transforms self.checksum = checksum @@ -173,7 +238,7 @@ def __getitem__(self, index: int) -> Dict[str, Tensor]: image = torch.cat(tensors=[s1, s2], dim=0) # type: ignore[attr-defined] image = torch.index_select( # type: ignore[attr-defined] - image, dim=0, index=self.bands + image, dim=0, index=self.band_indices ) sample: Dict[str, Tensor] = {"image": image, "mask": lc} @@ -216,6 +281,21 @@ def _load_raster(self, filename: str, source: str) -> Tensor: tensor: Tensor = torch.from_numpy(array) # type: ignore[attr-defined] return tensor + def _validate_bands(self, bands: Sequence[str]) -> None: + """Validate list of bands. + + Args: + bands: user-provided tuple of bands to load + + Raises: + AssertionError: if ``bands`` is not a tuple + ValueError: if an invalid band name is provided + """ + assert isinstance(bands, tuple), "The list of bands must be a tuple" + for band in bands: + if band not in self.band_names: + raise ValueError(f"'{band}' is an invalid band name.") + def _check_integrity_light(self) -> bool: """Checks the integrity of the dataset structure. @@ -239,3 +319,58 @@ def _check_integrity(self) -> bool: if not check_integrity(filepath, md5 if self.checksum else None): return False return True + + def plot( + self, + sample: Dict[str, Tensor], + show_titles: bool = True, + suptitle: Optional[str] = None, + ) -> plt.Figure: + """Plot a sample from the dataset. + + Args: + sample: a sample return by :meth:`__getitem__` + show_titles: flag indicating whether to show titles above each panel + suptitle: optional suptitle to use for figure + + Returns; + a matplotlib Figure with the rendered sample + + .. versionadded:: 0.2 + """ + rgb_indices = [] + for band in self.RGB_BANDS: + if band in self.bands: + rgb_indices.append(self.bands.index(band)) + else: + raise ValueError("Dataset doesn't contain some of the RGB bands") + + image, mask = sample["image"][rgb_indices, ...], sample["mask"][0] + ncols = 2 + + showing_predictions = "prediction" in sample + if showing_predictions: + prediction = sample["prediction"][0] + ncols += 1 + + fig, axs = plt.subplots(nrows=1, ncols=ncols, figsize=(10, ncols * 5)) + + axs[0].imshow(image.permute(1, 2, 0)) + axs[0].axis("off") + axs[1].imshow(mask) + axs[1].axis("off") + + if showing_predictions: + axs[2].imshow(prediction) + axs[2].axis("off") + + if show_titles: + axs[0].set_title("Image") + axs[1].set_title("Mask") + if showing_predictions: + axs[2].set_title("Prediction") + + if suptitle is not None: + plt.suptitle(suptitle) + + return fig From eba5451172a37757c4b3099921d35d5905d78e34 Mon Sep 17 00:00:00 2001 From: nilsleh Date: Wed, 29 Dec 2021 14:51:07 +0100 Subject: [PATCH 25/26] testing real data --- torchgeo/datasets/sen12ms.py | 1 + 1 file changed, 1 insertion(+) diff --git a/torchgeo/datasets/sen12ms.py b/torchgeo/datasets/sen12ms.py index 87eedab72a3..ad2ced2be08 100644 --- a/torchgeo/datasets/sen12ms.py +++ b/torchgeo/datasets/sen12ms.py @@ -374,3 +374,4 @@ def plot( plt.suptitle(suptitle) return fig + From b5e1865416ae2793478ab91a7b079bbab3ece2d7 Mon Sep 17 00:00:00 2001 From: nilsleh Date: Thu, 30 Dec 2021 11:28:30 +0100 Subject: [PATCH 26/26] requested changes and plot igbp as mask --- tests/datasets/test_sen12ms.py | 2 +- torchgeo/datasets/sen12ms.py | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/tests/datasets/test_sen12ms.py b/tests/datasets/test_sen12ms.py index ee8969b22b1..c9b1560cba9 100644 --- a/tests/datasets/test_sen12ms.py +++ b/tests/datasets/test_sen12ms.py @@ -100,4 +100,4 @@ def test_plot(self, dataset: SEN12MS) -> None: def test_plot_rgb(self, dataset: SEN12MS) -> None: dataset = SEN12MS(root=dataset.root, bands=tuple(["B03"])) with pytest.raises(ValueError, match="doesn't contain some of the RGB bands"): - dataset.plot(dataset[0], suptitle="Single Band") + dataset.plot(dataset[0], suptitle="Single Band") \ No newline at end of file diff --git a/torchgeo/datasets/sen12ms.py b/torchgeo/datasets/sen12ms.py index ad2ced2be08..d5e75a88f08 100644 --- a/torchgeo/datasets/sen12ms.py +++ b/torchgeo/datasets/sen12ms.py @@ -375,3 +375,4 @@ def plot( return fig +

    -)m}z%*tp63DL+l2i=5f*z_0nqyrufgqo(~s ztlxt;I*-sPr$%X8UEZS}b?|`!2Q5-%8q_UaT47cdjV|Da1Fb6-9jjhasUHtXOaK*k-?LAtH_pQmh-pb9F(Uv>4!HT?(WHXTvkkuYn{tzEsV= zCXorVdZP<(@zd$)$I)RulWxWRC64$L`y3CQW{K{z-7jR|rouejlAXby9ZySe4e`kl zKuyQ^pg8zfR3L@?p55DGP5q`0oL7P1f$&=e|`&W}5EL-I({tO9#Ip z&R;)TE_N77!U%d0ye%NrEG0A> z{`Z>%$58Sb!e!WDzhs#**1{XUqZZ$srCH-$)=ER5ZDk%1w5yVjJP&n58k>{qMHE(RN9r$mY&5$pZ)a3tB!?+fg)N=aip*Jh zA`{5ak)(+00p~u`DAU#9;9c-%%=u*g(@5yQamh35q5Y!!V}+1YT+T%MFT}z+9aTIV zaW8#=hRW~rGTPX*>z|hD!PJO5Y(VZ*%SHvnZefom6K8*}7ZPpcZmas>Ryy7Vam9K* z#vSO3U$|-VC3)F-PkPQS)Y*{#Vs{-I2HvqMRdp1BLyC)&k)f$iL4EQjQ=!f*K?2bm zoML{Lr^xO|=iN=28m@?{px_}oKt&wMO()TThS?DlFzbO`%^ESR2U~z_L>S9gSI3F^ zdcF?C9!+ORIR*?p)Z} zy~&V26pGJ8zAg3gMY>OQ?v+fR}P*QDL{`>B0-kfKIWJ zVh`bjA-`BTPKdJ~y!gcSZEnSS9gc$VEz-m2rhZowz~Y9SY6n+b*PhJS81L0--kueP zP!Le$0?zIGRl79)V(?g#+T9aC?c#;@%s}K=JNw2gBR1oxpc)7*DInyho#ozs=n)Ej zhsmYnrKX$Q_d+L#8HS`M*60=Df{?HD7a+K=H1_L2wtRPa>=TgD3#CMI&;Ub+p zth|MpxyYxrNc}PhSsRnwkD=wuaPd>%enK)ci@yp4qE__HWQBkVCrLPd5dJ20+h8y% zvu<)oRP|~Yy`3&Wk{P+{#LTZ{UD(x@sYI8rw`W;jC8U(;z2PsZdA^U9jXPS|N;GNm zf0dRfCe|O4VJyMY5X6goh-mpr?-Tx52+X*?Yiv^cev<|z!Sd)M$S7mj%8|kuU^xeI zhtN9?S*Ldo;N1I_7b0HI5khN)%vuFOmY%+Hv`7>Qg3Wgity_&p&J>$io&Prxl!Whm z>|>p7jH~m`lO$q5h|Vv!5LAF#y_67T&pRqc z!4l(0pQQ9K8uMDVZZ4Z=NHK2O(ASd~OKi-g;xYRB1{dD8_%uoPqz#y=jMEOBm#rau1JYXHMkG98GbNkkEc3IO(UV9{g zwnhwop;TgcRwE z>k_7Z$F#0L_*7Nu??-r(sr5ZxZ&^0k6x{ocmaONcHNb|8$F0qI@0yS9=^ptNBeK^<#o0_!d{z?7C?8gra{d1`a!Av`x?52lXu=Sc+u7w zMAt(@4m&skwT;6*2aUbMZgms386l0VQO(wsG~AG_x%6lt)4mT!JYcxQgIPdzC~m`@)#=2=&n_cUs48BMq{Q&-uo> z=&4)bSM?&=T{;VBlCktAr4iTA_*?vHh1MF4))=E`5Yp$5rR!oVN){otg$_Wp*3t<7 rx1bUWRSn5Kd$y&^PGgI>V~;k1lPB3W6@`9^rj5Ep$1W>)6zKm4oDL_} literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B05.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B05.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..29dfd694763ad26a21c74b3450591b250d3242e7 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B06.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B06.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..ff8430de80b45fa6c77c30f93323ba9e8498b0f2 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B07.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B07.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..f093b329dc6286f99461e082126650b2b9c55fe4 100644 GIT binary patch literal 8314 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 r-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B08.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B08.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..54a404a54ffa8d8572e22756146f370e080f11c5 100644 GIT binary patch literal 8314 zcmYkhMNk|J({??$LvVL@4?cKscXtM72o6C8Cj@tQ4-(v6g1fuB1^4g%|9ThCqN`3_ zb$ZjQ?rJ$XCIBJ;06+o&pkM(||B={#1@%7+4F&W6=U@KIVg8T*KM($Y81w&ppZ{{a z|LMj5KL$_$03`q8|EB@I!k=NWb=r@H=i8miRQ+y4=2F4Mm_!@H`60HJ6XK4I^B~b@ z!!(BT9hUCjjh4s2bR;qCXo_nha;;#Uj}pryoH%gJXv{i5HP9yZmqb%3DtMt$&m&*s zmRf(}RAko>b5GPbaqNLtn`8cM+fA6eXSe+Hwu^A#Rgq72Q8@2pFL~0%I~G0kzVw~u zm7NyKs1#PEPH6BC;$jiEXK<>Kh3U{=190p{m3z^|7;|ORzb=2m;^b#HqStAaf>vw- z%^=|206)PCT6*WBp~3sEWE?^qgp9=r1;gf0zZKd&;zo-Z`e;fl+3@U!oXW}+%?Foe zg=xWPQd(3gBhF^aO2+hZyo`?=0{iq)$FF|nD9*GIOY=ZA&l zungUbPxAN!3wg(lAufDNgW(BDiUWFi(cSC@?6_a_{}!R`*pS3qKGz<#9D57rs4B7L zQ1Ba5B5TE37zy5ix&CGl>D2;NA9idLHCyV_H(tu8=~%Elu-+VF?`r6y}b60 z2M>%f9~pdb@9uHnW{Pd=x^P+77cH#U;G6q)v(n;e$tA{Yi~fpQRJ-h$`Sr;HciY7S zn?dpLgXoZ+;T7Zbu%EuZmI|j0bpnFZl`~2SkheV9w`Ys!y+^_kAF*`wRVVf%wAYvIe9s) zOV@q209v7CpzH-PNTEV3;#EP8fjK*o&dR$mSbIIC=Pp?`knCOj+2tY3NATQ^*)#j4k=^=%wLy3oS#Kh{KhDN!*x*d{y;L1U3ngrxCnN+haMC!dJ*$rn3PGDck?vl`^0802%TgAbSj(}eTJ zQJLPoLdHh0^bEDP=H~s~{$bSOI+l~AcfE%Aq$Y=YXO*8=MT>8vs;8p}$EsSYwleB7 z38_5cNx{77=wC6huVnDlo@O4>O71@H)kX zE-lw(O`{{Hsp!bH(1txTV6R`sW%uUBc2LFGg!hhDjUoRDeJn1j4ahccW%XUNCzWLL z*{mIjWk46YrJL}_SVzwyz>gc94mwJZMiKlhrLC+-#+FuQN?K&~c_p)e9g86X*}VhD zKHsLK!dmPC<9i*VUclnW^*+3~SKeSok7TIyX(RM3D82doAfE|`RCSDSIPTQ-^KEOG zkmUZ`@N6ZD!Id#NwR#tsON@T#F=vlmTQ47fT6JY}=m9Ux(~bCZBuond}TgSf7>dA2wk@&Yg^`5EblY==1 zbtI-o>4_C3`A$jq;N8uKNC(C7K-I`ry7SCx2ORgnN6egr(|{7`q}U>M6y#?wZj}qm zA$x@p&|M&7zceQ+Xut#uo>RtDsYky2R_~diinK9k8~3w2+FRiATq-01hF(SsrV;t< z`ZMjj{!UqH$}hKy5$8z9N!u#0FMvosrxZ_tl^dw}m2iB#{U43+J~R~C1e93+d6gUV zG(kA)o6)=@e+vam8QR{qR{9LiLwy-)Zu5z%q;zt)ZU@O`TCgU!|B5BXN$_jh&PZ)Vp7}p%r0`h3oh=ewt(6uwWU}kYU*|u~ceK z;q%cW@3QCjM-2`Aewp{Kzqbvf6ZlJ(WlmL9XT)!YvV{8*e{1$RZ7#^c*OiOL?VsRf z`3I~}sSYlIC*D zJ<%-ly=|whg-|R-4Ov2l+WBw#s^@-a#VvV2!Uu79bkW&6Q=JVi&U=U%2z!1^j^{8I zLFq37M@+!*THKsuW}de!8M4r|AMjuqO5o(Sj~cgn@Wdf>GL&~u;%*G0=HOKj`+dp5 zv(cZBMpfZQsK|NYz34Nwu-$H@WAkqU#4aF|!6rOgpO#9fcLWoee6)XDxE<8?CKQh1=8I3dJMSj{Mb=r3D%)@7);ltnW8SoeU{Z0JpJ8w*|9Ll*eoUhXQ@$ z!_g;fb|KZ5&ZSe^W#UCK-CPf!i+&mW#a0@z@;0c<$~m8BWl&ajDQOibPffYam)N(F zx3}N0#~P^pqXh1Qejanwy4rDQ>e{bA6E*{6TuX8({jF}i2VJ)fBAi`7oJ=oOZYu3F zN*fiDT&^ED6g{cavevD5TAmVkbxa1R967KT{1iqJK6hy)L@yh^FDM~oC)4>D1pciFpO0vmuiHKrf|%$sTre6?_BsMqqRGPss$Yr1pAs~Fmdv5Cz&pP)pTM}a^W3A8_BtPQCS3(rS8%&O1$AH zhuXs`TG0NQ!!5XV(Kk+*ekiu{_b{O}9{o-C!-MCUjeEU_o$S(baztA!{RA)3!~fjB z4VTlGh}%-AkU;ru-a=AY9V4$e?@qVzGS^N4YgS>ky57(7XSvHssfhVX_P?KAYEr6W zg0G(Wm{&p{vpds^7<@;G@rkmHZ+}pk3_bu9H|O8x#oFTwHKSIR_ODQc%sE@4Z5`uW z&x4?>@bTkOw3?*tvHR)I!Yx|zj&c2$WCf2!dBjuP%+$wHt~Ke<gvv= z&yg(8(5p4)0l_PG$0RrGg#}ZD=2P9H6IzGuTT7MJ7@uxA6&Ee^8O0CR2206Ewf_9n zPIXE9%zUJY>c*40>T&P`6?*v5aLGpG=Bavlp0a3yX!;et!`u)p-D~nvMl16W2P^)o z-8}}qD&;C&>L^s^>Zy;kwX@P1)Bf<7r`W>p^KEmH80&Bxzoc!}p#f<FS>$IGg z<5uwi|JLK@BW^sYxFAGEqTg^PpRe`XY>F)gCyyx%(5O(f+-MbK6&uSdDNhu9qlRvP zY-c_DG1lHai!T9Wg1_I4#V?S`E*^-a4xzqd` z?<~B%d`Y%C4_FhWmee=@>d9{WVtrmU76QpBJ5N2rrdDS^*jYAwG8YAmQE`N_&i62{ zXWHJ*nX3HxQBtA6l*n(f`RtXE%L72`=)pMLUvgj4eT7d@ioejgv-6(N{ z3Io%3u349EaE7yXOL|7wod)>p+xla(?7NuU&fN6TZ&?m1azH$>Z6uA9i2Ll58C)&s+*sHGxv*7^sCpVH|dw6`lB@#p3|sX7%- ze#iS)o=z<3FjL3RJdDHHgcD46v48Pd$fZ}g&>KZborKzVR>8O;Zna@G@@%LFsAAQY zV|z9uSDBuCcx`%{BmcpW9dZ2LDc zV+0+0;XZQC(#yBwFBs`F+}LUP(?%o+xX5#bWb9gE?vPx1IMuF#Kz*c~d_JNWmQv5; z^i)Uts{KlS*d?F-hWr)9(S1U<7lq)Ac4YXeH%NmK*bn(zU8P7t8gCFn6%40-5sI?w z%M)gz{?u$4%L+KU6)MHBCL<5V5_s6ugW7 z?4PO&4UO!%5e;SKx+`Uql3og6d&u3@pq0quKQ}~Js}Pg%oBa{q&BsW~^ z0ySvBh(KF%e>p?~W~7qX_&&PT?jMtoJ+H|!co+gD6Z)byuR5ZQ(fYplv=IIzOLXP> zPweFsY0s?Wwzu{$ZzOZ}8qsHh1O=SnJCh5Ws~Q~kF;7!U%1`Z?Z)f@`cHHusudC&L ziju+VBHWYcc3)Ud2PSJ!v)Jl)%4kl>+C|$ryWy`K1?W)wG{eIsl!yB{qz|-|B zlDH%jMieU0-j^rHjGaBMRw69mVjiJ?#oec2^zoy?u$zjuQCJAH(GSUq`pRQmHMK2C z{Nf6SLpDL)Gfd8tS~`uWnNNf%V>$ONU{j$ypB#yPQ2h$0Kqn#F%);<)mUJzW(+B3 zGbdFAloW%?TS0Au%)()$M$_#nO+SLNGS&AjJi-a9Z>zIYyQbuyTk7+fLt0@_{WK7J zh2Wurcsi4K854uQ`cy4#9;LqR9zTTy4*6!`-e8PE76XwJi~d^+8WeJomED)>wTS<_ zGt=4Fi^2!y3yJY;OZDu$tw`h@?2_Y=g_&Tg_#;Lu>x@)~^A}}&Wj+WHG04cT0I?(* zURuuH;s+>alxwfHNUCcssIC0E+=%+>F_8N`l3bc8DD^{RqrEKMw|%6BQ) z-1tvFt~Kd}6EZEhyhQqdXC8rwX!*nOgwdE5S`PwcXfzy?77GTkoAVXYrNnJxeXFQLCqnCXfPQ+7|f|ozjEniVRXc-@E8latBuI# z*n3LxfQ|cW7`2Z8H{g%u(_QZ>)PElhUI#RtI8y!}4aXI{-1imtd+ zcD5V|dJLrJe~woicUl209blip(YDXx7KsY}bZiScicvv=2%MkHC}RFo>cwxI@Eyle zD>8(wb2mf0gAroQ>cUWD`*P?PgHsenC8jzT$3>zAhzki|#l*C>M zvN2wI|4r=FLRa7UT~cl^I@6U8BRf>y*F&}#Hiv?>E2znfZ0X!_xcu`eSY47NQX38+I3Rz~4(9!!FmT2S@8gE?;A!OHdCnyy>Q|-11`Xq=LI>!HE z2!_U=vW>bd+F_q)CDz~VLsQa#jsK%p!WWPkTB`SGbEnggANbu=Y07QE}fbI2E-P_;?%rNQ=%|4Q6 z6wGf6IJ5$no#@T0Ds_3XWGVC#9uDv=@wF>_ zm5akcj=@;P#(A0)vE6#cHT4|6^d+n<;N)1JSGf$nv7%QNQE~8%T^dg1za(ClPe`Bi zXO1}&Fr&Z1hqf%_GyyTfQC|vk?cmjAdt9(VXBSl+d|L}aXH!cHmSjI9eVl0}755o- zCXg;;X0jwtaU9Txn?G4jx@2gqZdPN{=ipx3c%$eBqTq;c_xxd_q3q^8(#1%;TNdar zmo#-+-w)tVxntD#-w=%O);m~LJYt9np zHW5r@-}qYwHX@lXK$pz*JMemRPl@yU-B;U+f7Fklk~S;x^nBkd0*CK)mCr^taK`O! zM34TupM(cBn{98;KsMX2?)SBRkCzBmBq4&LdA?`?b4&R1F+@`y!#Qlvld{;JeN|LY zgrBVl08;2PaGhDONM0Lk1>0t|6|bV#q6*r*Zjq#`GzVv!Y{SKqnty4kT!O=`asyRu zKM)R1KO=T8cOVDsRSzd_n*W>gaK8R9n)_<88u612V@_BnWP90d^BA#Knp%E8*?(s+ zhRQ&LulZVyw!q|HT;4`CmdCtG7n)j<5R$MQ_ zj$mrfNxR7}IzT3w-BahP(>V71L94;;U3hOzE!)ZDV=8S-uvM||;oM@hrauEfvKZ2O zop@=fq&B(YUfOBIxDu&E%*F!-VMfBs*S}#qE3v96#vlgpL*JqkpzfA8ok(FcJx*;Z6jtYL^VCh;H=4>yEDtNxN$oA>{0iN*YOvoRTF<}r?5fmW^9jp^6sheJPNmv_7uOPFPO+N5#K1osJB zB6@q@AOz-re#NtwB58(}Gefc>erDsF$DNR$(mt0H-j)0RcnqBF`aobVFDhIEws{=ZyZ?qW>0lWel*TQmp)-!Xb`R*mf%p zkfE|MkVWXv<*u6L;6ped$3jB5BWIz#J(BxAD*p z$MA%5+KT`#ZLfSkXw(F3u8#}r?u_Z^O?+v_ z5D(1a{npG*z%Nc_m8Xu%aQGsu%nJIHq8$UHH*6?tdAy>ZTjZh+eA{X-b(iY$y%6cs z<9NLVo@fT|RoyXik0b2(~p=@_ZgAT&V!N zJNGPza-hCS1;bZ`>7ZCgr#eQC1Xr!6I5zsZS{Em=0yhshAQQT>%%0O);PRiQ@SNn4C>>`MHPR?RUZ+uH9h^@-e{iE6^?i<|L~VB;z%F6^@BhnI?;xnA=PaSq zo-~)`&x(+ik0@+2V=eScXpt^Dy8@-*LZKKpA35xv8~{%i5-^{u*vTFlMi8wJ#IaU! z2|eUpN)i1WM$y36qIE!`W)EILI84f8Py$hHS$}xgse-4w_G;ZA6ov9JJls^x7>2+b zW^iNY>x zRaNNLj4+`y&C_$)t{i<~b-l2dpq17TDz~x=VnoZkmqk^e**h=9P~XUsALbf}N#%*g zRwebO4{7J?y_)S^>Hd;Nty_beicerPSlYsYFXTqEVx)AH(Jr~-|Ic$h!2!h$&4;{K zSl`x0Z)0-VFYs4Yl-<2B`P-$-$nN;sL00<;QcJ+p%5{U_G=bFeKdI*xo#q0eL^n5? zMb@jS<;11TmXY2cC{z|4<^}hna42RM2PY-Aed+-GDj0U_D6g!(m#%KINSk(%!SNy2NwWLYOjMd|j}AiVKwH z4#niMu|R!1Z3jTGXGgKOEZ#DnTkI%tEw`iBgktokWPQu6fbtqQlk}Pcm w8+8@r@jC5Qq&s6)KDFr~9~ETuNh!|#`wUaZcEDGPapk^MO><>FI30`s2aaF3cK`qY literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B09.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B09.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..d3a60ecdb96d3be5a42ac49321662277cfc7ae88 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B10.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B10.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..cd13329201bb28f2e20864e7524b1c945f581f52 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B11.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B11.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..a1ca762b10eddc17df27147442458c754c284ecd 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B12.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B12.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..135c138b1fb65669dcb4753c58c0539b14f06216 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B8A.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_1_rect/B8A.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..33066a9c72344114713adc9c9a270a4a93665eba 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B01.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B01.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..1b0efa4bde1677f05bd6bde0e20fdd366369482c 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B02.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B02.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..f7f9baf720ebc4184e3f26f3915f9a1049290fe3 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B03.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B03.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..e04bc7a7eca5dad68bda30ea3fc018568c09d408 100644 GIT binary patch literal 8314 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 o@oQt-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B04.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B04.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..e1ef595b16af62cbdcb686395777bed50d9a3fb0 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B05.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B05.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..c0d140aaa7d21fffd4d08f7303fee38341dec535 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B06.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B06.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..2c0614824bf7033850c96b706ce4e05b7f5cff33 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B07.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B07.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..2e100588d73f6344b050604cbe394b152477c017 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B08.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B08.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..03e0da4193436dc0b9db980a10b50f9e7c9adfd4 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B09.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B09.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..a4a1c1fb076889c7c2509795cc27508e8dfa1149 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B10.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B10.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..99e4f64003520e685368b89c0794ca17896f1738 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B11.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B11.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..e4704ad5969d506d410ae0e2405ff072fcd1c1a8 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B12.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B12.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..6db801c9ddee672cef3b91a2d86be7903f0a572f 100644 GIT binary patch literal 8314 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 E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B8A.tif b/tests/data/oscd/Onera Satellite Change Detection dataset - Images/train2/imgs_2_rect/B8A.tif index a3ee8290f6a1a00d88ecdc10f18b189c127bc223..00c9abada70ab181d726e3f8ed66236beed246bf 100644 GIT binary patch literal 8314 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 literal 304 zcmebD)MDUZU|`^3U|?isU<9(5ftV4A%>-o&faIWTkUBObwjd)5Sg#yVLKI0{49W(X zDGpU51Z2w~sR>46-)QAw0NFDSh!Nm}J%WvoMXWk}W+2Of%wuF=0)_|+11kd?13NIJ E0FUhl?*IS* diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Test Labels.zip b/tests/data/oscd/Onera Satellite Change Detection dataset - Test Labels.zip index 04ec4f8e33802c85cbd55593bf1a73eefa3c92a0..ce1415975d099a860df24ea86b648b6f6d417096 100644 GIT binary patch literal 5053 zcmbuDS5(v6wuk=-fzS!Pg%+fDM5Kj)Km=)_2?8obs(@4l6+|f(5Tq*zD!unkkd9O( zAT<;zAqYtC_3A$7+^4(m!`X9c zZ(CjyTVDq^Hy2+AUJYkk4<`p+O$T2GdtaA(9=vyKeQkXle0e2!O&xrEdG&1V9Nc`Q zFn=4W^52L0{s#O%$*6yrZ14WR;pBh)h0+tV_LndK2>rda{&~2)yQHUw6DSn+X#FL| z;3^Fz2j%Zj8Xav-gZvHO z{Fc+)hdM#0ub9s-iGv^Q6nTJUHE@FolEromXGfgVwe;7%oOcY&hF2o-hav4otks>O znEpsr1C;`Gs-E`A;P<_iBZvWyp!vy@{b+#i%2ggYp?A|1!|u>FT_))|6;KEd4$L_4 z0&(iPp|&IqepS5iPA`?5sTAAdtuM7N0I47Fn$olLnKucL6y5+Ro36o@%oaGC+)5Gg z)9=iXA~Px8cdl4uX*50iGzcy%ztO`?oif0gKj~DOqAQKObJDKbF!@oFACvt3P$G>E z6d3X~idJze8|?ptztWbzBaFJjG+C|lT!KYpToi?} z0Nq4xL*DCQ?w4g1N8rX|Hm1oanL}!7?vh)WyHmV~$ndaT?Fx3YNVzSc(Ye}k#F>9a zS)zn*<79_bHuFmAuQn#D1IyN%!K{?Z&19gfH8co|fjt+EpK-)TJ8$cuBGQ7Aj0Ibx zFjG@}>zwpY=vW4?EpE%AA@tT+C9Td=p85q67Fp0@bCYc9Ua}zwpHxZIjIPO|w&wvA!qsr{2fMpu zH#f>Ob~X$Y7!^Aqhgp|~y^6KX?nk}PdGdrqkm+&(##)blZ4e!1M~TsWR?iTAYL?mK zED@>NXwE%AozIlR#%9cYLKSV!oTemx3(^KP5=`0SwyO=cAhn<%`M`t<3i$jQF}2Kk zBrPhr!tZHU&OtxWK7>xoXNPPnJBmod>y-01A_l72OW%LHfd&d&9T82Rh5h!FNWSOQ zzy^x~DbxMJz`|LY<9D||^m594YR&|*s;9dQ$lFzHtW7lH^4HI{UL7#r@n(>YKCB0) zTa>?xzhALh9kaa3{6+%@K_tX^^5scgG0kMSO0T4SDIL5RU$sG%48G<-;{S2DBo#Qf zGSjT%?*y%0yNLM#T<4Jwn+Gnv+2^J#iOX-`W9_W=yph(Ns7G?58H?H=YvSv=YQsK( zmKc^yGBQ%GqPM(Aozxqjg<^|rm6#lO4U~U)iWAXC&y3JGEmVZ>3ZXTEm(r zF$dD0aq0W0AB#ja`nU@y+U}RP=f=N;_vOmW)tEo}s%kpdWFx<{_U%l zohhff-SmpSb_Q~Qd8b6~sXj4<_LgXTjf~dY7)aULj7c$Samn`XQ`QSHevp>3W%A`G2(nin zu_6aPyKaf3e%cg7doi|M!sK2bPtUxRQaa3__+;;DO-WbgFnH78psO%qK&|p})|1WN z=Yr`zOM=;BnRRjaMEZTnAKKrqDevo(?~+xyW1RbazC%dKh*XMLbSGMCiL^k3e-NB$ z!I|CefOCkAuAL!)os-vMtbZH?s=fNO{^J`@U>RqBM-lZ1>eiL5K`%znNce*@w$G}P zB&fQtSb4@9X-=VFDA5Rb^n91AtjWxNQ%{k+bpX3nbX7kiXswe%WToLJK4RcH-v?@-M#4SaPrDY8_v0NcBQqCJ?O37hfnDA~Cu4i$PU%Vu7 zLNdN~d&OO2wzKF?*rT>zv9DS3SFOe$4>lxlWLFXH=>jkPOPc3N{kus-9YGq^hZl5&1A4k^;OsAa z*|_>8NO(Z*LOd$Xtqqf7dt4>`s&jt9?CJ2Kll@WcHrC7Ut%I?B8!>)1i{jmV?$_cp zp8Z<#JjQWiI`l~&hZnMV_C>79kpz1VN2x64qglIQoB|m75QCPL?=46ZFKSzI8 zE!vETFWCN3;L1c{Y&>R16$RQ94=fbmK#^_`KCtV_XlGo0^6ZUZlk%5_6q zdgM*ruSFOM3b>#Q3y4uRng%+roOS&!58M;G7dvd*pm_6p3mvZ zC=w|A&ZHr|oz0{J-R>>2;8nY2^7FPD=GSRGH`=4$tFm`oVpPP}+z(QO7^pY)E{h@c z_o*u*=@QWi`tK|aRN?kVd!jWEzn-#UdRI(~Cs!_5{!rp5{Ok+P!o<@`c^qJ@6>p-z(^2-2Eh{TzYG{PYz(lfeA&x(Qk5 znOPAxpvXt@nl$T)JCi$3JX#MgmzW-260X zX2*ItYzNf*L6$|x!Z*r_0hk`&N-Z+QOIQ|(w=0X=@G>tpK^bhttVf;5XbxEl6n3zv z*OfAZA}o7}*}^Q^bh#<#Y+?HAaQ*ZI!Kxy1~N80a||dq;V76l9u2^caxu5Iz&kd_+Lq2#gb6pCxG0*=gN06A&R9k+9qk5n6 zEC>5tiKzw1@oL6Vj2PkZi)S=H0U{qX;MjEXozjC7&C5uC2p(v8}-vRe}Z9 zYtr#5Zq=~L2p073}p&y%Ao#ZNcnkZUSt;tDLesc;uRE^~<=oYB(+uO0g9 z-rX=1LgL82R?}zHO!v)J(a!;G53$;+x-otxMf)uvm@i`PD0YYL=Cu(6k;Y^s@31|vGWkL|7nRG5O>(|(kq^U%twR^4@58h(~Swb>CbulI0 zxmR?q#EkZq6os4fxE<&{A!*9^G~AUipT%-S(JTH&KfB(|IZ$TO8x)(0F&i!uD(x{} zQ*;7&fqHoOOQTA(qs2j2cmU34@qsG|WvhmA{~Low)d5Ji`frE6n!d7rm-wMuG4+5R}o+n7-}qa!VxB#nR9fH}Tqw-Z;WPbGG&P>%#!;_nh=g3y~8 zWrzA%J#1F#?$3L!TPtO_QAv8FzRe_w=gd2Jbni1*EM{XX>PwH56TAVws&TMxt!an4 zkfk^QF!VMt6KCl*)SI>EJ+%CtHya=$Mo$<|wGwV_F*GR`qDIadjw+y3{(XFT@6qat zry7ggS$0EPQ?jjGVGE|lU?>4a)y;J1!Q(vV=bEd=H#~7zJl%VpnXYESdsB2x$Ss1U zdUQ1G$cDn)m}NV`nMk62`EwXTqsD zY;h{Z-WX9M@XTPVwA?tB`!$oAGg~+1S%dWL>&4HL`_KjxrfYUS7KG)zUN!2SV#zn( zjWEEos@Lx$%Af^@=1s8p(@h)SAzJUH*lyJAc9&lf)*{bWN^80TaY*M{-I<)@FK%^p zA~v$nY0|D7J=&FGYprfzlGL|LP39n^9)uHkwa_Qr_B2M+Hra7|h)U)yANSph@^oHD zrmQQrTK8azqf?u?#g}Qu2;BxRAT`{hjb2L=V3t+q1^1<<7n?jou}<|aA*~g+>O3pC zJx;9x2%qUMGAnQj8ifX#zR{k>z2w@~|LJX`bjJ>Az@W+*Zw%hdJOs41M_IISA~rO; z%62_!W-p#1gt_QFk7aV!c^pU;ucX1p3ce1Kv5gTJsxTd}D8*IerVY9`9&TQPyyQ6H zp%0P)uE%joWq1pZsm-_s7sOF^_l^jxe>w0uR{ShH>|V@GXnS_@{!oP;u+6(Dt4asG z{Q0}CJ278XDTDc~qjxo!tR`@R1(CdfNgKq1rSW8{vbH4V*Upj58y)XXh`wK@b=9#e zjUqle3Bj(BLHSnR#i}%$7LeoEGpT`2m0+V((v`?34qsLO=mi}u1I^+qHqS7+ATSfj z-5P)BeY==uZ4(ljvg`+ZD42{b`xrktU&v5 z4DyF14W+{49VV>?9SN*501w)zyQz)U9*MED`U1WC7!=%&G5HJ(967Ps^q9H_DKI836RYyq5L8s#!s0OL2iT(^VbStfyM$i;v<^vuAG+iN7BT_mz`rt` z_L@%t+n2QGM31+p;8-Q_8wxm zfLH}s2?L)LKYn?>jUwIZ7y2+NF6$$3VzL?$(8SY5o~juH^E+lKFdVr%s_=`@wi&RT z&sjzQtiom@zrHAS_BsR9skac)t$hljb%g>br9|0l^PkHbF`>Yu0HwCx$W92vJYZZ? zLzAlS{_=|W6J&A{Fpv4V0-{*5nUr?3?6#5W>=lqh(F7uulW-xaFG5tL5=Rj_NHwAY z=9IPY3z`B-WdnGi)vuiZ|65f=xg*8_>`F6G-~d)1HihE=HIVln3a^u@yCE0Gws2XV zz?Mt{{6vyJ@CLsj$VXrq+D0waE|*bJJGBv7GYpr@l%+oyjKVG4(2W4HpMlXSO-A3= z4QJ%DhV>_%>}TevXZLCRYJBuSp^F@uezXBLvC9MnOc$5?a5Q=@eK6e}Kf@5#mlZ^- zFS@P-+9HfNbKj%nv~mtlw||lNFuu{E_dnp~=RgsYBtH(xiC^N`$A-+PG2*vZd(J*o z+|RgzMcn{k14tIp^TkFZ1e9YYOj0VF~zilDqH_;dAamIZZ43Fl)g81?1c_RJs3<1ad*5KgZA_D8p` z$fVT*@lN>2tc%bKPi6eIfvZ@kIJ{JmFFY(_v(r8il~oa8*AoF-8Jkp&aMfF1#c( zn#@F4StB9vQ@Fz^|6v6LAiZZM+s_N&eWt`U2y&dp<-ce;Amx?!9U+=a!`^ zlrR)OF|%o%+O7C{Y^q!Y0tni%ym4&`3Iw`ZKnJc4!%a^cn^ko%@mUK8P^}y-3Cb)0 z|35?QJC65tL5bRQ(g}c*evFS44m7e?Q%0BQHbv-Ej=NtkKuA)T-u4Mq7v%A2-S-l#l z5hAh*_F5Z=J^dM4EBY}F&EF21ED;#Rj0g7RwD0)GXlpIkbLkvlR6o6ZlC53etMNx8DChh`^`4i_}0Ra0+1q^D1W}W52Io<=4=!@8%rPaR{ zLIY7dsn-;nrxoPda=j?J7HKx-H7)!D+3sKKZA0O}&9zbI_9vPv(i{O)bx0ErD>pyd zz5auM(Flk}qXF1yanp?8j4=B8PhSq)spZ=v;3#P0aiboy_a~*dOm8o2KZMM{k=O!R zq(0jMunqmRMJ5MzC9gc6fis0)1X0-`ISA$3B^4wwdR3ZkW{4XUP`wI259_%|&>;7u zUB}4JQJ}4;51QM*1p3!G0oy;9%}`~Q@a~$}d&BLLjTWlxTiJZlyOkQIwdHS10Eu|7 zz~cpY$pb280YkR=BuOZF%E`AJ8HjWk9nCER9|3JAA3VUqyWH6J9k0zk;&p%-q8!uw z_t!|n7dM<-fV|A`k#%6^EXmAmN|Qr^?dbHQ#?{7-zP!%u#D)*?%1;2WB}-)s##cCg z6E^V#NWi=E3d{$TL6v=V=5g0 zQtP-3WY*TDHGsL_8=2N$0EtnuON7D7HdJj&i%}*eZ6vLacgR0@#jN0IaN%yO2UEB_ zNg(?SS@Ojpg>u2!5Ix#s2Ip*t;!80(|*K&|HHQxjh@O` z#E+al8O1ddIor2(emMkALA}fBD?Ls3477|7mPVCLnOaUh9AoRa7Qspe(vEh6`v}I8 zEZ-^cWTMXxE$%%yw8FVe?w@Ol=s|=6C^UHz5?0luNc--76?9OA2KE7=i`Hm2qAdqX z6FAB9Jo2--(yWZo4kK-s?-;oViH8MzUaap8M(p*gF>4ez4|i$FqU86}BN~ufvV|L> zCHQ0nMbQ`lv5|xhgpLX+g*ZJsRiKauEFnZ#kit9tDFC@ADsjIOJf@TT%L(f&(Anku z@J@WM)WEq(m;6sYHtm$W0$fYH1t#v9ep0+Jkv>x5K{lHZVJiq~ybK27>F;*`Pqhw% zpKcW$HH2VSs_8W4E#E{y>Wa||oSTBDywo}r!2qXmz|jfTQQO<*{tf8>=OG7q&yfBl zF6^VF3hP?vb6HGk!qwX=^3st$3(+&6>K!cj{t*p;?)i92Yw%AeJ<$fvwh^PZ-pt{(5#j*Ddb~(JOObU` zt@ptJ5OgBq`jYeyT}svyG^qaB0x7!-9Ca@>sr-JY3bqazPv3=X`~ltD-BaZz4cut2 zRn0^6E)BFIp2TqLQqpf20a^s3p~w`LWN)qiIu%B8E-D;XA8hzce*?dxq1DKhyO{ThRXnirK7P zuyq)OF!GEY8_46*SS&^4ZA*cUs~H^PnEyLX()V{LJsIo6rtgO9*zZ#mCMxK{*S)6T zZgIr`Fv58Ago@rm?`!9uvDMoBdI-FP@#=p7y@WY2Ka1hhA;I&Y;UK-Etlvp6D3>tX znY&Q?N@DbrtW66m`#8Ei0Kt@N=P`ap@uRW%O{K~hTcT};%2r%DqihQ?D()w2ix#%m*M<6E30G1U^Ob1l13Df-K@b;EuCYH{ z5%XpN5gy?3V>Y`M89U@`~Z1<0pN4(qO5Macl%1$4+jG5CYJ z0nsIj9&0l;4{`cb7wcg~ZxA`x-SMcdHx1b3$xes_w;tEM zap>9t7VK!`ZRo#<@gLKYXS!*F!n0nvaI_w7{abnEz7aDOI2$HWgnm?zNZ!$j9rI1; za$q`SVh2tVJ{y!$0`a8z07diH7D&-4U=8&ZLS{W!-D*r`8*K-VW~4RJ`V>szSK)?=c+zBqZOEDa<&2nw|&|cBAVn- zp3=MmFxv(`GGPN(O8-3-@Wq+@=XA&3OF_Kry(x1^m4IrDeyUq?u09R%SOoi${x8tR aJb+Q11?!A|WzIeT0000?&t;ucLK6Uc`3(R7 diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Train Labels.zip b/tests/data/oscd/Onera Satellite Change Detection dataset - Train Labels.zip index 4332a78b828fad97514356809b3e210887181e1d..6a91068749ec0319339edf4a520c2a69a76f79f3 100644 GIT binary patch literal 9936 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 diff --git a/tests/data/oscd/Onera Satellite Change Detection dataset - Train Labels/train1/cm/cm.png b/tests/data/oscd/Onera Satellite Change Detection dataset - Train Labels/train1/cm/cm.png index 337cd665214e012c0e068098b83e94b979ccfe92..131f6e252412b3bc168d497e242fae1c37723c54 100644 GIT binary patch literal 4228 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