.gitignore
.zenodo.json
ATTRIBUTION.md
CITATION.cff
DATA_DEPOSIT.md
DATA_LICENSE.md
LICENSE
README.md
REPRODUCING.md
codemeta.json
data_manifest.csv
git_commit.txt
pixi.lock
pixi.toml
pyproject.toml
.github/dependabot.yml
.github/release.yml
.github/workflows/main.yml
.github/workflows/pypipublish.yml
.github/workflows/test.yml
docs/api.rst
docs/conf.py
docs/index.md
docs/installation.md
docs/terminology.md
docs/_static/css/custom.css
docs/tutorials/4resamplers.md
docs/tutorials/5parent_cell_subsetting.md
docs/tutorials/healpix_to_utm.ipynb
docs/tutorials/index.md
docs/tutorials/quickstart.md
docs/tutorials/reproduce_paper.md
docs/tutorials/throughput_benchmark.md
docs/tutorials/zenodo_resamplers.ipynb
docs/user-guide/healpix_to_utm.md
docs/user-guide/index.md
docs/user-guide/regrid_to_healpix_bicubic.md
docs/user-guide/regrid_to_healpix_bilinear.md
docs/user-guide/regrid_to_healpix_clough_tocher.md
docs/user-guide/regrid_to_healpix_mask.md
docs/user-guide/regrid_to_healpix_nearest.md
docs/user-guide/regrid_to_healpix_overlap_conservative.md
docs/user-guide/regrid_to_healpix_parent_cell_subsetting.md
docs/user-guide/regrid_to_healpix_psf.md
healpix_resample/__init__.py
healpix_resample/base.py
healpix_resample/bicubic.py
healpix_resample/bilinear.py
healpix_resample/clough_tocher.py
healpix_resample/conservative.py
healpix_resample/groupby.py
healpix_resample/knn.py
healpix_resample/mask.py
healpix_resample/nearest.py
healpix_resample/overlap_conservative.py
healpix_resample/psf.py
healpix_resample/psf_geometry.py
healpix_resample/subsetting.py
healpix_resample/utm.py
healpix_resample.egg-info/PKG-INFO
healpix_resample.egg-info/SOURCES.txt
healpix_resample.egg-info/dependency_links.txt
healpix_resample.egg-info/requires.txt
healpix_resample.egg-info/scm_file_list.json
healpix_resample.egg-info/scm_version.json
healpix_resample.egg-info/top_level.txt
healpix_resample/diagnostics/__init__.py
healpix_resample/diagnostics/kernel_geometry.py
notebooks/Test_regrid_to_healpix.ipynb
notebooks/all-spectra.pdf
notebooks/build_data_manifest.py
notebooks/build_zenodo_archives.py
notebooks/conservative_flux_ERA5.ipynb
notebooks/convert_zarr_stores_to_v2.py
notebooks/effective_kernel_geometry.ipynb
notebooks/fetch_era5_flux.py
notebooks/fig01_psf_healpix_workflow.svg
notebooks/generate_mean_sphere_ellipsoid_comparison.ipynb
notebooks/load_data_in_zenodo.ipynb
notebooks/mirror_patches.py
notebooks/multi_patch_latitude_validation.ipynb
notebooks/noise_sensitivity.ipynb
notebooks/overlap_conservative_validation.py
notebooks/paper_data_guard.py
notebooks/publish_paper_assets.py
notebooks/real_groundtruth_downscale.ipynb
notebooks/real_groundtruth_multiregion.ipynb
notebooks/test-resample-paper.ipynb
notebooks/throughput_scaling_benchmark.ipynb
notebooks/data/README.md
notebooks/figures/all-spectra.pdf
notebooks/figures/conservative_proof.pdf
notebooks/figures/conservative_proof.png
notebooks/figures/fig01_pipeline_placeholder.pdf
notebooks/figures/fig01_pipeline_placeholder.png
notebooks/figures/fig01_psf_healpix_workflow.pdf
notebooks/figures/fig02_seven_scene_comparison.pdf
notebooks/figures/fig02_seven_scene_comparison.png
notebooks/figures/fig03_metric_corr.pdf
notebooks/figures/fig03_metric_corr.png
notebooks/figures/fig03_metric_psnr_db.pdf
notebooks/figures/fig03_metric_psnr_db.png
notebooks/figures/fig03_metric_rmse.pdf
notebooks/figures/fig03_metric_rmse.png
notebooks/figures/fig03_metric_ssim.pdf
notebooks/figures/fig03_metric_ssim.png
notebooks/figures/fig04_power_spectra.pdf
notebooks/figures/fig04_power_spectra.png
notebooks/figures/fig05_residuals.pdf
notebooks/figures/fig05_residuals.png
notebooks/figures/fig2_synthetic_comparison_all_methods.pdf
notebooks/figures/fig4_utm_psd_s2_esri.pdf
notebooks/figures/geolocation_sensitivity.pdf
notebooks/figures/healpix_resample.pdf
notebooks/figures/healpix_to_utm_only.pdf
notebooks/figures/multi_patch_spectral_uncertainty.pdf
notebooks/figures/noise_psf_mismatch_summary.pdf
notebooks/figures/noise_sensitivity_regularization_gain.pdf
notebooks/figures/noise_sensitivity_rmse_vs_snr.pdf
notebooks/figures/noise_transfer_loglog.pdf
notebooks/figures/real_groundtruth_downscale_panels.pdf
notebooks/figures/real_groundtruth_downscale_rmse_summary.pdf
notebooks/figures/real_groundtruth_downscale_scatter.pdf
notebooks/figures/real_groundtruth_downscale_spectra.pdf
notebooks/figures/real_groundtruth_multiregion_paired.pdf
notebooks/figures/real_groundtruth_multiregion_rmse.pdf
notebooks/figures/resample-test.pdf
notebooks/figures/roundtrip_psd_all_methods.pdf
notebooks/figures/roundtrip_residuals_all_methods.pdf
notebooks/figures/scene_types.pdf
notebooks/figures/synthetic_detector_psd_urban.pdf
notebooks/figures/synthetic_detector_psd_urban.png
notebooks/figures/synthetic_hpx_psd_256_agriculture.pdf
notebooks/figures/synthetic_hpx_psd_256_agriculture.png
notebooks/figures/synthetic_hpx_psd_256_forest.pdf
notebooks/figures/synthetic_hpx_psd_256_forest.png
notebooks/figures/synthetic_hpx_psd_256_snow_ice.pdf
notebooks/figures/synthetic_hpx_psd_256_snow_ice.png
notebooks/figures/synthetic_hpx_psd_256_urban.pdf
notebooks/figures/synthetic_hpx_psd_256_urban.png
notebooks/figures/synthetic_hpx_square_256_agriculture.pdf
notebooks/figures/synthetic_hpx_square_256_agriculture.png
notebooks/figures/synthetic_hpx_square_256_forest.pdf
notebooks/figures/synthetic_hpx_square_256_forest.png
notebooks/figures/synthetic_hpx_square_256_ocean.pdf
notebooks/figures/synthetic_hpx_square_256_ocean.png
notebooks/figures/synthetic_hpx_square_256_snow_ice.pdf
notebooks/figures/synthetic_hpx_square_256_snow_ice.png
notebooks/figures/synthetic_hpx_square_256_urban.pdf
notebooks/figures/synthetic_hpx_square_256_urban.png
notebooks/figures/synthetic_hpx_square_256_water.pdf
notebooks/figures/synthetic_hpx_square_256_water.png
notebooks/figures/synthetic_psd_all_methods.pdf
notebooks/figures/synthetic_vs_sentinel2.pdf
notebooks/figures/throughput_scaling_curve.pdf
notebooks/figures/throughput_scaling_memory.pdf
notebooks/figures/utm_psd_sentinel2_esri_synthetic_agriculture.pdf
notebooks/figures/utm_psd_sentinel2_esri_synthetic_agriculture.png
notebooks/figures/utm_psd_sentinel2_esri_synthetic_ocean.pdf
notebooks/figures/utm_psd_sentinel2_esri_synthetic_ocean.png
notebooks/figures/utm_psd_sentinel2_esri_synthetic_urban.pdf
notebooks/figures/utm_psd_sentinel2_esri_synthetic_urban.png
notebooks/tables/era5_units_audit.csv
notebooks/tables/estimand_point_vs_average.csv
notebooks/tables/geolocation_sensitivity.csv
notebooks/tables/geolocation_sensitivity_realizations.csv
notebooks/tables/healpix_to_utm_only.csv
notebooks/tables/holdout_validation.csv
notebooks/tables/multi_patch_latitude_by_band.csv
notebooks/tables/multi_patch_latitude_failures.csv
notebooks/tables/multi_patch_latitude_metrics.csv
notebooks/tables/multi_patch_latitude_summary.csv
notebooks/tables/multi_patch_method_comparisons.csv
notebooks/tables/multi_patch_metrics.csv
notebooks/tables/multi_patch_run_summary.csv
notebooks/tables/multi_patch_runtime_by_method.csv
notebooks/tables/multi_patch_runtime_by_patch.csv
notebooks/tables/multi_patch_runtime_scaling.csv
notebooks/tables/multi_patch_runtime_stages.csv
notebooks/tables/multi_patch_sites.csv
notebooks/tables/multi_patch_spectral_records.csv
notebooks/tables/multi_patch_tile_provenance.csv
notebooks/tables/multi_patch_two_stage_40_comparisons.csv
notebooks/tables/multi_patch_two_stage_40_failures.csv
notebooks/tables/multi_patch_two_stage_40_metrics.csv
notebooks/tables/multi_patch_two_stage_40_summary.csv
notebooks/tables/noise_sensitivity.csv
notebooks/tables/noise_sensitivity_matched_only.csv
notebooks/tables/noise_sensitivity_psf_mismatch.csv
notebooks/tables/noise_sensitivity_realizations.csv
notebooks/tables/overlap_conservative_benchmark.csv
notebooks/tables/overlap_conservative_validation.csv
notebooks/tables/real_groundtruth_downscale_anisotropic_24x45_metrics.csv
notebooks/tables/real_groundtruth_downscale_anisotropic_24x45_table.csv
notebooks/tables/real_groundtruth_downscale_metrics.csv
notebooks/tables/real_groundtruth_downscale_metrics_native20_ref19_block2_fwhm12_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_downscale_metrics_native20_ref19_block2_fwhm20_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_downscale_metrics_native20_ref19_block2_fwhm25_it14_refgeometric_estcell_average.csv
notebooks/tables/real_groundtruth_downscale_metrics_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average_deganiso24x45.csv
notebooks/tables/real_groundtruth_downscale_metrics_native20_ref19_block2_fwhm25_it14_refpsf_aware_estpoint_sample.csv
notebooks/tables/real_groundtruth_downscale_metrics_native20_ref19_block2_fwhm30_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_downscale_metrics_native20_ref19_block2_fwhm38_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_downscale_table.csv
notebooks/tables/real_groundtruth_downscale_width_sweep.csv
notebooks/tables/real_groundtruth_multiregion_comparisons_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_failures_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_geometric_failures_native20_ref19_block2_fwhm25_it14_refgeometric_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_geometric_metrics_native20_ref19_block2_fwhm25_it14_refgeometric_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_geometric_scratch_native20_ref19_block2_fwhm25_it14_refgeometric_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_metrics_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_pooled_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_products.csv
notebooks/tables/real_groundtruth_multiregion_quality.csv
notebooks/tables/real_groundtruth_multiregion_rankcheck_main_pooled_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_rankcheck_variant_pooled_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_real_vs_synthetic.csv
notebooks/tables/real_groundtruth_multiregion_scratch_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_summary_native20_ref19_block2_fwhm25_it14_refpsf_aware_estcell_average.csv
notebooks/tables/real_groundtruth_multiregion_synthetic_aligned.csv
notebooks/tables/real_groundtruth_multiregion_table.csv
notebooks/tables/real_groundtruth_multiregion_xref_ablation.csv
notebooks/tables/roundtrip_metrics_all_methods.csv
notebooks/tables/runtime_table.csv
notebooks/tables/synthetic_metrics_all_methods.csv
notebooks/tables/table_II_roundtrip.csv
notebooks/tables/table_II_roundtrip.tex
notebooks/tables/table_I_synthetic.csv
notebooks/tables/table_I_synthetic.tex
notebooks/tables/table_ablation_rl_fair.csv
notebooks/tables/throughput_scaling_by_batch.csv
notebooks/tables/throughput_scaling_by_item.csv
notebooks/tables/throughput_scaling_environment.csv
tests/real_groundtruth_common_tools.py
tests/test_bicubic.py
tests/test_bilinear.py
tests/test_clough_tocher.py
tests/test_empty_support.py
tests/test_kernel_geometry.py
tests/test_knn_search.py
tests/test_mask.py
tests/test_nan_propagation.py
tests/test_notebook_environment.py
tests/test_overlap_conservative.py
tests/test_psf.py
tests/test_psf_clip.py
tests/test_psf_geometry.py
tests/test_subsetting.py
tests/test_utm.py
tex/IEEEtran.bst
tex/IEEEtran.cls
tex/algorithm.sty
tex/algorithmicx.sty
tex/algpseudocode.sty
tex/main-refs.tex
tex/main.tex
tex/make_supplement_refs.py
tex/references.bib
tex/siunitx.sty
tex/supplement.tex
tex/figures/all-spectra.pdf
tex/figures/conservative_proof.pdf
tex/figures/fig01_psf_healpix_workflow.pdf
tex/figures/fig01_psf_healpix_workflow_editable.pdf
tex/figures/fig01_psf_healpix_workflow_editable.pptx
tex/figures/geolocation_sensitivity.pdf
tex/figures/multi_patch_spectral_uncertainty.pdf
tex/figures/noise_psf_mismatch_summary.pdf
tex/figures/noise_sensitivity_regularization_gain.pdf
tex/figures/noise_sensitivity_rmse_vs_snr.pdf
tex/figures/noise_transfer_loglog.pdf
tex/figures/real_groundtruth_downscale_rmse_summary.pdf
tex/figures/real_groundtruth_multiregion_paired.pdf
tex/figures/resample-test.pdf
tex/figures/scene_types.pdf
tex/figures/synthetic_vs_sentinel2.pdf
tex/figures/throughput_scaling_curve.pdf
tex/figures/throughput_scaling_memory.pdf
tex/tables/estimand_point_vs_average.csv
tex/tables/geolocation_sensitivity.csv
tex/tables/holdout_validation.csv
tex/tables/multi_patch_latitude_summary.csv
tex/tables/multi_patch_method_comparisons.csv
tex/tables/multi_patch_run_summary.csv
tex/tables/multi_patch_runtime_by_method.csv
tex/tables/multi_patch_two_stage_40_comparisons.csv
tex/tables/multi_patch_two_stage_40_summary.csv
tex/tables/noise_sensitivity.csv
tex/tables/noise_sensitivity_matched_only.csv
tex/tables/noise_sensitivity_psf_mismatch.csv
tex/tables/real_groundtruth_downscale_anisotropic_24x45_metrics.csv
tex/tables/real_groundtruth_downscale_anisotropic_24x45_table.csv
tex/tables/real_groundtruth_downscale_metrics.csv
tex/tables/real_groundtruth_downscale_table.csv
tex/tables/real_groundtruth_downscale_width_sweep.csv
tex/tables/real_groundtruth_multiregion_products.csv
tex/tables/real_groundtruth_multiregion_quality.csv
tex/tables/real_groundtruth_multiregion_table.csv
tex/tables/real_groundtruth_multiregion_xref_ablation.csv
tex/tables/table_II_roundtrip.csv
tex/tables/table_I_synthetic.csv
tex/tables/table_ablation_rl_fair.csv
tex/tables/throughput_scaling_by_batch.csv
tex/tables/throughput_scaling_environment.csv