embl-cba / spindle3d

0 stars 0 forks source link

Spindle tubulin sum #13

Closed TobiasKletter closed 3 years ago

TobiasKletter commented 3 years ago

Hi,

the current output table contains a parameter called Spindle_Tubulin_Sum. If I remember correctly, this was the sum of all voxel intensities, but each voxel was corrected by some baseline value, I think the spindle intensity threshold. Is this still valid? Can we please output both the background-corrected sum and the raw sum? ("Spindle_Tubulin_Sum_Raw"?)

We originally wanted to account for the free, non-polymer tubulin inside the spindle. However, a) we just don't really know this fraction so the value we subtract is a bit arbitrary, and b) depending on the question it is necessary to know the total (free+polymer) spindle tubulin.

TobiasKletter commented 3 years ago

Above issue is already addressed ✅ __

Follow-up issue

(This doesn't necessarily concern the plug-in but rather the pre- and post-analysis. I will however leave this here for the time being so it doesn't get lost) spindle tubulin sum = spindle mass Problem: Spindle masses are not necessarily comparable between the data sets, different laser powers, bit depth etc. Even within one data set this is tricky because tubulin-GFP expression can vary.

Ways to normalise?

For the data sets where we have cell volume information we can consider the whole-cell tubulin mass: Idea 1: I will calculate the tubulin fraction inside the spindle (spindle tubulin / whole cell tubulin)

Idea 2: I will multiply the binary cell mask with the raw input and do a min-max normalisation of the remaining voxels. The idea being to convert each voxel inside the cell into a float between 0 and 1. This image is then used as Spindle3D input.

TobiasKletter commented 3 years ago

Idea 2: I will multiply the binary cell mask with the raw input and do a min-max normalisation of the remaining voxels. The idea being to convert each voxel inside the cell into a float between 0 and 1. This image is then used as Spindle3D input.

Spindle3D doesn't save output images and measurements when input images are float type? Analysis itself seems to work fine though...

[ERROR] Module threw exception
java.lang.ClassCastException
[ERROR] Error during module execution
java.util.concurrent.ExecutionException: java.lang.ClassCastException
    at java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.util.concurrent.FutureTask.get(FutureTask.java:192)
    at org.scijava.batch.ModuleBatchProcessor.processFile(ModuleBatchProcessor.java:141)
    at org.scijava.batch.ModuleBatchProcessor.run(ModuleBatchProcessor.java:118)
    at org.scijava.module.ModuleRunner.run(ModuleRunner.java:165)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:124)
    at org.scijava.module.ModuleRunner.call(ModuleRunner.java:63)
    at org.scijava.thread.DefaultThreadService.lambda$wrap$2(DefaultThreadService.java:225)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at java.lang.Thread.run(Thread.java:748)
Caused by: java.lang.ClassCastException