asp-plot 1.11.1__tar.gz → 1.12.0__tar.gz

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.
Files changed (30) hide show
  1. {asp_plot-1.11.1 → asp_plot-1.12.0}/CHANGELOG.md +27 -0
  2. {asp_plot-1.11.1 → asp_plot-1.12.0}/PKG-INFO +2 -2
  3. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/altimetry.py +727 -367
  4. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/bundle_adjust.py +2 -2
  5. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/cli/asp_plot.py +64 -18
  6. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/cli/request_planetary_altimetry.py +1 -0
  7. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/cli/stereo_geom.py +4 -0
  8. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/processing_parameters.py +1 -1
  9. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/scenes.py +2 -2
  10. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/stereo.py +3 -3
  11. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/stereopair_metadata_parser.py +2 -2
  12. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/utils.py +3 -2
  13. {asp_plot-1.11.1 → asp_plot-1.12.0}/pyproject.toml +2 -2
  14. {asp_plot-1.11.1 → asp_plot-1.12.0}/.flake8 +0 -0
  15. {asp_plot-1.11.1 → asp_plot-1.12.0}/.github/workflows/release.yml +0 -0
  16. {asp_plot-1.11.1 → asp_plot-1.12.0}/.github/workflows/run-tests.yml +0 -0
  17. {asp_plot-1.11.1 → asp_plot-1.12.0}/.gitignore +0 -0
  18. {asp_plot-1.11.1 → asp_plot-1.12.0}/.pre-commit-config.yaml +0 -0
  19. {asp_plot-1.11.1 → asp_plot-1.12.0}/.readthedocs.yaml +0 -0
  20. {asp_plot-1.11.1 → asp_plot-1.12.0}/LICENSE +0 -0
  21. {asp_plot-1.11.1 → asp_plot-1.12.0}/README.md +0 -0
  22. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/__init__.py +0 -0
  23. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/alignment.py +0 -0
  24. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/cli/__init__.py +0 -0
  25. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/cli/csm_camera_plot.py +0 -0
  26. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/csm_camera.py +0 -0
  27. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/report.py +0 -0
  28. {asp_plot-1.11.1 → asp_plot-1.12.0}/asp_plot/stereo_geometry.py +0 -0
  29. {asp_plot-1.11.1 → asp_plot-1.12.0}/conda-forge-recipe/meta.yaml +0 -0
  30. {asp_plot-1.11.1 → asp_plot-1.12.0}/environment.yml +0 -0
@@ -5,6 +5,33 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.12.0] - 2026-04-10
9
+
10
+ ### Changed
11
+ - **ICESat-2 time filter default changed to `"all"`** (full mission range) instead of auto-detect ±1 year. The `--atl06sr_time_range` CLI option now accepts `"all"` (default), `"auto"` (XML metadata ±`time_buffer_days`), `"START,END"`, or a single date (buffered). Programmatic API: `_resolve_time_range()` and `request_atl06sr_multi_processing()` take a new `time_range` parameter (`"all"` or `"buffered"`) with cascade: `t0`/`t1` > `scene_date` > XML metadata > fall back to `"all"`. `t1` is truncated to midnight UTC for stable parquet caching.
12
+ - **ESA WorldCover sampled locally from AWS S3 COGs** via `rasterio` vsicurl instead of through the slow SlideRule `samples` parameter. WorldCover is now sampled inside `request_atl06sr_multi_processing` before the parquet save, so the column is persisted in the cache and doesn't have to be re-sampled on subsequent runs. COP30 also sampled alongside (asset name corrected to `esa-copernicus-30meter`).
13
+ - **3σ outlier filter** applied by default in `atl06sr_to_dem_dh` (and `planetary_to_dem_dh`) using the true mean ± 3·standard deviation (not NMAD). Pass `n_sigma=None` to skip. Dh colorbars and histograms use symmetric ±|filtered min/max| (≈ ±3σ) centered on 0 as display limits; all data is still plotted. Displayed stats remain Median / NMAD.
14
+ - **Profile plot (`plot_atl06sr_dem_profile`) restructured**: stacked elevation/dh plots on the left (shared x-axis, no vertical gap, grid lines), map view on the right spanning both rows. Figure reshaped to 16×8. Dh points colored gray instead of salmon.
15
+ - **Best/worst segments (`plot_best_worst_segments`) simplified** to a 1×2 figure (removed the context map). Scoring formula changed from `|median(dh)| + NMAD(dh)` to `3·|median(dh)| + NMAD(dh)` so a large median bias can't be hidden by a small NMAD. Labels "Better agreement" / "Worse agreement" instead of "Best" / "Worst". CLI report caption documents the formula.
16
+ - **Parquet cache** saved next to the ASP processing directory (`self.directory`) instead of the current working directory.
17
+ - **SlideRule logging** silenced (`verbose=False`, WARNING level, explicit filter on `sliderule.session`).
18
+
19
+ ### Added
20
+ - `filter_outliers()` method: removes dh points beyond `n_sigma` × standard deviation from the mean.
21
+ - `sample_esa_worldcover()` method: samples ESA WorldCover 10m values from AWS S3 COGs for manually-loaded data (auto-called inside `request_atl06sr_multi_processing`).
22
+ - `plot_best_worst_segments()` method: 1×2 figure showing 1 km segments with better and worse ICESat-2 vs DEM agreement.
23
+ - ICESat-2 time filtering documentation section in `docs/cli/asp_plot.md` explaining the three modes.
24
+
25
+ ### Fixed
26
+ - **Parquet cache regeneration bug**: SlideRule mutates the `parms` dict by injecting a random temp file path at `output.path` during `run()`, causing the string comparison to fail on every subsequent run. `output` is now stripped from both sides of the comparison and from stored parameters.
27
+ - **Parquet cache error swallowing**: the broad `try/except` around the cache comparison also wrapped the SlideRule API call; narrowed it so API errors propagate instead of being silently eaten.
28
+ - **Histograms no longer cut data**: replaced `range=` (which excludes data outside the range from the bins) with `ax.set_xlim()`, so all data is plotted and used in stats.
29
+ - **Single-date CLI argument** now uses `scene_date` buffering instead of being treated as a start date.
30
+ - COP30 SlideRule asset name corrected (`esa-copernicus-30meter`, not `cop30-dem`).
31
+
32
+ ### Dependencies
33
+ - Pinned `sliderule>=5.3.0` to pick up temp file handling fixes.
34
+
8
35
  ## [1.11.1] - 2026-03-30
9
36
 
10
37
  ### Fixed
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: asp_plot
3
- Version: 1.11.1
3
+ Version: 1.12.0
4
4
  Summary: Package for plotting outputs Ames Stereo Pipeline processing
5
5
  Project-URL: Homepage, https://github.com/uw-cryo/asp_plot
6
6
  Project-URL: Documentation, https://asp-plot.readthedocs.io
@@ -27,7 +27,7 @@ Requires-Dist: rasterio
27
27
  Requires-Dist: rioxarray
28
28
  Requires-Dist: scipy
29
29
  Requires-Dist: shapely
30
- Requires-Dist: sliderule
30
+ Requires-Dist: sliderule>=5.3.0
31
31
  Requires-Dist: xarray
32
32
  Provides-Extra: dev
33
33
  Requires-Dist: pre-commit; extra == 'dev'