rslearn 0.0.12__py3-none-any.whl → 0.0.14__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- rslearn/config/dataset.py +23 -14
- rslearn/data_sources/planetary_computer.py +52 -0
- rslearn/dataset/handler_summaries.py +1 -0
- rslearn/dataset/manage.py +16 -2
- rslearn/lightning_cli.py +67 -0
- rslearn/main.py +8 -62
- rslearn/models/olmoearth_pretrain/model.py +1 -0
- rslearn/train/all_patches_dataset.py +458 -0
- rslearn/train/data_module.py +4 -2
- rslearn/train/dataset.py +10 -446
- rslearn/train/prediction_writer.py +25 -8
- rslearn/train/tasks/embedding.py +116 -0
- rslearn/utils/array.py +6 -4
- rslearn/utils/raster_format.py +38 -0
- {rslearn-0.0.12.dist-info → rslearn-0.0.14.dist-info}/METADATA +2 -2
- {rslearn-0.0.12.dist-info → rslearn-0.0.14.dist-info}/RECORD +21 -18
- {rslearn-0.0.12.dist-info → rslearn-0.0.14.dist-info}/WHEEL +0 -0
- {rslearn-0.0.12.dist-info → rslearn-0.0.14.dist-info}/entry_points.txt +0 -0
- {rslearn-0.0.12.dist-info → rslearn-0.0.14.dist-info}/licenses/LICENSE +0 -0
- {rslearn-0.0.12.dist-info → rslearn-0.0.14.dist-info}/licenses/NOTICE +0 -0
- {rslearn-0.0.12.dist-info → rslearn-0.0.14.dist-info}/top_level.txt +0 -0
rslearn/utils/array.py
CHANGED
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
"""Array util functions."""
|
|
2
2
|
|
|
3
|
-
from typing import Any
|
|
3
|
+
from typing import TYPE_CHECKING, Any
|
|
4
4
|
|
|
5
5
|
import numpy.typing as npt
|
|
6
|
-
|
|
6
|
+
|
|
7
|
+
if TYPE_CHECKING:
|
|
8
|
+
import torch
|
|
7
9
|
|
|
8
10
|
|
|
9
11
|
def copy_spatial_array(
|
|
10
|
-
src: torch.Tensor | npt.NDArray[Any],
|
|
11
|
-
dst: torch.Tensor | npt.NDArray[Any],
|
|
12
|
+
src: "torch.Tensor | npt.NDArray[Any]",
|
|
13
|
+
dst: "torch.Tensor | npt.NDArray[Any]",
|
|
12
14
|
src_offset: tuple[int, int],
|
|
13
15
|
dst_offset: tuple[int, int],
|
|
14
16
|
) -> None:
|
rslearn/utils/raster_format.py
CHANGED
|
@@ -123,6 +123,44 @@ def get_transform_from_projection_and_bounds(
|
|
|
123
123
|
)
|
|
124
124
|
|
|
125
125
|
|
|
126
|
+
def adjust_projection_and_bounds_for_array(
|
|
127
|
+
projection: Projection, bounds: PixelBounds, array: npt.NDArray
|
|
128
|
+
) -> tuple[Projection, PixelBounds]:
|
|
129
|
+
"""Adjust the projection and bounds to correspond to the resolution of the array.
|
|
130
|
+
|
|
131
|
+
The returned projection and bounds cover the same spatial extent as the inputs, but
|
|
132
|
+
are updated so that the width and height match that of the array.
|
|
133
|
+
|
|
134
|
+
Args:
|
|
135
|
+
projection: the original projection.
|
|
136
|
+
bounds: the original bounds.
|
|
137
|
+
array: the CHW array for which to compute an updated projection and bounds. The
|
|
138
|
+
returned bounds will have the same width and height as this array.
|
|
139
|
+
|
|
140
|
+
Returns:
|
|
141
|
+
a tuple of adjusted (projection, bounds)
|
|
142
|
+
"""
|
|
143
|
+
if array.shape[2] == (bounds[2] - bounds[0]) and array.shape[1] == (
|
|
144
|
+
bounds[3] - bounds[1]
|
|
145
|
+
):
|
|
146
|
+
return (projection, bounds)
|
|
147
|
+
|
|
148
|
+
x_factor = array.shape[2] / (bounds[2] - bounds[0])
|
|
149
|
+
y_factor = array.shape[1] / (bounds[3] - bounds[1])
|
|
150
|
+
adjusted_projection = Projection(
|
|
151
|
+
projection.crs,
|
|
152
|
+
projection.x_resolution / x_factor,
|
|
153
|
+
projection.y_resolution / y_factor,
|
|
154
|
+
)
|
|
155
|
+
adjusted_bounds = (
|
|
156
|
+
round(bounds[0] * x_factor),
|
|
157
|
+
round(bounds[1] * y_factor),
|
|
158
|
+
round(bounds[0] * x_factor) + array.shape[2],
|
|
159
|
+
round(bounds[1] * y_factor) + array.shape[1],
|
|
160
|
+
)
|
|
161
|
+
return (adjusted_projection, adjusted_bounds)
|
|
162
|
+
|
|
163
|
+
|
|
126
164
|
class RasterFormat:
|
|
127
165
|
"""An abstract class for writing raster data.
|
|
128
166
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: rslearn
|
|
3
|
-
Version: 0.0.
|
|
3
|
+
Version: 0.0.14
|
|
4
4
|
Summary: A library for developing remote sensing datasets and models
|
|
5
5
|
Author: OlmoEarth Team
|
|
6
6
|
License: Apache License
|
|
@@ -214,7 +214,7 @@ License-File: LICENSE
|
|
|
214
214
|
License-File: NOTICE
|
|
215
215
|
Requires-Dist: boto3>=1.39
|
|
216
216
|
Requires-Dist: fiona>=1.10
|
|
217
|
-
Requires-Dist: fsspec>=2025.
|
|
217
|
+
Requires-Dist: fsspec>=2025.10.0
|
|
218
218
|
Requires-Dist: jsonargparse>=4.35.0
|
|
219
219
|
Requires-Dist: lightning>=2.5.1.post0
|
|
220
220
|
Requires-Dist: Pillow>=11.3
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
rslearn/__init__.py,sha256=fFmAen3vxZyosEfPbG0W46IttujYGVxzrGkJ0YutmmY,73
|
|
2
2
|
rslearn/arg_parser.py,sha256=GNlJncO6Ck_dCNrcg7z_SSG61I-2gKn3Ix2tAxIk9CI,1428
|
|
3
3
|
rslearn/const.py,sha256=FUCfsvFAs-QarEDJ0grdy0C1HjUjLpNFYGo5I2Vpc5Y,449
|
|
4
|
+
rslearn/lightning_cli.py,sha256=io1Agb2fr-fUu9yOODNJhP8-vJp_v9UbJJA2hkLubKA,2435
|
|
4
5
|
rslearn/log_utils.py,sha256=unD9gShiuO7cx5Nnq8qqVQ4qrbOOwFVgcHxN5bXuiAo,941
|
|
5
|
-
rslearn/main.py,sha256=
|
|
6
|
+
rslearn/main.py,sha256=JMNMhAHqpb9bDUoKzj6kN659Ft_-gZv_rKUieJcJNwI,29087
|
|
6
7
|
rslearn/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
7
8
|
rslearn/template_params.py,sha256=Vop0Ha-S44ctCa9lvSZRjrMETznJZlR5y_gJrVIwrPg,791
|
|
8
9
|
rslearn/config/__init__.py,sha256=Bhf2VVncdMYRC8Wfb4GsJJ13OAJYNCO_ODLSNTmBOHM,638
|
|
9
|
-
rslearn/config/dataset.py,sha256=
|
|
10
|
+
rslearn/config/dataset.py,sha256=lIuFgJG0Hz7nxacFIpbwOyNJqjlkOlaMfWt91Chjb_M,21338
|
|
10
11
|
rslearn/data_sources/__init__.py,sha256=8_7Pi3agKsatNoxXw74-U5G-QAP-rbdfcH8EkZfJbH4,1449
|
|
11
12
|
rslearn/data_sources/aws_landsat.py,sha256=GA9H04KagBDm-N37jFdh_aHCX2ZneVdnqT1SNOyAwTs,20829
|
|
12
13
|
rslearn/data_sources/aws_open_data.py,sha256=nU_D5cqc-wibxq4uyUNb0z-XD0Puf1gZ8v5FMiMAN5w,30258
|
|
@@ -24,7 +25,7 @@ rslearn/data_sources/local_files.py,sha256=d08m6IzrUN_80VfvgpHahMJrv-n6_CI6EIocp
|
|
|
24
25
|
rslearn/data_sources/openstreetmap.py,sha256=qUSMFiIA_laJkO3meBXf9TmSI7OBD-o3i4JxqllUv3Q,19232
|
|
25
26
|
rslearn/data_sources/planet.py,sha256=F2JoLaQ5Cb3k1cTm0hwSWTL2TPfbaAUMXZ8q4Dy7UlA,10109
|
|
26
27
|
rslearn/data_sources/planet_basemap.py,sha256=wuWM9dHSJMdINfyWb78Zk9i-KvJHTrf9J0Q2gyEyiiA,10450
|
|
27
|
-
rslearn/data_sources/planetary_computer.py,sha256=
|
|
28
|
+
rslearn/data_sources/planetary_computer.py,sha256=Vi-aBHQe-BA8NjRyPMgurMAdo3sK6PJteCK5MwXygJo,31869
|
|
28
29
|
rslearn/data_sources/raster_source.py,sha256=b8wo55GhVLxXwx1WYLzeRAlzD_ZkE_P9tnvUOdnsfQE,689
|
|
29
30
|
rslearn/data_sources/usda_cdl.py,sha256=2_V11AhPRgLEGd4U5Pmx3UvE2HWBPbsFXhUIQVRVFeE,7138
|
|
30
31
|
rslearn/data_sources/usgs_landsat.py,sha256=31GmOUfmxwTE6MTiVI4psb-ciVmunuA8cfvqDuvTHPE,19312
|
|
@@ -37,9 +38,9 @@ rslearn/data_sources/xyz_tiles.py,sha256=SJV8TB6WUP6DTPr2d3LXRKVjFxda7bdR9IM84Vv
|
|
|
37
38
|
rslearn/dataset/__init__.py,sha256=bHtBlEEBCekO-gaJqiww0-VjvZTE5ahx0llleo8bfP8,289
|
|
38
39
|
rslearn/dataset/add_windows.py,sha256=pwCEvwLE1jQCoqQxw6CJ-sP46ayWppFa2hGYIB6VVkc,8494
|
|
39
40
|
rslearn/dataset/dataset.py,sha256=bjf9nI55j-MF0bIQWSNPjNbpfqnLK4jy-96TAcwO0MM,5214
|
|
40
|
-
rslearn/dataset/handler_summaries.py,sha256=
|
|
41
|
+
rslearn/dataset/handler_summaries.py,sha256=wI99RDk5erCWkzl1A7Uc4chatQ9KWIr4F_0Hxr9Co6s,2607
|
|
41
42
|
rslearn/dataset/index.py,sha256=Wni5m6h4gisRB54fPLnCfUrRTEsJ5EvwS0fs9sYc2wg,6025
|
|
42
|
-
rslearn/dataset/manage.py,sha256=
|
|
43
|
+
rslearn/dataset/manage.py,sha256=owelBiBqvoIQYLhFMDK4ULzcoGBNE27JV8kl68jf3wg,18563
|
|
43
44
|
rslearn/dataset/materialize.py,sha256=-z47svc_JqGhzkp8kq5Hd9fykWNqFEUCQezo887TWBw,22056
|
|
44
45
|
rslearn/dataset/remap.py,sha256=6MaImsY02GNACpvRM81RvWmjZWRfAHxo_R3Ox6XLF6A,2723
|
|
45
46
|
rslearn/dataset/window.py,sha256=I5RqZ12jlIXhohw4qews1x_I4tSDpml709DZRtLiN24,12546
|
|
@@ -86,7 +87,7 @@ rslearn/models/galileo/__init__.py,sha256=QQa0C29nuPRva0KtGiMHQ2ZB02n9SSwj_wqTKP
|
|
|
86
87
|
rslearn/models/galileo/galileo.py,sha256=jUHA64YvVC3Fz5fevc_9dFJfZaINODRDrhSGLIiOZcw,21115
|
|
87
88
|
rslearn/models/galileo/single_file_galileo.py,sha256=l5tlmmdr2eieHNH-M7rVIvcptkv0Fuk3vKXFW691ezA,56143
|
|
88
89
|
rslearn/models/olmoearth_pretrain/__init__.py,sha256=AjRvbjBdadCdPh-EdvySH76sVAQ8NGQaJt11Tsn1D5I,36
|
|
89
|
-
rslearn/models/olmoearth_pretrain/model.py,sha256=
|
|
90
|
+
rslearn/models/olmoearth_pretrain/model.py,sha256=ZJgoyy7vwB0PUMJtHF-sdJ-uSBqnUXMDBco0Dx4cAes,10670
|
|
90
91
|
rslearn/models/olmoearth_pretrain/norm.py,sha256=rHjFyWkpNLYMx9Ow7TsU-jGm9Sjx7FVf0p4R__ohx2c,3266
|
|
91
92
|
rslearn/models/panopticon_data/sensors/drone.yaml,sha256=xqWS-_QMtJyRoWXJm-igoSur9hAmCFdqkPin8DT5qpw,431
|
|
92
93
|
rslearn/models/panopticon_data/sensors/enmap.yaml,sha256=b2j6bSgYR2yKR9DRm3SPIzSVYlHf51ny_p-1B4B9sB4,13431
|
|
@@ -107,11 +108,12 @@ rslearn/tile_stores/__init__.py,sha256=o_tWVKu6UwFzZbO9jn_3cmIDqc_Q3qDd6tA9If0T_
|
|
|
107
108
|
rslearn/tile_stores/default.py,sha256=PYaDNvBxhJTDKJGw0EjDTSE1OKajR7_iJpMbOjj-mE8,15054
|
|
108
109
|
rslearn/tile_stores/tile_store.py,sha256=9AeYduDYPp_Ia2NMlq6osptpz_AFGIOQcLJrqZ_m-z0,10469
|
|
109
110
|
rslearn/train/__init__.py,sha256=fnJyY4aHs5zQqbDKSfXsJZXY_M9fbTsf7dRYaPwZr2M,30
|
|
110
|
-
rslearn/train/
|
|
111
|
-
rslearn/train/
|
|
111
|
+
rslearn/train/all_patches_dataset.py,sha256=xFJ96HU3CodrUBzXTsgrmEShosKH79T2SxI0xDVSH3Q,18217
|
|
112
|
+
rslearn/train/data_module.py,sha256=pgut8rEWHIieZ7RR8dUvhtlNqk0egEdznYF3tCvqdHg,23552
|
|
113
|
+
rslearn/train/dataset.py,sha256=8F3bpus25g_NG0-CwMCuznwKxOvBDClNBCOEvDbMyN8,34312
|
|
112
114
|
rslearn/train/lightning_module.py,sha256=ZLBiId3secUlVs2yzkN-mwVv4rMdh5TkdZYl4vv_Cw0,14466
|
|
113
115
|
rslearn/train/optimizer.py,sha256=EKSqkmERalDA0bF32Gey7n6z69KLyaUWKlRsGJfKBmE,927
|
|
114
|
-
rslearn/train/prediction_writer.py,sha256=
|
|
116
|
+
rslearn/train/prediction_writer.py,sha256=mDvREwEB5k5_tNuBnYIvAGnxS3sYFWQYvV07V3UEe2k,14106
|
|
115
117
|
rslearn/train/scheduler.py,sha256=wFbmycMHgL6nRYeYalDjb0G8YVo8VD3T3sABS61jJ7c,2318
|
|
116
118
|
rslearn/train/callbacks/__init__.py,sha256=VNV0ArZyYMvl3dGK2wl6F046khYJ1dEBlJS6G_SYNm0,47
|
|
117
119
|
rslearn/train/callbacks/adapters.py,sha256=yfv8nyCj3jmo2_dNkFrjukKxh0MHsf2xKqWwMF0QUtY,1869
|
|
@@ -121,6 +123,7 @@ rslearn/train/callbacks/peft.py,sha256=wEOKsS3RhsRaZTXn_Kz2wdsZdIiIaZPdCJWtdJBur
|
|
|
121
123
|
rslearn/train/tasks/__init__.py,sha256=dag1u72x1-me6y0YcOubUo5MYZ0Tjf6-dOir9UeFNMs,75
|
|
122
124
|
rslearn/train/tasks/classification.py,sha256=kahVdXPU6fDwDCdqlrjZGb9uA-PYG74DbQQ0kJUt-Eg,13186
|
|
123
125
|
rslearn/train/tasks/detection.py,sha256=9j9webusrjGexvUmZ7gl3NTBS63Qq511VFlB2WbLi5Y,22302
|
|
126
|
+
rslearn/train/tasks/embedding.py,sha256=DK3l1aQ3d5gQUT1h3cD6vcUaNKvSsH26RHx2Bbzutbg,3667
|
|
124
127
|
rslearn/train/tasks/multi_task.py,sha256=dBWsnbvQ0CReNsbDHmZ_-sXjUE0H4S2OPcbJwMquG9g,6016
|
|
125
128
|
rslearn/train/tasks/per_pixel_regression.py,sha256=W8dbLyIiPgFI3gA_aZQX0pSFRWLP2v6tthsFbKhcDVg,8783
|
|
126
129
|
rslearn/train/tasks/regression.py,sha256=zZhrrZ1qxjrdLjKWC9McRivDXCcKiYfdLC-kaMeVkDc,11547
|
|
@@ -137,7 +140,7 @@ rslearn/train/transforms/select_bands.py,sha256=uDfD9G8Z4VTt88QZsjj1FB20QEmzSefh
|
|
|
137
140
|
rslearn/train/transforms/sentinel1.py,sha256=FrLaYZs2AjqWQCun8DTFtgo1l0xLxqaFKtDNIehtpDg,1913
|
|
138
141
|
rslearn/train/transforms/transform.py,sha256=n1Qzqix2dVvej-Q7iPzHeOQbqH79IBlvqPoymxhNVpE,4446
|
|
139
142
|
rslearn/utils/__init__.py,sha256=GNvdTUmXakiEMnLdje7k1fe5aC7SFVqP757kbpN6Fzw,558
|
|
140
|
-
rslearn/utils/array.py,sha256=
|
|
143
|
+
rslearn/utils/array.py,sha256=RC7ygtPnQwU6Lb9kwORvNxatJcaJ76JPsykQvndAfes,2444
|
|
141
144
|
rslearn/utils/feature.py,sha256=lsg0WThZDJzo1mrbaL04dXYI5G3x-n5FG9aEjj7uUaI,1649
|
|
142
145
|
rslearn/utils/fsspec.py,sha256=9QwN46heBhjUnth3qFeRNE3W6Wlr6dM3twYVswPnS9o,5300
|
|
143
146
|
rslearn/utils/geometry.py,sha256=oZllq1aBFcDewTTDYAMnTeP1xR0EdB5Xz3ILmfASo-8,18455
|
|
@@ -145,16 +148,16 @@ rslearn/utils/get_utm_ups_crs.py,sha256=kUrcyjCK7KWvuP1XR-nURPeRqYeRO-3L8QUJ1QTF
|
|
|
145
148
|
rslearn/utils/grid_index.py,sha256=hRmrtgpqN1pLa-djnZtgSXqKJlbgGyttGnCEmPLD0zo,2347
|
|
146
149
|
rslearn/utils/jsonargparse.py,sha256=JcTKQoZ6jgwag-kSeTIEVBO9AsRj0X1oEJBsoaCazH4,658
|
|
147
150
|
rslearn/utils/mp.py,sha256=XYmVckI5TOQuCKc49NJyirDJyFgvb4AI-gGypG2j680,1399
|
|
148
|
-
rslearn/utils/raster_format.py,sha256=
|
|
151
|
+
rslearn/utils/raster_format.py,sha256=RDzDPnWUJunqcj-F4oXKBl-rKFBUpRjvq7mMYhid3iU,27413
|
|
149
152
|
rslearn/utils/rtree_index.py,sha256=j0Zwrq3pXuAJ-hKpiRFQ7VNtvO3fZYk-Em2uBPAqfx4,6460
|
|
150
153
|
rslearn/utils/spatial_index.py,sha256=eomJAUgzmjir8j9HZnSgQoJHwN9H0wGTjmJkMkLLfsU,762
|
|
151
154
|
rslearn/utils/sqlite_index.py,sha256=YGOJi66544e6JNtfSft6YIlHklFdSJO2duxQ4TJ2iu4,2920
|
|
152
155
|
rslearn/utils/time.py,sha256=2ilSLG94_sxLP3y5RSV5L5CG8CoND_dbdzYEHVtN-I8,387
|
|
153
156
|
rslearn/utils/vector_format.py,sha256=EIChYCL6GLOILS2TO2JBkca1TuaWsSubWv6iRS3P2ds,16139
|
|
154
|
-
rslearn-0.0.
|
|
155
|
-
rslearn-0.0.
|
|
156
|
-
rslearn-0.0.
|
|
157
|
-
rslearn-0.0.
|
|
158
|
-
rslearn-0.0.
|
|
159
|
-
rslearn-0.0.
|
|
160
|
-
rslearn-0.0.
|
|
157
|
+
rslearn-0.0.14.dist-info/licenses/LICENSE,sha256=_99ZWPoLdlUbqZoSC5DF4ihiNwl5rTEmBaq2fACecdg,11352
|
|
158
|
+
rslearn-0.0.14.dist-info/licenses/NOTICE,sha256=wLPr6rwV_jCg-xEknNGwhnkfRfuoOE9MZ-lru2yZyLI,5070
|
|
159
|
+
rslearn-0.0.14.dist-info/METADATA,sha256=Jbm6ySbM4gkT_5o-RWbRr8APS8TYXq3Q-bWyeda-Uc8,36319
|
|
160
|
+
rslearn-0.0.14.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
|
161
|
+
rslearn-0.0.14.dist-info/entry_points.txt,sha256=doTBQ57NT7nq-dgYGgTTw6mafcGWb_4PWYtYR4rGm50,46
|
|
162
|
+
rslearn-0.0.14.dist-info/top_level.txt,sha256=XDKo90WBH8P9RQumHxo0giLJsoufT4r9odv-WE6Ahk4,8
|
|
163
|
+
rslearn-0.0.14.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|