Third milestone on the path to QuPath v0.2.0

QuPath v0.2.0-m3 is now online!

There are many changes, mostly below the surface - but quite a few above the surface too.

The biggest differences involve projects, which have been completely revised. It’s now easier to import images (just drag & drop multiple files) & QuPath tries harder to help resolve broken paths (e.g. when your images move).

image
image

You can finally set pixel sizes by double-clicking the values under the ‘Image’ tab - optionally with a line or area drawn to help figure out the calibration

Sidenote: you’ll need to be using a project to store the changes…

image

A major reason to update projects was to add ‘fancy’ images in the future, which aren’t stored directly in a single file but might need to be calculated dynamically (e.g. by applying some kind of transform). This could be to crop regions, concatenate channels, normalize colors…

Create sparse image from project is a first example. It generates a new image consisting of regions extracted from other images in a project (all the ones with an annotation classified as ‘Region*’). I expect this to be useful one day… maybe to train a pixel classifier.

Speaking of which, the pixel classifier remains a work-in-progress. Not yet save-able or scriptable, it has been extensively revised & can calculate some new features (including some in 3D!) on its path to being useful.

image
image

New, perceptually uniform colormaps have also arrived (thanks go here):

image

There’s more control when you send images to ImageJ - including z-stacks

Bio-Formats v6.2.0 is included - which means improved WSI support thanks to the the Bio-Formats team & Glencoe Software. QuPath’s ability to write pyramidal OME-TIFF images is also much improved (albeit still mostly accessible by scripting).

The brush & wand are better. Previously, exuberant brushing would result in lots of disconnected circles - now things are smoother. Also, with a compatible graphics tablet the Wand is pressure sensitive - and both tools behave a better with touchscreens.

v0.2.0-m2


v0.2.0-m3

And lastly, especially for coders, there’s a first implementation of a GsonTools class to help convert various QuPath-related things to & from a JSON representation. Here, it’s applied to convert a QuPath object into a GeoJSON feature.

image

And while I’m here, if you want to help make QuPath better, faster, join me in Edinburgh!
There’s a Research Fellow position currently being advertised (deadline 8 August).

Note: If you prefer to receive this information in tweet form, it’s at https://twitter.com/QuPath/status/1153748322471088128

11 Likes

Keep it all coming!

PS. All of my brushing is exuberant.

1 Like

Thank you for making these milestone releases available for users.

1 Like

Did anything change concerning opening files with Bioformats?
I managed with m2, but m3 does only open the slide overview of Leica scn files.
It´s not completely clear to me whether I am supposed to still add the Bioformats extension or not (tried with and w/o but did not succeed).
I tried using the zip-folder version for Windows.

Probably… too many changes to remember them all. Did you open the image in a project? Hopefully that should at least give you all the images in the file, and you can delete any you don’t want.

I guess I need to start using more .scn files…

Are there any examples hosted somewhere that have the same problem @MartinH?

Ok, I found one and tried it: opening in a project worked for me. Otherwise QuPath couldn’t find any clues which one it ought to open, and unfortunately the main whole slide image for .scn doesn’t seem to be the first one in the file.

I’ve tried various logic over the years in an effort to open the right one by default… but none totally reliable across all file formats. I recall previously QuPath would open the largest file, which would probably have been more successful here, but was really surprising when applied to a file containing 100 scenes, each representing an individual TMA core - and each with slightly different sizes. It ended up picking one seemingly at random.

Also, previously there was an extra list under the ‘Image’ tab to select different images stored within the same file, but this has been removed because the ImageServer interface has changed. Currently, the only way to access different images within the same file via Bio-Formats is to add them to a project (apart from things recognised as labels/ancillary images, which are still under the ‘Image’ tab).

The change was made in the service of the ‘fancy’ images mentioned above. It is becoming increasingly important to use projects in QuPath rather than to open images individually to be able to take advantage of all the features. To support that it is becoming easier to create and organize projects.

2 Likes

you guys are amazing … looks as if you started typing the answer before I even asked. Incedible speed.

I tried opening in a project and that worked as well for me. So I guess we simply getting used to projects. Which probably is a good idea anyways.

Thanks again for the quick response (and solution).

Here is a quick video demonstrating how projects can be quickly created and organized, as of 0.2.0m3

3 Likes

I’m really embarrassed to ask, but is there any way to work with projects created with 0.2.0m2 in 0.2.0m3? Although we should have known better, we started a whole bunch of projects right after the m2 release, which cannot be used with m3 it seems …

Probably yes, although I’m afraid I don’t have a way yet. But I was expecting to have to come up with one at some point :slight_smile:

The good news is that the general idea is the same for m2 and m3:

  • The list of images in the project is in the .qpproj file (it’s JSON and can be opened in a text editor; I use Atom)
  • Each image entry has an ID, which is just an integer
  • Inside the data folder there is a subfolder for each ID (assuming anything has been saved for that image)
    • Inside each ID subfolder there is
      • A .qpdata file
      • Other stuff, which it should be safe to ignore (I think…)

The good news is that m3 projects are actually a bit simpler than m2 ones… as figuring out how to do it more simply took a lot more time.

What I think you’ll need to do is

  • create an m3 project with the same images as m2
  • figure out how match the IDs
  • copy over the .qpdata files into the correct place

I think the best thing would be to write a script to do the job. I did/do plan to write one (assuming someone asked), but I’m afraid it may take a some weeks before I can look properly.

Warning: I wrote this from memory and it’s very possible there are hidden complications that I haven’t considered… but I’m fairly sure it should be achievable in the end.

2 Likes

@petebankhead thank you so much for your encouraging answer at this late hour. I already looked into the .qpproj file of an m3 project (I just used notepad++, but will switch to Atom now :slight_smile:) and noticed some of the differences. If the “only” thing I have to do is to get the .qpdata files (is this where the annotations are?) into the folders with the right IDs - that should be feasible. Would it also work, if I change the IDs in the .qpproj file of the m3 project to match the folder / ID structure of the old m2 project?

If you could look into writing a script that deals with “0.2.0mX to mY conversion”, that would be absolutely fantastic. But only if you find the time - I can only imagine how busy you must be. I will also try to put something together, but this will probably take even longer. Also it will probably not work.

Thanks again anyway.

1 Like

M4!! Full speed ahead!

And potentially more useful, you could also try moving the annotations over. If the script still works.

1 Like

@Research_Associate Thank you very much, Mike. I will look into the Google Groups thread which I totally forgot about :sweat_smile: Plus, I will try out Pete’s idea / script, when it’s ready … Have a great weekend everyone.

1 Like

Well, it seems I forgot some things about the complexity of m2 projects (e.g. the ID is a long & incomprehensible UUID, not a simple integer).

The ‘good’ thing is that writing code is my preferred way to procrastinate before an important deadline.

You could try this:

2 Likes

@petebankhead I just saw this, Pete. I’ll try it out tonight and return with praise and ovation shortly. Good luck on your deadline :slight_smile:

Thanks, I’m hoping that’s how the story works out! :slight_smile:

1 Like

The first two tries were successful and everything worked perfectly. You’re amazing @petebankhead. I will let you know if I run into any problems further down the way - but I doubt it :slight_smile: Thank you very much! And again maximum success on your deadline-associated matter.

1 Like

6 posts were split to a new topic: Missing metadata for Ventana images in QuPath with Bio-Formats

Hi @petebankhead ,

I just tried this with both m3 and m4 and got error everytime saying unable to build whole slide server or something like that. Asking as well to recheck Bioformats and/or OpenSlide.

Any ideas why I’m getting that ?

Thanks a lot !