Releases: sentinel-hub/eo-learn
Version 1.5.7
- Remove
numpy<2restriction.
Version 1.5.6
- Limit
geopandasversion to < 1.0.0
Version 1.5.5
SnowMaskTasknow correctly handles temporally empty eopatches.
Version 1.5.4
- Minor fixes for documentation
Version 1.5.3
- Fix version
numpy<2in anticipation of numpy 2.0 release.
Version 1.5.2
RayExecutorcan now forward remote kwargs to ray jobs.ImportTiffTaskno longer uses theuse_vsiparameter. The IO part was fully off-loaded torasterio.ImportTiffTaskandExportTiffTaskparameterfolderwas renamed topath. The renaming is backwards compatible for now.
Version 1.5.1
MorphologicalFilterTaskadapted to work on boolean values.- Added
temporal_subsetmethod toEOPatch, which can be used to extract a subset of anEOPatchby filtering out temporal slices. Also added a correspondingTemporalSubsetTask. EOExecutornow has an option to treatTemporalDimensionWarningas an exception.- String representation of
EOPatchobjects was revisited to avoid edge cases where the output would print enormous objects.
Version 1.5.0
The release focuses on making eo-learn much simpler to install, reducing the number of dependencies, and improving validation of soundness of EOPatch data.
eo-learnis now distributed as a single package. Installation ofeo-learn-maskand similar is no longer necessary and users are warned when such installations are detected.- Changes to
timestampsandbboxattributes ofEOPatchobjects:FeatureType.TIMESTAMPSandFeatureType.BBOXhave been deprecated, data should be accessed via attributes. Feature parsers no longer return these values (for instance when callingEOPatch.get_features).- EOPatches without temporal information now have a timestamp value of
None, whereas a timestamp value[]signifies that the EOPatch has a temporal dimension of 0. - Introduced a
get_timestampsmethod that will fail iftimestampsareNone. This can be used in cases where timestamps are assumed to be present (to avoid issues with type-checking and ill formed inputs). - Loading, saving, and copying of EOPatches will take
timestampsinto account either when processing the full eopatch (i.e.features=...) or if the selection contains a temporal feature. The behavior can be controlled via theload_timestamps/save_timestamps/copy_timestampsparameter.
- Saving and loading of
FeatureType.META_INFOnow processes each feature as a separate file, allowing better filtering and preventing accidental overwriting. - The default backend for
SpatialResizeTaskhas been switched tocv2to reduce the number of dependencies. eolearn.geometry.morphologytasks now usecv2instead ofscikit-imageto reduce the number of dependencies. The task interfaces have been slightly adjusted.- Improved reports:
- Exception grouping is now done by exception origin instead of exception message, resulting in shorter reports.
- Added execution time statistics per node
CloudMaskTaskhas been restricted to mono-temporal predictions using thes2cloudlesspackage. For the multi-temporal one check here.- Certain tasks (for instance
SaveTaskandLoadTask) no longer pass arguments to the super-class via **kwargs in order to improve documentation and type-checking. SaveTaskandLoadTasknow raiseOSErrorexceptions instead ofIOError.- Project-specific and outdated EOTasks were moved to extras or to the example repository eo-learn-examples/extra-tasks.
- The submodule
eolearn.features.bands_extractionhas been renamed toeolearn.features.ndi. - The submodule
eolearn.ml_tools.extra.plottinghas been moved toeolearn.visualization.utils. - Compression of EOPatch files has been hardcoded. The parameter
compression_levelhas been deprecated and has no effect. - Introduced experimental
zarrsupport for loading/saving temporal slices of temporal features. The API might be changed in future releases. - Limited
rasterioto 1.3.7 due to an issue with importing rasters from AWS S3 - Updated examples, simplified tests, various improvements.
Version 1.4.2
Changelog:
- Introduced support for Python 3.11.
- Removed support for Python 3.7.
- Added T-Digest
EOTaskin the scope of the Global Earth Monitor Project, contributed by @meengel. - Used evalscript generation utility from
sentinelhub-pyin SH relatedEOTasks. - Deprecated the
EOPatch.mergemethod and extracted it as a function. - Deprecated the
OVERWRITE_PATCHpermission and enforcing the usage of explicit string permissions. - Encapsulated
FeatureDictclass asMapping, removed inheritance fromdict. - Switched to new-style typed annotations.
- Introduced the
ruffpython linter, removedflake8andisort(covered byruff). - Fixed issue with occasionally failing scheduled builds on the
masterbranch. - Various refactoring efforts and dependency improvements.
- Various improvements to tests and code.
Version 1.4.1
The future direction of eo-learn will start prioritizing reliability and safety of code. After a lot of debate we decided that EOPatches must be well defined in the sense of geo-spatial information (bounding box) and, when using temporal features, temporal information (timestamps). In this light we decided to slowly adjust the code so that ill-formed EOPatches would occur less often. The end goal is to separate these patch-defining meta-information from other EOPatch features.
In this minor release we added a fair amount of deprecation warnings, that should help users to adapt their code ahead of any big codebreaking changes.
- The codebase is now fully annotated and type annotations are mandatory for all new code.
- In the future
EOPatchobjects will require a validbbox. For now the users are warned when no such value is provided. SaveTaskandLoadTasknow automatically save/load the bounding box whenever possible, even if not specified infeaturesparameter.CopyTaskandMergeEOPatchesTaskalso always include the bounding box when possible.- The
EOPatchattributebboxcan no longer be deleted via thedelcommand. - The
EOPatchattributetimestampwas renamed intotimestamps. The old name still works, but the users are notified. Similarly forFeatureType.TIMESTAMPwhich was renamed toFeatureType.TIMESTAMPS. - Feature parsers from
eolearn.core.utils.parsersnow support callables as input forallowed_feature_types, which are used for filtration over all feature types. Due to this improvement the classFeatureTypeSetwas deprecated. - Certain rarely used methods of
FeatureTypewere deprecated. Methodis_rasterhas been renamed tois_arrayand designates feature types that contain numpy arrays. We also addedis_imagefor types that denote temporal and timeless imagery. - Contributors are no longer listed in file headers, but are instead listed in the
CREDITS.mdfile in the root of the repository. - Updated
CONTRIBUTING.mdinstructions. - Various other minor improvements and deprecations.