* Add plotting method for CV4A Kenya Crop Type Dataset
* remove print statements, still fix test_plot
* fix rgb plot test
* fix rgb plot test
* requested changes
* Adding plot to ADVANCE dataset
* Adding plot to BeninSmallHolderCashews
* Adding plot to BigEarthNet
* Doctstring adjustment for BigEarthNet plot
* Cleaning up ugly test
* Cleaning up bigearthnet classes
* Added time step plot to benin_cashews
* Formatting
* Update benin cashew tests
* Add S1 plotting and type to np.ndarray
* Trying numpy with quotes
* adding QR loss functions for learning on the prior
* chesapake learn on prior trainer with self-contained code for visualization
* adding prior dataset to the chesapeake datasets; doesn't handle downloading or anything like that yet
* updating init files to include chesapeake CVPR prior
* adding FCNModified for learning on the prior
* changing input to samplers to pass dataset instead of dataset.index
* fixing style issues
* Removing FCN_modified
* Fixing super call and mypy in FCN model
* Added learning on the prior extension
* Update tests
* Formatting
* Adding QR loss
* Added losses to docs
* Removing trainer, moving datamodule
* Combining chesapeake and chesapeake prior datamodules
* Formatting
* Test coverage
* Formatting
* Adding losses
* Re-moving the datamodules around
* Make loss function a torch Module
* Version added
* Fixed some stuff that got messed up in the rebase
* Formatting
* How'd this get there?
* Change qr losses to expect probabilities instead of log-probabilities
* Clean up test
* Rename qr loss file
* Renamed test file
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* plotting method cowc dataset
* boolean label for detection
* restructure plotting method
* typo
* label title not as variable
* single plot method in super class
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Add custom RasterDataset notebook
* Update docs index.rst
* Update copyright, fix URL typo, and add verbose description
* Add xview3 sample data
* Update notebook
* Show simple example first, complicated example second
* Remove the second half of the notebook, can expand later
* OSCD: adding configuration file
* add OSCDDataModule
* some changes
* Works, it's training
* some edits
* not required
* Get rid of swap
* Padding in val and test
* don't ignore zeros
* 0.56 IoU
* 0.59 Iou
* 0.6 IoU
* make this the same
* oscd change
* fix tests
* black fix
* change defaults
* Null weights
* null
* use Kornia PadTo
* remove name from config + fix val dataloader
* padto class attribute
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Fixing network call in test of pretrained resnet
* Enable loading a pretrained model from a local path
* Fix filename
* monkeypatch the load_state_dict_from_url method instead of going around it
* Make default configs use random weights instead of imagenet pre-trained weights
* Removing internet access requirement from tests
* Deleted So2Sat trainer
* initial commit, adding LoveDA dataset
* recommended changes by ashnair1
* corrections from pydocstyle linter
* List[str]
* plotting method added
* linting test changes
* passing test for plotting
* linting adjustments
* smaller fake data of 2x2 and mypy linter changes
* plot only single image and mypy changes
* plot method without expecting batch dimension
* style changes and adding doc
* added lightning data module
* sphinx changes
* doc string changes
* data module in init and fake data for module test
* add IDTReeS dataset
* dataset loads data now
* add optional laspy and pandas dependencies
* fixed docs failing
* format
* refactor verify and resample chm/hsi to 200x200
* add open3d optional dep
* overhaul
* temporarily remove open3d install bc their pypi is broken
* mypy fixes
* fixes per suggestions
* general cleanup
* test passing
* add min version for laspy and pandas
* add open3d dependency
* add open3d to mypy tests
* add hard install for python 3.9 open3d to actions
* attempt #2
* I think I got it now
* updated tests.yaml
* make open3d dep require python<3.9
* open3d has issues with macos python 3.6
* same for 3.7
* skip open3d plot test for macos
* formatting
* skip open3d plot test for windows
* update per suggestions
* update test data readme for las files
* updated per suggestions
* more changes per suggestions
* last change per suggestion
* Grammar fix in pandas dep requirement comment
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding a UnionDataset
* Adding contains method to BoundingBox
* Finishing UnionDataset
* Add __contains__ method
* Overhaul BoundingBox, add set arithmetic
* mypy fixes
* pydocstyle fixes
* Ignore erroneous pydocstyle warnings
* rtree only supports tuples, not BoundingBoxes
* mypy fixes
* Use custom collate function to handle BoundingBoxes
* Add back support for Python 3.6
* Add tests for all new BoundingBox features
* Rename ZipDataset to IntersectionDataset
* Merge indices of IntersectionDataset, auto-convert CRS/res
* Get tests to pass
* Fix more tests
* Test more of RasterDataset/VectorDataset directly
* Increase UnionDataset test coverage
* IntersectionDataset stacks tensors, UnionDataset merges tensors
* Support collating dicts with differing keys, add tests
* Style fixes
* Samplers: compute intersection between index and ROI
* Update README with example usage
* GeoDataset addition is deprecated
* Add note about CRS/res
* More documentation for Intersection/UnionDatasets
* Use collate function in tutorial
* Don't use multiple workers
* Fix typo
* Drop support for adding GeoDatasets
* Remove unused import
* Add comment explaining coverage config settings
* Collation function needed for benchmark script
* Add more explanation to README
* Correct Landsat 8 bands
* Print warning when changing CRS/res
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* OSCDDataModule: add random crop augmentation
* typing: use sequence instead of tuple
* use RandomCrop
* Use kornia instead
* add description of crop_size
* Only RandomCrop train and val set, not test set
* black fix
* working random_crops
* Resizing dummy test data to 3x3 so we can test RandomCrop Augmentations
* assert crops are proper size
* not working yet but some progress
* issue with amount of slices
* forgot to set val and test batch_size to 1
* some style fixes
* setting the dataset.transforms attribute doesn't work unless you do it in __init__ for now val_dataset must have random crop
* nevermind we don't need this
* style fixes + do we need mask to be torch.long?
* einops
* unsure why this doesn't work
* dataset.transforms
* mypy fix
* hacky flake8 fix
* non-hacky flake8 fix
* mypy fix
* adjust val test size
* passing tests
* mypy fix
* adding n_random_crops
* adjust param in testing
* working collate_fn but breaks mypy
* flattening (2, 13) into 26
* fix mypy
* style fixes
* add testing for new shapes
* Adjusting DataModule docstring
* remove clamp since we are standardizing
* name change to train_batch_size
* splitting crop-size into patch_size and num_patches_per_tile
* Add plot function for SpaceNet datasets
* Add version string
* Set interpolation='none' while displaying mask
* Switch to percentile normalization
* Add axis param to percentile_normalization
* Tuple[int, int] -> Sequence[int]
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update docstring
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Forgot to import Sequence
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Implementing OSCDDataModule
* some progress + style fixes
* Adding temporary min/max values for B10 band which isn't in BigEarthNet for some reason
* adding validation split
* fixing pydocstyle fails
* fixing style issues
* OSCDDataModule testing + added to torchgeo.datasets.__init__
* more concise + robust to small val_pct
* nevermind, mypy doesn't like that because of types
* adding to docs
* adding actual means and stds calculated on entire dataset
* use clamp instead of clip
* fix
* initialize norm after last band_mean edit
* OSCD: initial template
* updating download pattern
* package: including OSCD in torchgeo.datasets
* download: adapting download method to OSCD dataset + adding simple test for debugging
* _load_files method: temporary implementation
* OCSD: minimum working example, needs plenty improvement
* adding OSCD to docs
* Moving test to appropriate location
* OSCD: remove sort_bands and use utils.sort_sentinel2_bands
* Using rasterio instead of tifffile
* remove useless import
* style changes
* fix: style
* Developing tests for OSCD dataset
* Updating dataset description
* change name
* style fixes
* fixing mypy errors
* style fixes
* cast to string to fix typing errors
* style change
* isort fix
* remove TODO
* adding dataset for testing
* change len
* check if sum is concatdataset
* isort fix
* fixing some issues + correct md5 in dataset
* closing rasterio file handles
* removing some TODO's
* transitioning to fake data
* mypy fix attempt
* set fake data md5
* flake8 fix
* starting plot method
* updating plot method
* no predictions for now
* fixing style errors
* add testing for plot
* making some changes to fake testing data
* full coverage
* Use RGB channels in the plot function
* adding shape tests in test_getitem
* remove features and add to description
* fixing some things
* transitioning to authors dataset link
* No need to change file names + adapt test dataset
* adapting tests to new data format
* Update docs/api/datasets.rst
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* closing plot at end of terst
* add versionadded
* style fixes + indentation fixes
* style fixes
* forgot the .zip
* fix zipfile name
* temporary fix for flake8
* Add link to docs
* forgot to adjust this
* changing flake8 solve
* slimming down the test dataset
* removing imgs_x files which aren't needed for current testing but might be in the future
* Revert "removing imgs_x files which aren't needed for current testing but might be in the future"
This reverts commit cfbf26c1d3.
* nevermind, this was the issue
* trying to remove these once again
* adding band choosing functionality
* removing double code
* removing more double code
* flake8 fix
* adding one more training sample to dummy dataset and testing split
* typing numpy array
* back to this
* Fixing tests and mypy
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* add potsdam dataset and tests
* add dummy potsdam data
* update potsdam docstring
* mypy fix
* style fixes
* Update datasets.rst
* update per suggestions
* updated docs
* refactor _load_target to use pillow
* format
* Update tests/datasets/test_potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update tests/datasets/test_potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/potsdam.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* tmp
* add vaihingen dataset
* add tests and dummy data
* style fixes
* remove tmp notebook
* update per suggestions
* updated docs and docstrings
* Update tests/datasets/test_vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update tests/datasets/test_vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/datasets/vaihingen.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding ETCI2021 datamodule and trainer
* Fixing confs
* Update torchgeo/datasets/etci2021.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update torchgeo/trainers/etci2021.py
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Update conf.py
* Reverting trainer init
* plot method
* Update ETCI2021 test data
* Test trainer
* Fix train.py
* Fix test
* Adding matplotlib intersphinx
* Remove ignore
* Revert "Update ETCI2021 test data"
This reverts commit 502a3785e4.
* Remove stuff
* Reset
* Add plot tests
* Unzipping test data
* Test datamodule
* Add datamodule to docs
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* 0.1.0 release
* Train deps needed for release testing
* Update development status
* setup.py should not be run directly
* Test more trainers
* Fix local docs build
* Update installation instructions
* Specify test data dir in config
* Fix tutorial docs
* Trainers should default to num_workers=0, download=False
* Correct location for root_dir
* Try different GDAL name
* Try again
* Various fixes to release tests
* Update pip installs in tutorials
* Fix some bugs
* Config file not being picked up
* Get back to 100% test coverage
* Added correct weight string to UCMerced
* yolo fix
* yolo fix pt 2
* yolo fix 2 pt. 1
* Simplify tests a bit
* Make the trainer notebook look stupid
* UCMerced should download by default in the trainers
* Revert
* Fix logo/author, include LICENSE in upload
Co-authored-by: Caleb Robinson <calebrob6@gmail.com>
* Removing some keys from the defaults that were removed in Lightning 1.5
* Adding RESISC45
* Experimenting with different LR decay
* Formatting
* Updating RESISC45 test data to be the same size as the original data
* RESISC45 trainer and tests
* Fix import, add deprecation
* mypy fixes
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>
* Adding the SeCo patch datasets
* Adding tests and incorporating suggestions
* Added benchmark example code link
* Update to new way of downloading
* Formatting
* Test coverage
* Rename dataset
* Add SeCo dataset to docs
* adds split files, new classes, and refactors to speed up loading
* update bigearthnetdatamodule and tests
* update configs
* merge
* force add split files
* fix docstring
* fix docstrings x2
* fix docstrings x3
* Reduce total testing time
Co-authored-by: Adam J. Stewart <ajstewart426@gmail.com>