Allow to adjust image brightness/contrast within Label Studio itself.
Is your feature request related to a problem? Please describe. With darker images, it can be hard to pick out specific areas or the individual keypoints — right now its not possible to do this within an individual annotation tool.
Describe the solution you'd like Allow for annotators to bump the brightness or contrast within Label Studio itself.
Describe alternatives you've considered Currently, this requires folks to do this outside of the annotation tool, as in an image editor but it greatly slows down the process.
Additional context Feature discussed on Twitter by @evogom: https://twitter.com/evogom/status/1651124313930575873?s=20
+1 on this, I have images of varying brightness/contrast levels and dynamically changing those while labeling would be a massive help
Yes. It would be a wonderful feature. Labelme has this.
Yes, I also need this feature..
Definitely! CVAT can be an example
Looking forward to this exciting feature!
Label Studio does technically support this, try adding brightnessControl="true" and contrastControl="true" to your Image tag in the labeling interface: https://labelstud.io/tags/image
While this is indeed useful for some tasks, it's usually not enough for medical imaging tasks where you need window leveling to focus on a specific part of the dynamic range depending on which part of the image you are looking at. I looked into adding window leveling into Label Studio, but the way it is setup currently makes it difficult to do it with good performance. Best I can tell, the Image element in browser is displayed as an HTML
- Convert the image element to pixel values with canvas - very fast
- Do the window leveling on the pixels
- ~100ms to window level a 2000x2000 image w/ custom Web Assembly SIMD kernel I wrote
- ~70ms round trip copying pixels between Javascript and Web Assembly
- Draw the window leveled image to canvas - very fast
- Update
image.srcwithtoDataURL(). ~400ms for a 2000x2000 image, extremely slow.
The 70ms to copy memory back and forth between Web Assembly is probably unavoidable unless most of Label Studio was written in Web Assembly. However, that is not the main issue. The ~400ms required to call toDataURL and update the DOM are the deal breaker in terms of performance. If the Image element also lived in a Canvas, there wouldn't be such a high overhead.
Maybe I am missing something here (not a web dev), but it seems like even if I did add this into Label Studio, the performance would never be good enough for a pull request.
Thank you for your response, I have been looking for this for a long time! Never thought they have been under the Image tags the whole time!
Quite surprised these are not default true