The following table shows which versions of MapReader are compatible with which versions of python:
Python | MapReader |
---|---|
3.9+ | v1.2.0 |
3.8-3.11 | <= v.1.1.5 |
Add new changes here
- Fixes the
explore_predictions
andexplore_search_results
methods in theDeepSoloRunner
andMapTextRunner
classes (#544)
v1.6.2 (2025-01-02)
- Added ability to save and reload text predictions (#536
- Added minimal dataclasses for text predictions (#536
- Added
skip_blank_patches
argument toMapImages.patchify_all()
(#540)
v1.6.1 (2024-11-18)
- Added
infer_parent_coords_from_patches
method toMapImages
class (#511) - Added
explore_patches
method toMapImages
class for interactive exploration of patches (#511) - Added
explore_predictions
andexplore_search_results
methods to text runners (#511)
- Metrics are now stored in a nested dictionary (e.g.
metrics['train']['loss']
instead ofmetrics["epoch_loss_train]
) (#511) plot_metric
method is simplified - see updated docs (#511)- Renamed
show_parent
asshow_patches
(#511) - Default value for
add_id
argument when plotting metadata inSheetDownloader
is nowFalse
(#529)
v1.5.1 (2024-10-30)
- Added
text-requirement.txt
file to install text spotting dependencies. Users can now install text spotting dependencies usingpip install -r text-requirements.txt
(#515)
- Removed
text
extras fromsetup.py
(#515)
- Fixes upload to PyPI by removing
text
extras (#515)
v1.5.0 (2024-10-29)
- Ability to install all three text-spotting frameworks at same time (#514)
- Can install text spotting dependencies using
pip install mapreader[text]
(#514) - Text spotting code now covered by tests (#514)
v1.4.1 (2024-09-17)
- Use
tqdm.auto
for progress bars
v1.4.0 (2024-09-12)
check_georeferencing
method andgeoreferenced
attribute added toMapImages
class (#495)MapImages.convert_images
method now supports saving to GeoJSON format (setsave_format="geojson"
) (#495)- All file loading methods now support
pathlib.Path
andgpd.GeoDataFrame
objects as input (#495) - Loading of dataframes from GeoJSON files now supported in many file loading methods (e.g.
add_metadata
,Annotator.__init__
,AnnotationsLoader.load
, etc.) (#495) load_frames.py
added tomapreader.utils
. This has functions for loading from various file formats (e.g. CSV, Excel, GeoJSON, etc.) and converting to GeoDataFrames (#495)- Added tests for text spotting code (#500)
- Added
search_preds
,show_search_results
andsave_search_results_to_geojson
methods to text spotting code (#502)
- Refactoring of
SheetDownloader
to make full use of geopandas functionality - "metadata.json" is now read in as a GeoDataFrame instead of json dictionary (#495) query_map_sheets_by_string
anddownload_map_sheets_by_string
methods now search using columns in the GeoDataFrame instead of keys in the json dictionary (#495)columns
argument renamed tousecols
inMapImages.add_metadata
method (to align with pandas) (#495)polygon
column renamed togeometry
(to align with geopandas) (#495)
hist_published_dates
method removed fromSheetDownloader
as it is no longer needed. Usesd.metadata["published_date"].hist()
instead (#495)
v.1.3.10 (2024-09-04)
No changes to code. This release marks the move the the maps-as-data
github organisation.
v1.3.9 (2024-08-21)
- Changelog added (#461)
v1.3.8 (2024-08-12)
- Fixes the
get_label_index
method inAnnotationsLoader
class (#490)
v1.3.7 (2024-08-12)
- Adds option to show a border around central patch when annotating with context (#480)
- Adds
show_vals
argument to show patch information when annotating (#480) - Adds ability to specify labels map when loading annotations (#489)
v1.3.6 (2024-08-09)
- Adds new framework (MapTextPipeline) for running text spotting (#474)
- Adds occlusion analysis to MapReader post processing (#470)
- Better error messaging #476
- Fixes #442
v1.3.5 (2024-08-05)
- Adds sphinx-autobuild for live updating of documentation (#457)
- Adds data warning when downloading large amounts of data (#464)
v1.3.4 (2024-07-05)
- Adds deduplication method to text spotting code #435
- Allows users to create overlapping patches #435
v1.3.3 (2024-07-03)
- Updates workshop notebooks (#424)
v1.3.2 (2024-05-17)
- Adds CLI command to check installation and print MapReader version (#431)
- Adds calculation of average across all channels for mean/std pixel stats (#434)
- Updates to worked examples and corresponding READMEs (#414)
v1.3.1 (2024-05-03)
- Fixes #398
v1.3.0 (2024-04-29)
This release was used for the Data/Culture Spring Workshop 2024.
- Adds text spotting to MapReader (#388)
v1.2.0 (2024-04-08)
This release removes support for Python 3.8.
- Support for Python 3.12 (#384
- Support for Python 3.8 (#384)
v1.1.5 (2024-04-04)
- Adds
download_in_parallel
argument to download methods (#363)
- Conda install option (#366)
- Re-adds
square_cuts
argument to patchify images with deprecation warning (#373) - Fixes functions which reproject coordinates when converting between coordinate systems (#374)
v1.1.4 (2024-02-23)
- Annotator no longer errors if "url" not in dataframe (#357)
v1.1.3 (2024-02-21)
- Adds context-based post-processing script (#342)
- Adds
save_predictions
method to theClassifierContainer
class (#342) - Adds
filter_for
argument to theAnnotator
class (#319) - Adds ability to create a
PatchContextDataset
from theAnnotationsLoader
class (#350)
- The
ClassifierContainer
class now works with bothPatchDataset
s andPatchContextDataset
s (#350) - Context classifier now works using a single branch model, one image, containing the patch and its context are used as input (#350)
- Removes
square_cuts
option when patchifying maps (#350)
v1.1.2 (2024-02-05)
- Fixes #346)
v1.1.1 (2024-01-08)
- Adds
add_coords_from_grid_bb
method to theMapImages
class, allowing users to regenerate coordinates from grid bounding boxes (#318) - Adds
save_parents_as_geotiffs
method to theMapImages
class, enabling users to save parent images as GeoTIFFs (#318) - Ensures CSV files are loaded correctly by applying
literal_eval
to all columns in the dataframe (#318) - Adds first draft of JOSS paper (#321)
- Annotator no longer requires
URL
column in parent dataframe (#337) - Annotator no longer accepts arbitrary kwargs (#337)
- Fixes #331
v1.1.0 (2023-12-14)
- Fixes the
reproject_geo_info
method ingeo_utils
(#317)
v1.0.7 (2023-12-14)
New annotation interface!
- Adds
all-contributors
bot to MapReader repo (#297)
- New annotation interface in MapReader (#173)
v1.0.6 (2023-11-22)
This release fixes a problem with calculating coordinates of downloaded maps. Releases prior to this will generate incorrect coordinates!
- Adds
images_dir
argument when loading annotations, allowing users to specify the path to their patches (#228) - Adds pre-commit to the repo to ensure formatting is consistent (#278)
- Adds option to go straight to inference in the
ClassifierContainer
class (e.g. with a already fine-tuned model) (#280) - Adds
metadata_to_save
anddata_col
arguments to the download methods, allowing users to specify additional metadata to save and the column to extract the published date from (#291)
- Warn user if both lower left and upper right corners of the map are missing when downloading maps (#269 and #270)
- Fixes problem with calculating coordinates of downloaded maps (#276)
- Fixes deduplication when downloading maps (#285)
v1.0.5 (2023-07-25)
This release marks the end of the Living with Machines project.
- State dicts are now saved when training/fine-tuning models (#225)
- Default delimiter for saving/loading files is now a comma (CSV) (#241)
v1.0.4 (2023-06-27)
- save metadata to csv on each download
- add error message for broken image files
v1.0.3 (2023-06-21)
- adds details to dev docs about version numbers
v1.0.2 (2023-06-20)
- Update Input-guidance.rst w/NLS tile server details
- takes GH workflows from alto2txt
- removes poetry as build tool
- adds missing -m switch
- checkouts full git history for versioneer.py
- changes versioneer style
- fixes production PyPI deployment
- enables manual triggers
v1.0.1 (2023-06-06)
- initial commit for workshop notebook
- fix patchify by meters bug
- update workshop notebook and fix bug in images.py
- update notebook and create annotations file
- update workshop
- clear outputs and create 'exercise' notebook
- add show_parent() to workbook
- add annotations
- update workshop notebook w/ katies comments
- update empty notebook
v1.0.0 (2023-06-06)
- update tests
- fix coordinates assertion error
- ensure coordinates are xmin, ymin, xmax, ymax
- minor updaes to images.py
- Merge branch '82_align_task_names' into dev_load
- align to PEP8 style guide
- Merge branch '110_loader_file_paths' into dev_load
- Merge branch '116_data_inconsistencies' into dev_load
- update image_constructor
- update images_constructor
- update calc_pixel_width_height
- update calc_pixel_stats
- Update images.py remove typo (double underscore infront of _add_shape_id)
- create parents and patches attributes
- edits to show/plotting methods
- move geoinfo method up + split for individual imgs
- update slicing methods (slicer now obsolete)
- edits to add_xx and calc_xxx
- rename/edit
add_par
to _add_patch_to_parent - method to get tree_level from image_id
- method for verbose printing
- add patch coordinates
- auto pull in extra info when constructing images
- update init + imports
- run black
- updated test_loader_filepaths.py
- make resolving paths a separate static method
- update tests
- rename test files
- rename tests
- woops sorry - rename tests
- update tests and add option to ignore_mismatch in add_metadata
- fix assertions where keys are different
- rename test
- update tests for sheet_downloader
- fix tests
- Merge branch '110_loader_file_paths' into dev_load
- update tests
- add tests
- fix 'not a PNG file' error
- Merge branch '116_data_inconsistencies' into dev_load
- reorder to help with comparision to main
- update load_xx methods
- Merge branch '131_geotiff_bug' into dev_load
- fix rename of
update
tooverwrite
- fix tests
- move geo_utils to load subpackage and fix tests
- fix add metadata tests (checkout file from
dev_load
) - add developers guide to docs
- Update test_load_loader_add_metadata.py
- Update contribution guide into tutorials/docs/code
- update toc trees
- update toc trees - local only
- add tqdm and update show
- Add print info for where patches are saved
- minor fixes
- add tqdm to setup.py
- add beginners info + update input guidance
- allow metadata as excel file
- update tests with excel files
- add error if you try to load non-image files
- fix tmp_path not defined
- add beginners info text
- Update test_load.py
- add beginners info links
- save patches as geotiffs
- save patches as ".tif" only (not ".png.tif")
- final changes - include CRS as attribute
- update downloaders
- fix typo
- fix tests
- update saving of coordinates for metadata
- rename sample tif files
- update file names in tests
- rename tests
- add note about overwriting existing metadata info
- update reproject_geo_info
- make images_constructor private
- rename test_dirs to dirs
- add specific exception handling
- add tests for PIL.UnidentifiedImageError
- add tmp_paths
- rename proj2convert to target_crs
- merge test_images and test_images_add_metadata
- rename download/download2
- remove download_old
- update tests and init
- update extensions
- update load with advanced usage and to reflect updated code
- update load title
- ensure contribution guides included in sidebar
- add todos
- minor updates/ typo fixes:
- Update conf.py
- fix typo
- add 'save' argument to convert_images method
- fix tests
- Merge branch 'rw_docs' of https://github.com/Living-with-machines/MapReader into rw_docs
- update docs requirements and conf
- Update README.md
- Update Install.rst
- Update Install.rst
- Update README.md
- Update Beginners-info.rst change title
- make csv default save as tab separated
- fix xxx_by_string() - allow no keys/keys as string
- update input guidance
- update download.rst (user guide)
- ensure CRS is retained in metadata.csv
- fix tests
- raise error if your coordinates are not 4326
- ensure dictionary keys are same for crs
- update env name (goodbye mr_py)
- fix typo
- Merge branch 'rw_docs' of https://github.com/Living-with-machines/MapReader into rw_docs
- ensure CRS in patch_df
- fix sample files
- update docstrings in dowloader_utils
- add grid_bb to/from polygon to downloader_utils
- fix ordering
- update error message
- set temp folder in tile_loading + import elsewhere
- add comment re. temp_folder
- fix grid_bb to/from polygon (remove self as arguments)
- update query_by_string tests
- add tests for crss
- fix tests
- fix crs key name
- add tests for saving dataframes
- Add tqdm to calc_pixel_stats
- Create test_sheet_downloader_mock_example.py
- minor fix to test_sheet_downloader_mock_example.py
- move load_annotations to learn
- rename 'kwds' to 'kwargs' to follow convention
- load_annotations now returns PatchDatasets
- save to geojson
- Merge branch '174-save-metadata' into dev_load
- save patches as geojson
- update docstrings and ensure PatchDataset methods work
- create new branch (mock_downloader) for mock downloader and rm file from this branch
- fix import tests
- fix tests
- fix PatchDataset in datasets.py
- add 'create_datasets' and 'create_dataloaders' methods to 'AnnotationsLoader'
- set up samplers by default in 'create_dataloader'
- add todo comment in train docs
- fix assignment of datasets variable
- update classifier class to ClassifierContainer
- add label indices to patch dataset
- update classifier
- fix classifier inference
- allow no label col/label indices in patchdataset
- add labels map to annotationsloader
- fix initialise model
- fix loading preexisting model
- update doc strings
- add torchinfo to requirements
- add tests
- make shapely version 2.0.0+
- keep label and pred columns if present when saving to geojson
- force geopandas to use shapely
- update tests
- fix patchify by meters bug
- rename to classify
- fix PatchContextDataset
- fix ClassfierContextContainer
- Update README.md
- Update README.md
- Merge branch 'rw_docs' of https://github.com/Living-with-machines/MapReader into rw_docs
- update classify name
- allow use of hugging face (tranformers) models
- update docs up to training part
- fix typos
- Update README.md suggested removal of a line
- finish updating docs
- fix docs issues in classifier
- minor updates to pics
- add in-out pics
- fix unique_labels if using
append
- add tests and fix deprecation warning
- add tests for classifier
- update pkl files
- Update test_annotations_loader.py
- black
- formatting
- Merge branch 'dev_train' of https://github.com/Living-with-machines/MapReader into dev_train
- fix issue with load_patches (ensure patches are added to parents)
- make work with old annotate
- Update test_loader_load_patches.py
- Merge branch 'dev_train' of https://github.com/Living-with-machines/MapReader into dev_train
- fix some typos and add type hints
- Update setup.py
- minor fixes after testing
- update docs for saving geojson and csv files
- Merge branch 'rw_docs'
- fix to show_parent()
- updates from kmcdono2 comments
- add doc string and inference guidance
- fix train_test_split
- update venv env name from mr_py38 to mapreader
- update mnist worked example
- move small_mnist dataset
- move persistant data (NLS) dataset
- fix error if using mse loss
- ensure index has 'image_id' label when saved
- again fix issue with mse loss
- update plant pipeline
- update annotations files
- remove mnist old notebooks
- remove coastline example
- update classification_one_inch
- update annotation_tasks file
- update worked examples in docs
- Update README.md
- Update conf.py (turn off todos)
v0.3.4 (2023-02-20)
- version 0.3.3
- Add CI for pip install
- change links and citation from arxiv to ACM paper
- Update README.md
- initial commit
- initial commit
- initial commit
- adding .readthedocs.yaml
- add requirements.txt
- adding README.md
- update index.rst to include READMEs
- added READMEs
- fix requirements.txt
- setting up docs structure
- Update Load.rst
- Update Load.rst
- adding download section
- Create how_to_contribute_to_docs.md
- added basic docs to Download.rst using tutorial as base
- added basic docs to Load.rst using tutorial as base
- fix images in Load.rst
- added basic docs to Annotate.rst using tutorial as base
- organising docs files into separate directories per 'section'
- first thoughts
- updates to train.rst
- removed process/patchify and testing 'sphinx-disqus' extension
- added copybutton
- added copybutton + built html
- added basic docs to Train.rst using tutorial as base
- updated Load.rst after going through plant tutorial
- update Train.rst after going through plant tutorial
- updates to docs after testing
- Merge branch 'docs_train' into rw_docs
- updates to train.rst after testing
- Update Input-guidance.rst
- Add issue templates
- Add versioneer
- FIx proj and pytorch conda dependancy resolution
- tweak conda build tests
- build conda packages for upstream dependancies
- Successful local build of conda package
v0.3.3 (2022-04-27)
- Update README.md
- Move map-related libraries to extras_require
- Update setup.py
- Move rasterio to map dependencies
- Update README.md
- Update README.md
- 🧐 adding notebook to branch
- 🐛 fixing empty notebook
- Update README.md
- Update README.md
- Update README
- Change version to 0.2.0
- Move maps notebooks to examples/maps
- Add MNIST example
- Add figure for MNIST tutorial
- Move plant notebooks to non-maps dir
- Update README
- Update README
- Update README
- Create README.md
- Update README.md
- Update README.md
- Create README.md
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- BUGFIX: annotation interface when working with images (and not patches)
- Update README.md
- Update README.md
- d test making apr I've proposed removing 'originally' since we want to emphasise the ongoing nature of the library
- d actual edits to first para I've restored the order to 'maps' -> 'images' so we get a clearer narative as in the current existing repo; and shortened / combined a sentence, as it was repeating 'non-maps' and 'maps', so I used 'any images' instead to make it more intuitive to read. I was also going to add a few sentences giving the nice positive spin about interdisciplinary cross-pollination of image analysis, but not sure where this should go: I don't want to break the flow to the instructions, so perhaps it can go after the bullet points?
- Merge branch 'restructure-readme-kh' into patch-2
- minor
- Change map/non-map to geospatial/non-geospatial
- Change map/non-map to geospatial/non-geospatial
- Create README.md
- update README
- Merge branch 'restructure-readme-kh' of https://github.com/Living-with-machines/MapReader_public into restructure-readme-kh
- Move README to geospatial
- Update README
- Remove README from classification_one_inch_maps_001
- Add a new test
- Add MapReader paper
- Update README.md
- black
- black
- update CI
- update CI
- Add .[maps] to CI
- Remove as it is empty
- Version to 0.3.0
- update README
- update README
- update README
- update README
- Add windows-latest to CI
- README: geographic information science
- Move TOC after gallery
- Update README.md
- Add JVC paper
- Update README
- Update README
- Update README
- Update README
- Update README.md
- Set theme jekyll-theme-leap-day
- Update LICENSE
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update README
- Update README
- Update README.md
- Update README.md
- Update README
- Update README
- Update _config.yml
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Update README.md
- Set theme jekyll-theme-cayman
- Set theme jekyll-theme-minimal
- Update _config.yml
- Update README.md
- Update README.md
- Update README.md
- change maps to geo in installation
- review notebooks
- Add style
- Update README.md
- Update README.md
- Update README.md
- Update annotations for classification_one_inch_maps_001
- v0.3.1
- v0.3.2
- Update README.md
- update README
- add annotations
- 5 epochs
v0.1.2 (2022-03-03)
- 📝 adding additional kernel installation instructions.
- Merge remote-tracking branch 'origin/kasra-hosseini-patch-1' into adjust-poetry-installation-instructions
- Update README.md
- add requirements file
- update poetry files
- update requirements.txt
- update requirements.txt
- update requirements.txt
- merge with main
- 🔀 merging branches
- import torchvision needed for show_sample method
- Add parhugin v0.0.3 to .toml file
- 📦 adding requirements.txt file without hashes for binderhub build
- Merge branch 'dev' of https://github.com/Living-with-machines/MapReader into adjust-poetry-installation-instructions
- 📦 adding package for binderhub
- 📦 removing package for binderhub
- 📌 pinning usage: pyproj [-h] [-v] {sync} ... pyproj version: 3.3.0 [PROJ version: 8.2.0] optional arguments: -h, --help show this help message and exit -v, --verbose Show verbose debugging version information. commands: {sync} version to 3.2.1
- 📌 downgrading usage: pyproj [-h] [-v] {sync} ... pyproj version: 3.3.0 [PROJ version: 8.2.0] optional arguments: -h, --help show this help message and exit -v, --verbose Show verbose debugging version information. commands: {sync} to 3.2.1
- 📦 adding to
- 📦 adding and file to branch
- Merge branch 'dev' into iss19-model-inference
- Add max_mean_pixel to the annotation interface
- Add setup.py, remove .lock and .toml files
- Update README
- udpate CI
- Update setup.py
- Update setup.py
- Add quick_start notebook
- Add files to quickstart notebook
v0.1.1 (2022-01-15)
The first published version of MapReader.