View Code? Open in Web Editor
NEW
Cross Platform App to validate a folder of images (with pan and zoom features), mostly for dataset annotation purposes.
Home Page: https://www.youtube.com/watch?v=vryKN6d9qI8
License: GNU General Public License v2.0
image-annotator-rust's Issues
It's possible that images will be huge in size - and loading each image will take a lot of time while traversal. It will be ideal if images are loaded in the background (async).
Add an option for the user to export JSON to a specific folder.
Should default to $HOME
folder.
Currently, the format looks like:
{
"image_to_properties_map" : {
"/Users/krshrimali/Documents/krshrimali/projects/image-annotator-rust-app/sample_folder" : [
{
"index" : 0 ,
"image_path" : " /Users/krshrimali/Documents/krshrimali/projects/image-annotator-rust-app/sample_folder/sample.webp" ,
"annotation" : true ,
"comments" : " "
},
],
}
}
After this issue is resolved, it should look like:
{
"image_to_properties_map" : {
"/Users/krshrimali/Documents/krshrimali/projects/image-annotator-rust-app/sample_folder" : {
"last_updated" : " time_stamp_as_str" ,
"annotations" : [
{
"index" : 0 ,
"image_path" : " /Users/krshrimali/Documents/krshrimali/projects/image-annotator-rust-app/sample_folder/sample.webp" ,
"annotation" : true ,
"comments" : " "
}
]
},
}
}
Currently, the app lacks any tests for the backend. Ideally, we should test logics like:
Raising proper errors for invalid files (invalid extensions/invalid images etc.)
Loading an image from local path.
Checking empty folder.
Mark as correct and mark as incorrect.
JSON Writer
And more.
Currently, it's hard to differentiate b/w the rows, so it would be good to add some colors into it.
Cargo.toml
file specifies *
versions for most of the libraries and API is obviously changed.
To mitigate this I suggest to:
put exact versions (as 0.x versions can be changed drastically even on patch level)
add CI to build the project for every pull request and push to main branch
add a RenovateBot(or Dependabot or similar) to update libraries
This way all changes would be visible if they break things or not. and maintenance will be a lot easier.