datasetsdocumentationgood first issuemodelssamplerstaskstransformsutilities
Repository metrics
- Stars
- (4,059 stars)
- PR merge metrics
- (Avg merge 6d 12h) (80 merged PRs in 30d)
Description
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
- B x T x C x H x W <-> B x TC x H x W: #2477 (TODO: image + mask)
- Temporal embeddings: #2826
- Temporal up/downsampling: https://docs.pytorch.org/docs/stable/generated/torch.nn.functional.interpolate.html
- UTC time <-> local time
- Data imputation: https://docs.pytorch.org/docs/stable/generated/torch.nn.functional.interpolate.html
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