scijava / scijava

Foundational libraries for scientific Java applications 🧱
https://scijava.org
6 stars 0 forks source link

Multithreading SACA introduces unstable results #223

Open elevans opened 1 month ago

elevans commented 1 month ago

If you apply LoopBuilder.setImages().multiThreaded() in the AdaptiveSmoothedKendallTau.java SACA helper class, the results become unstable. Here are some results of sampling the same pixel over 10 iterations of SACA's Z-score heatmap Op.

6.036946176029529
5.864198220214132
6.32106113622058
6.213133714349931
5.933478968985737
6.196094195429048
6.243682079049165
6.010902475073193
6.263453431733467
6.1609862621101374

And if you drop multiThreaded() from LoopBuilder you get a stable result (see 282844946dd90156199034c84b4a3abcf7fb072d):

6.117364936585281
6.117364936585281
6.117364936585281
6.117364936585281
6.117364936585281
6.117364936585281
6.117364936585281
6.117364936585281
6.117364936585281