asp-plot 1.6.4__tar.gz → 1.8.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.
- {asp_plot-1.6.4 → asp_plot-1.8.0}/.gitignore +2 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/CHANGELOG.md +49 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/PKG-INFO +4 -3
- {asp_plot-1.6.4 → asp_plot-1.8.0}/README.md +3 -2
- asp_plot-1.8.0/asp_plot/__init__.py +6 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/altimetry.py +725 -152
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/cli/asp_plot.py +99 -131
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/processing_parameters.py +32 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/report.py +21 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/scenes.py +14 -1
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/stereo.py +24 -9
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/utils.py +118 -47
- {asp_plot-1.6.4 → asp_plot-1.8.0}/pyproject.toml +1 -1
- asp_plot-1.6.4/asp_plot/cli/__init__.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/.flake8 +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/.github/workflows/release.yml +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/.github/workflows/run-tests.yml +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/.pre-commit-config.yaml +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/LICENSE +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/alignment.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/bundle_adjust.py +0 -0
- {asp_plot-1.6.4/asp_plot → asp_plot-1.8.0/asp_plot/cli}/__init__.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/cli/csm_camera_plot.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/cli/stereo_geom.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/csm_camera.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/stereo_geometry.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/asp_plot/stereopair_metadata_parser.py +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/conda-forge-recipe/meta.yaml +0 -0
- {asp_plot-1.6.4 → asp_plot-1.8.0}/environment.yml +0 -0
|
@@ -5,6 +5,55 @@ 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.8.0] - 2026-03-03
|
|
9
|
+
|
|
10
|
+
### Added
|
|
11
|
+
- New `_select_best_track()` method to find the RGT/cycle/spot combination with the most valid ATL06-SR points for profile plotting
|
|
12
|
+
- New `histogram_by_landcover()` method producing a histogram of ICESat-2 vs DEM differences with per-landcover-class statistics (count, median, NMAD) using ESA WorldCover
|
|
13
|
+
- New `plot_atl06sr_dem_profile()` method with a three-row figure: combined elevation + dh profile with dual y-axes, two 1 km zoom segments (best/worst agreement scored by |median(dh)| + NMAD), and DEM hillshade map with track overlay
|
|
14
|
+
- Server-side time filtering for SlideRule API requests via new `_resolve_time_range()` method with three-tier cascade: explicit `scene_date` parameter, auto-detect from stereopair XML metadata, or 2-year fallback
|
|
15
|
+
- `scene_date` and `time_buffer_days` parameters added to `request_atl06sr_multi_processing()`
|
|
16
|
+
- Module-level `ICESAT2_MISSION_START` constant and `WORLDCOVER_NAMES` dictionary for reuse across methods
|
|
17
|
+
- Module-level `_nmad()` helper function (Normalized Median Absolute Deviation)
|
|
18
|
+
- Time range labels displayed on ICESat-2 plot titles
|
|
19
|
+
- Tests for `_select_best_track`, `histogram_by_landcover`, `plot_atl06sr_dem_profile`, and `_resolve_time_range`
|
|
20
|
+
|
|
21
|
+
### Changed
|
|
22
|
+
- Migrated SlideRule API from legacy `icesat2.atl06p()` to x-series `sliderule_api.run("atl03x")` with automatic index and column normalization
|
|
23
|
+
- Simplified ICESat-2 report section: single `"all"` processing level with landcover histogram and profile plot, replacing the previous multi-level (all + ground) workflow with temporal filtering and plain histograms
|
|
24
|
+
- Report section ordering: bundle adjustment plots now appear after match points and before DEM hillshade
|
|
25
|
+
- Profile plot legend now includes axis labels (left/right) for all entries and embeds Med/NMAD statistics in the dh legend item
|
|
26
|
+
|
|
27
|
+
### Removed
|
|
28
|
+
- `--icesat_filter_date` CLI option (time filtering is now automatic via `_resolve_time_range()`)
|
|
29
|
+
- Commented-out `plot_atl06sr_dem_profiles()` stub and ATL03 request stub (replaced by implemented methods)
|
|
30
|
+
- Duplicated WorldCover classification table from `filter_esa_worldcover()` docstring (now references `WORLDCOVER_NAMES`)
|
|
31
|
+
|
|
32
|
+
### Fixed
|
|
33
|
+
- `TypeError: Cannot subtract tz-naive and tz-aware datetime-like objects` in `predefined_temporal_filter_atl06sr` when scene date is UTC-aware but DataFrame index is tz-naive
|
|
34
|
+
- `KeyError: 'translation_magnitude'` in `alignment_report()` when requested processing level has no data (now returns early with a warning)
|
|
35
|
+
- `TypeError: unhashable type: 'numpy.ndarray'` in `histogram_by_landcover` caused by parquet round-trip deserializing arrays as Python lists
|
|
36
|
+
- `TypeError: 'int' object is not callable` when builtin `len()` was shadowed by the `len=40` parameter inside `request_atl06sr_multi_processing`
|
|
37
|
+
- `OverflowError: cannot convert float infinity to integer` in profile segment selection when median point spacing is zero
|
|
38
|
+
|
|
39
|
+
## [1.7.0] - 2026-02-24
|
|
40
|
+
|
|
41
|
+
### Added
|
|
42
|
+
- ASP version and asp_plot version displayed on report title page
|
|
43
|
+
- Copyright overlay ("© Vantor {year}") on WorldView satellite imagery in scene, match point, and detailed hillshade plots
|
|
44
|
+
- `detect_vantor_satellite()` utility to identify WorldView imagery from XML SATID tags
|
|
45
|
+
- `add_copyright_overlay()` utility for matplotlib axes
|
|
46
|
+
- `ProcessingParameters.get_asp_version()` method to extract ASP version from log files
|
|
47
|
+
- `Raster._mask_nodata()` private helper to consolidate nodata/invalid value masking
|
|
48
|
+
- `Raster._load_and_diff_rasters_da()` private static method returning xarray DataArray for raster differencing
|
|
49
|
+
|
|
50
|
+
### Changed
|
|
51
|
+
- `Raster.get_bounds()` now uses `self.ds.bounds` (rasterio) instead of opening a redundant rioxarray dataset
|
|
52
|
+
- `Raster.compute_difference()` uses `rio.to_raster()` for saving when `save=True`, avoiding manual profile construction
|
|
53
|
+
- `StereoPlotter.plot_detailed_hillshade()` reuses existing `raster.ds.transform` instead of reopening the DEM file
|
|
54
|
+
- Consolidated duplicated nodata masking logic into `Raster._mask_nodata()`
|
|
55
|
+
- Updated ASTER and WorldView example notebooks
|
|
56
|
+
|
|
8
57
|
## [1.6.4] - 2026-02-17
|
|
9
58
|
|
|
10
59
|
### Changed
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: asp_plot
|
|
3
|
-
Version: 1.
|
|
3
|
+
Version: 1.8.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: Issues, https://github.com/uw-cryo/asp_plot/issues
|
|
@@ -31,12 +31,13 @@ Description-Content-Type: text/markdown
|
|
|
31
31
|
|
|
32
32
|
# asp_plot
|
|
33
33
|
|
|
34
|
-
[](https://doi.org/10.5281/zenodo.14263121)
|
|
35
35
|
|
|
36
36
|
Scripts and notebooks to visualize output from the [NASA Ames Stereo Pipeline (ASP)](https://github.com/NeoGeographyToolkit/StereoPipeline).
|
|
37
37
|
|
|
38
38
|
> [!IMPORTANT]
|
|
39
|
-
> [View an example WorldView report here](notebooks/WorldView/asp_plot_report_atlanta_tile.pdf).
|
|
39
|
+
> [View an example WorldView report here](https://github.com/uw-cryo/asp_plot/blob/main/notebooks/WorldView/asp_plot_report_atlanta_tile.pdf).
|
|
40
|
+
> [View example modular plotting usage here](https://github.com/uw-cryo/asp_plot/tree/main/notebooks)
|
|
40
41
|
>
|
|
41
42
|
|
|
42
43
|
## Motivation
|
|
@@ -1,11 +1,12 @@
|
|
|
1
1
|
# asp_plot
|
|
2
2
|
|
|
3
|
-
[](https://doi.org/10.5281/zenodo.14263121)
|
|
4
4
|
|
|
5
5
|
Scripts and notebooks to visualize output from the [NASA Ames Stereo Pipeline (ASP)](https://github.com/NeoGeographyToolkit/StereoPipeline).
|
|
6
6
|
|
|
7
7
|
> [!IMPORTANT]
|
|
8
|
-
> [View an example WorldView report here](notebooks/WorldView/asp_plot_report_atlanta_tile.pdf).
|
|
8
|
+
> [View an example WorldView report here](https://github.com/uw-cryo/asp_plot/blob/main/notebooks/WorldView/asp_plot_report_atlanta_tile.pdf).
|
|
9
|
+
> [View example modular plotting usage here](https://github.com/uw-cryo/asp_plot/tree/main/notebooks)
|
|
9
10
|
>
|
|
10
11
|
|
|
11
12
|
## Motivation
|