BodenmillerGroup / steinbock

A toolkit for processing multiplexed tissue images
https://bodenmillergroup.github.io/steinbock
MIT License
50 stars 15 forks source link

Comparison of neighbour detection to CellProfiler #107

Open nilseling opened 2 years ago

nilseling commented 2 years ago

Hey, I came around to test the similarity between the CellProfiler neighbour detection approach (mask expansion) to steinbock measure neighbors --type expansion --dmax <number>. This is just for documentation purposes and not an issue per se.

I selected a single mask from the immucan example data and ran the CellProfiler MeasureObjectNeighbors module with the default pixel expansion threshold 8. This gave me 25920 interactions from 2835. Running steinbock measure neighbors --type expansion --dmax 8 gave me 15291 interactions of which 15016 intersected with the CP interactions.

Same game for a distance of 4: CellProfiler gives me 18110 interactions, steinbock gives 14975 interactions of which 14954 intersect.

So I have no clue where these differences are coming from and in general it's not a problem (assuming steinbock measure neighbors --type expansion --dmax 4) is a reasonable default. But it makes it complicated to generate results that could be merged with data previously generated with CP.

jwindhager commented 2 years ago

Probably caused by #124, closing. Please reopen if there are still differences with steinbock>=0.14.0.

nilseling commented 2 years ago

Could we please keep this open for now? I want to check how different the results are and track it here for the future.

jwindhager commented 2 years ago

Removing the bug label for now, to keep bugging you :innocent:

nilseling commented 2 years ago

Alright, not sure what to do with these results. I have taken one mask and used a CellProfiler pipeline to detect neighbors by expanding 4 and 8 pixels (cp_4 and cp_8). I did the same thing with steinbock v0.14.1 again using an expansion of 4 and 8 (steinbock_4 and steinbock_8). I have attached the overlap between all pairwise comparisons.

image image image image image image

The current defaults are steinbock 4 and CellProfiler 8 where we don't see great overlap due to CellProfiler detecting a lot more edges.

jwindhager commented 2 years ago

Uhm, that doesn't look good :-/ Let's look into this together offline?