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.