Closed mzur closed 5 years ago
Point 1 is implemented. Point 2 won't be implemented as I now plan to display even converted annotation candidates permanently. There are much less annotation candidates than training proposals, too.
Point 3 might be interesting if we appear to run out of storage space. If we find a solution for this without having to assign a UUID to each proposal/candidate, this would be useful for regular annotation patches as well.
Maybe the URLs for annotation patches, training proposals and annotation candidates can be a combination of image UUID and model ID. Example:
patches/aa/14/aa141561-5b7c-43f1-8f6d-75795eaa1b03/12345.jpg
Where aa141561-5b7c-43f1-8f6d-75795eaa1b03
is the image UUID and 12345
is the ID of the annotation patch/training proposal/annotation candidate. This would allow for public serving of the files as the image UUID is hard to guess. And even if somebody guesses the UUID, they still have to try all model IDs. Even then they can grab only the thumbnails of a single image.
This can be implemented as local storage disk that is made public like the image thumbnails are now. Or it can be a public cloud storage disk, accessed through an Nginx reverse proxy.
This has been implemented with #35.
It might be that the disk space required by many MAIA jobs (for training proposal and annotation candidate thumbnails) may be too much for our setup. In my tests, a single job required more than 1 GB of disk space. Even though we have plenty of free storage right now, we can't easily scale to a few hundred jobs. To mitigate this problem we could: