torchgeo/torchgeo

Time Series Support

开放

#2,382 创建于 2024年10月31日

 (3 条评论) (2 个反应) (0 位负责人)Python (557 个派生)github user discovery
datasetsdocumentationgood first issuemodelssamplerstaskstransformsutilities

仓库指标

星标
 (4,059 个星标)
PR 合并指标
 (平均合并 6天 12小时) (30 天内合并 80 个 PR)

描述

This issue is designed to track progress towards full time series support in TorchGeo. If you are interested in helping with this effort, please join the #time-series channel on Slack and attend our weekly meetings.

Datasets

Required changes

  • Replace rtree with geopandas: #2747
  • Replace fiona with geopandas: #2962
  • Spatial-only intersection: #2837
  • Xarray support: #509, #1490, #2945
  • Collation functions for padding: #2921
  • Convert change detection datasets: #2862, #2863, #2878, #2879, #2906, #3028
  • Return time series: #2308, #3183
  • Convert time series datasets: #3042, #2921, #3368, #3369, #3371, #3372
  • Splitters: guarantee non-overlapping spatial and/or temporal splits: @hkristen

Desired changes

  • Replace BoundingBox with slicing: #2804
  • Support Polygon ROIs in all splitters: #2835
  • Deprecate BoundingBox: #2847
  • Store true image footprint: #2903
  • Properly handle vector datasets: @isaaccorley
  • Cache geopandas index: @isaaccorley
  • STACDataset: see #stac channel
  • ERA5
  • CMIP6
  • Support integer indexing?: @adamjstewart
  • Unify GeoDataset and NonGeoDataset?: #1353
  • Intersection/Union multiple queries?: #2408
  • Tuple/MultiQuery dataset?: #877

Samplers

Required changes

  • Support Polygon ROIs in all samplers: #2812
  • Separate spatial and temporal samplers: #3552
  • Ensure samplers do not sample outside Polygon bounds: #3552
  • Visualization: visualize an entire epoch with polygons and points: #3552

Desired changes

  • Support weighted samplers?: #757
  • Pre-computation?: run sample_points once per epoch for debugging?: #2300

Transforms

Models

1D

  • L-TAE: #2867
  • Presto: #2929
  • Tessera: #3243
  • Seq2Seq: #2639
  • TempCNN
  • Chronos v1, v2: @cnagda?
  • Galileo: #3305

2.5D

  • BTC: #2926
  • ChangeStar: #157
  • ChangeViT: #2910
  • FC-Siam: #108, #345

3D

  • Satlas: #1358, #1884, #2038
  • ConvLSTM: #2898
  • OlmoEarth: #3517
  • CNN-LSTM: #2938
  • AnySat
  • OmniSat
  • Prithvi v1, v2: @isaaccorley
  • SatMAE: @isaaccorley
  • SkySense v1, v2

4D

  • Aurora: #2823
  • ACE: #3402

Tasks

  • TC -> scalar, classification: TemporalClassification
  • TC -> scalar, regression: TemporalRegression (#3668)
  • 2CHW -> HW, classification: ChangeDetection (#2422, #2890)
  • TCHW -> scalar, classification: SpatioTemporalClassification (#3591)
  • TCHW -> scalar, regression: SpatioTemporalRegression (#3591)
  • TCHW -> HW, classification: SpatioTemporalSegmentation (#3671)
  • TCHW -> HW, regression: SpatioTemporalPixelwiseRegression (#3086)
  • TCHW -> BHW, classification: SpatioTemporalInstanceSegmentation
  • TCZYX -> TCZYX, regression: WeatherForecasting

Tutorials

  • 1D: air pollution tutorial (#3669)
    • Dataset: air quality (#3619)
    • Model: L-TAE (#2867)
    • Trainer: TemporalRegressionTask (#3668)
  • 2.5D: Change detection tutorial (#3222)
    • Dataset: OSCD100 (#3221)
    • Model: BTC (#2926)
    • Trainer: ChangeDetectionTask (#2422)
  • 3D: Crop type mapping tutorial (#3706)
    • Dataset: PASTIS100 (#3265)
    • Model: ConvLSTM (#2898)
    • Trainer: SpatioTemporalSegmentationTask (#3671)
  • 4D: Weather forecasting tutorial (#3654)
    • Dataset: WeatherBench (#3649)
    • Model: Aurora (#2823)
    • Trainer: WeatherForecastingTask (not strictly required right now)

Outdated discussions

  • #640
  • #1544

贡献者指南