We are currently implementing the manual image annotator. It’s working great!
We have one issue with it though. The name of the label is dependent on the original image size. See the following 2 examples:
High resolution:
I imagine this has something to do with the SVG being scaled into the frame, and the label text having a static size. Maybe you can make something that the font size of the label is relative to the amount of scaling. Maybe the same can be done with the line thickness.
Thanks for the report, that definitely needs improvement How large are the hi-res images you’re using?
I do have relative scaling implemented at the moment, but I might need to tweak this a little to work with very large images. It currently scales that font at 2% of the image width and the stroke at 0.4% (with a minimum value for both). Not sure how I came up with those magic numbers – I guess they just ended up performing best overall
Thanks – I’ll try it out with some random phone snapshots then!
In the meantime, you could try resizing your images for annotation and then write a small script to relate the pixel coordinates back to the original image? You could store the original dimensions in extra keys like "orig_width" and "orig_height", so they’re passed throug to the dataset. (And unless you’re on a huge screen, there’s usually not really a benefit to rendering 3000px-wide image in the browser anyways.)
You could try editing static/index.html and add a style definition for text elements under .prodigy-content: <style>.prodigy-content svg text {font-size:12pt !important}</style>
Modify at will.
Quick update: the auto-sizing of labels and bounding box strokes should now be fixed in v1.7. There’s also some other stuff that might be relevant for customising the image interface – see this threa for details.