Skip to content

Instantly share code, notes, and snippets.

@petebankhead
Last active January 19, 2023 10:52
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save petebankhead/3515fed13a5fdbcd5cf5fb7abe52dd15 to your computer and use it in GitHub Desktop.
Save petebankhead/3515fed13a5fdbcd5cf5fb7abe52dd15 to your computer and use it in GitHub Desktop.
Create a scatterplot of cell measurements in QuPath v0.2.0
/**
* Example showing how to create an interactive scatterplot for the cells in the current viewer
* in QuPath v0.2.0.
*
* 'Interactive' here means that double-clicking a point on the scatterplot selects the specific cell.
*
* Warning! This is an early, work-in-progress feature subject to change in future releases.
* It is *not* suitable for very large numbers of cells, because each point on the scatterplot is
* rather 'heavy'. It should work fine with thousands of cells, but not with hundreds of thousands.
*
* @author Pete Bankhead
*/
def viewer = getCurrentViewer()
def cells = getCellObjects()
def builder = Charts.scatterChart()
.viewer(viewer)
.title('My scatterplot')
.measurements(cells, 'Nucleus: Area', 'Nucleus: DAB OD mean')
.markerOpacity(0.5)
.show()
// Uncomment the following line to get more info about available options
// println describe(Charts.scatterChart())
@matfallet
Copy link

matfallet commented Jan 19, 2023

Ok great ! In term of delay any idea when you project to do it, I mean in a year or before ? Cheers, Mathieu

@petebankhead
Copy link
Author

I think you're referring to a scatterplot with gating? https://forum.image.sc/t/scatterplot-cells-population/76123

No timeframe yet, I'm afraid. Gating with 2 thresholds is easier than using an arbitrary polygon (I even once wrote a script for that, but it's so long ago that I no longer know where it is...).

The forum is a better place to discuss it, and you might find other useful phenotyping tools there that are compatible with QuPath.

@matfallet
Copy link

ok a cross threshold will be already very useful, it exist some librtary in java to do it you might know probably : https://forum.image.sc/t/javafx-scatter-plot-for-imagej-a-working-example/51368

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment