Hey Everyone,
Just reaching out to see if there is support for or thoughts on a database for backing QuPath measurements.
-J
Hey Everyone,
Just reaching out to see if there is support for or thoughts on a database for backing QuPath measurements.
-J
Thoughts yes, support (currently) no
It’s already possible to read (some, RGB) images hosted by OMERO, and @melvingelbard is working on making this support much better – including 2-way exchange of annotations (at least compatible ones; not all annotations QuPath can make have a natural OMERO counterpart).
There are similar integrations with Google Cloud API and SlideScore via custom extensions (that we didn’t write & don’t maintain, so can’t comment on much).
However, if you mean storing all the objects related to an image in a database (e.g. a million cells & all their measurements) that’s not something we can do yet. Mostly because it isn’t something we’ve needed, but we always have one eye on the things we think we might need in the future.
For example, we have developed methods to easily convert QuPath objects to/from GeoJSON – which is widely supported in databases – as a step towards storing data in places other than local files written with Java serialization. Similarly, projects are implemented as an interface so that in the future they might potentially sit on top of a database rather than the local filesystem.
So I’d be interested to understand better what you have in mind.
I think that’s a great summary.
We are an OMERO shop but would prefer to save the annotations and ‘study’ (study name, owner, share-status, images, …) metadata in a separate DB. The use case / goal being collaborative method development and discoverability from anyone later on. Another good use of DB connected instance could be a job queue that is monitored by a ‘headless’ instance (started on server and just runs the job).
GeoJSON is a good choice, I’ve thought about that for this use case. A good level of supportability can be found with Postgres (with PostGIS) and another DB I’m looking into, CouchDB. Couch is a pure JSON store which talks over HTTP API (so no DB drivers needed). You can create ‘views’ which could accept the QuPath viewport and return just the GeoJSON coords that can be seen for instance. I’d envision when QuPath loads up a new tile the Coords associated could be recalled from DB and displayed leaflet.js style.
I wanted to try creating regions/classes in the image space and then running them through the Broad’s SKOPY tool. It’s essentially all the CP measurement types in one app and runs headless with the only input being the mask and raw channels. We are wiring this part of the workflow into a Pub/Sub system (to accept the throughput of streaming data) which is scooped into a DB automatically.
Sounds interesting!
Two thoughts that may or may not be relevant:
Where do you see QuPath fitting in?
Sounds good – I don’t want to let ‘perfection’ get in the way of progress.
Big wins would be to store the studies/images/method details + metadata stored centrally.
Re: