fiji / Colocalisation_Analysis

Fiji's plugin for colocalization analysis
http://imagej.net/Coloc_2
GNU General Public License v3.0
25 stars 18 forks source link

Algorithms and Input GUI v2: Investigate whether we should unify/resue any functionality with JACoP / MOSAIC Suite - Interaction analysis plugin for ImageJ #13

Open hinerm opened 9 years ago

hinerm commented 9 years ago

JACoP may have useful functionality that we should be using here. Someone should investigate!

chalkie666 commented 9 years ago

From JACoP - the main 2 things are: 1) manually user definable thresholds (a really bad idea, but like crack cocaine, attractive to short sighted users) 2) an object based coloc measurement.... relying on a very simple / crude thresholding to determine the segmentation of objects....

From MOSAIC update site comes interesting new object based methods. http://mosaic.mpi-cbg.de/Downloads/IAPManual.pdf we could make it a dependency and integrate/reuse functionality into our new GUIs for job setup and results?????


Thoughts:

I reached out to the jacop authors very recently to discuss collaboration, and also a while back, but got rather little response... so i think we might be on our own....i guess they may have moved on....

I'm planning to add the algorithm for % coloc by intensity and/or pixels above thresholds. see issue #17

What i also liked about Jacop is the nice user interface with tabs for different functions, and some visual feedback about what settings or input parameters are needed to run the selected algorithms. We can certainly learn from the usabilitty and layout of the GUI.

The SingleWindowDisplay implementation of ResultHandler in Coloc_2 was only ever meant to be a first attempt to get us going. There was always supposed to be a much nicer GUI in the end.... see issue #31 and issue #8 and issue #27

chalkie666 commented 9 years ago

1) For Onject/segmentation based coloc, we could port over the object based methods in JACoP to Coloc_2... using imageJ buil-in autothreshold method like Otsu etc. 2) instead of implementing the dangerous to the user totally non robust manual thressholding we could add more autothreshold algorithms, and re use existing imageJ autothreshold methods like Otsu See the design doc in the wiki here.

ctrueden commented 9 years ago

One of our primary goals for Coloc 2 in coming months will be to convert the core routines to ImageJ Ops. We already have lots of autothresholding methods in Ops (including all of the ones ImageJ 1.x offers and more, as well as local autothresholding methods), although with object-based segmentation actually thresholding is only the beginning—we may want to reuse something more general w.r.t. ROIs.

tomka commented 9 years ago

@ctrueden Coloc 2 already supports masks with the same number of dimensions as the input images. These are are essentially ROIs.

ctrueden commented 9 years ago

@tomka Cool.

So then, I am not sure how @chalkie666's idea about autothreshold methods fits in to the picture. But don't worry too much about explaining it now if you are busy. @etarena has plenty to do in the meantime!

chalkie666 commented 9 years ago

@ctrueden there are two different kinds of thresholding going on here.

1) normal thresholding that looks at one image histogram and sets a threshold according to some single histogram or difference from mean or mode etc. Used for object based colocalisation. Could be a different threshold method for each image colour channel.

2) the Costes autothreshold which uses two images at once to measure correlation above and below the thresholds and find thresholds where Pearson's r correlation is zero below thresholds and positive above the thresholds. We use this for the pixel Intensity correlation over space based colocalisation measurements. You could imagine even more ways to do it with two images together to funds thresholds according to some criteria or other. Eg could use a rank correlation instead of Pearsons correlation.

I digress...... On 6 Aug 2015 17:56, "Curtis Rueden" notifications@github.com wrote:

@tomka https://github.com/tomka Cool.

So then, I am not sure how @chalkie666 https://github.com/chalkie666's idea about autothreshold methods fits in to the picture. But don't worry too much about explaining it now if you are busy. @etarena https://github.com/etarena has plenty to do in the meantime!

— Reply to this email directly or view it on GitHub https://github.com/fiji/Colocalisation_Analysis/issues/13#issuecomment-128417782 .

chalkie666 commented 9 years ago

Note that the 3D ROI manager available as an update site does 3D object coloc, so we dont need to re do that immediately at all!!! See http://imagejdocu.tudor.lu/doku.php?id=tutorial:working:tutorial_for_3d_roi_manager

imagejan commented 9 years ago

@chalkie666

Note that the 3D ROI manager available as an update site does 3D object coloc, so we dont need to re do that immediately at all!!!

Note that the 3D ROI Manager does voxel colocalization on binary objects, i.e. it calculates the percentage of voxels that are positive in both of two objects/channels.

See this post on the ImageJ mailing list

(it should be made clear to users that this is different from calculating coloc using Pearsons and Manders coefficients)