Dear all,
I am using Daniel's watershed algorithm to separate some particles, but I don't know how to use it in the macro.. I found a macro to use it in this way: run("Watershed ", "blurring='1.0' watershed='0 1 0 170 0 1' display='6 5 4 3 2 1 0' "); (The link is http://bigwww.epfl.ch/sage/soft/watershed/Watershed_Demo.txt ) and it didn't work.. I also read Gabriel's post to use it by as plug-in in this link: http://imagej.588099.n2.nabble.com/need-help-on-various-watershed-segmentation-algorithms-td635524.html#a635524 and it also didn't work!! Could anyone help me to solve this problem? Maybe something new which i don't know? Thank you so much |
Hi, I had problems with this macro too. After downloading watershed_.jar from Daniel Sage's website everything worked well.
Karsten Am 11.06.2010 um 16:43 schrieb NatashaW: > Dear all, > > I am using Daniel's watershed algorithm to separate some particles, > but I don't know how to use it in the macro.. > I found a macro to use it in this way: > run("Watershed ", "blurring='1.0' watershed='0 1 0 170 0 1' display='6 5 > 4 3 2 1 0' "); > (The link is http://bigwww.epfl.ch/sage/soft/watershed/Watershed_Demo.txt ) > and it didn't work.. > > I also read Gabriel's post to use it by as plug-in in this link: > http://imagej.588099.n2.nabble.com/need-help-on-various-watershed-segmentation-algorithms-td635524.html#a635524 > and it also didn't work!! > Could anyone help me to solve this problem? Maybe something new which i > don't know? > Thank you so much > > > > -- > View this message in context: http://imagej.588099.n2.nabble.com/Watershed-question-tp5168189p5168189.html > Sent from the ImageJ mailing list archive at Nabble.com. Karsten [hidden email] |
In reply to this post by NatashaW
Hi Natasha,
you could also try the built-in command 'Find Maxima' which has a 'Segmented Particles' output. This also does a watershed segmentation of the image data (in contrast to Process>Binary>Watershed, which does watershed segmentation of the distance map) Michael ________________________________________________________________ On 11 Jun 2010, at 16:43, NatashaW wrote: > Dear all, > > I am using Daniel's watershed algorithm to separate some particles, > but I don't know how to use it in the macro.. > I found a macro to use it in this way: > run("Watershed ", "blurring='1.0' watershed='0 1 0 170 0 1' > display='6 5 > 4 3 2 1 0' "); > (The link is http://bigwww.epfl.ch/sage/soft/watershed/ > Watershed_Demo.txt ) > and it didn't work.. > > I also read Gabriel's post to use it by as plug-in in this link: > http://imagej.588099.n2.nabble.com/need-help-on-various-watershed- > segmentation-algorithms-td635524.html#a635524 > and it also didn't work!! > Could anyone help me to solve this problem? Maybe something new > which i > don't know? > Thank you so much > |
In reply to this post by karo03
Hi Karsten and Michael,
I need to work with gray level images to get the most of details, so I download watershed_.jar plugin from Daniel Sage's website. Karsten, Could you please tell me how did you call Daniel's plugin from your macro or your java code? My problem is that.. I should use a different threshold value in every time ( I'm working on 40 images vary in fluorescent intensity) so I need to call watershed algorithm from my plugin. Thank you so much, |
Hi,
As far as I understand, you are not asking for how to call Daniel Sage's plugin but for a solution to separate connected objects. Seemingly you have already tried the way: binarization, distance map (inversion), watershed without sufficiently good results. You try now to apply watershed on the greyscale image, hoping that the resulting bassins contain the expected objects. Am I right? In fact I am convinced that the watershed on grey images will deliver more cumbersome results. At least a macro line run("Watershed ", "blurring='1.0' watershed='0 1 0 255 0 1' display='3' "); from that mentioned demo will work on bright background with dark objects. Hence you have to invert your fluorescence intensity image or change the watershed parameters. Still watershed will typically do more than wished. This falls under oversegmentation, possibly that is what you meant by "it didn't work". This is an inherent problem of watershed. In my applications I change only the amount of blurring or use different methods to smooth the watershed input image (math. morphology or anisotropic diffusion). Concerning your problem with varying fluorescence intensities, I expect in your images at least a (non-fluorescenting) background which has to be segmented to get objects and/or particles. The necessary threshold should separate background and has not really something to do with varying fluorescence intensities or with the grey values limits in Daniel's watershed algorithm. I am not sure what you like to do; counting/measuring objects or counting/measuring particles inside of objects. If the objects to be separated are large, watershed on gray images will not be feasible, since grey variation inside the objects delivers further unwished separation. Perhaps some more information or an example image might be helpful. Regards Karsten Am 11.06.2010 um 21:11 schrieb NatashaW: > Hi Karsten and Michael, > > I need to work with gray level images to get the most of details, so I > download watershed_.jar plugin from Daniel Sage's website. > Karsten, Could you please tell me how did you call Daniel's plugin from your > macro or your java code? > My problem is that.. > I should use a different threshold value in every time ( I'm working on 40 > images vary in fluorescent intensity) so I need to call watershed algorithm > from my plugin. > > Thank you so much, > -- > View this message in context: http://imagej.588099.n2.nabble.com/Watershed-question-tp5168189p5169325.html > Sent from the ImageJ mailing list archive at Nabble.com. Karsten [hidden email] |
Karsten,
Many thanks for your explanation; you have exactly mentioned the most problems that I have found during my work!! I’m really working to count/measuring some particles (foci) inside the nuclei. Daniel’s algorithm gives me good results when I work on the foci images (gray-level values). But during this work, I found some problems: 1-When I smoothed the input image, the oversegmentation problem has been solved.. But watershed didn’t separate all the desired objects. I’m still looking for a better threshold value. Indeed, I didn’t find yet the best criteria to control the MIN and MAX values.. 2-The detected particles are bigger than their real size. This may cause a problem during the measurement (like the mean and IntDen..) because the boundaries of the detected objects don’t match exactly their real size.. Maybe because of the chosen MIN value?? 3-Is Daniel’s watershed algorithm an implementation of this article: Vincent, Lee & Soille, Pierre, "Watersheds in digital spaces: An efficient algorithm based on immersion simulations", IEEE PAMI13 (6): 583-598 If not, could someone tell me which one? I want to understand how the algorithm works Please.. Thank you so much for your help |
Hi,
Am 13.06.2010 um 13:34 schrieb NatashaW: > Many thanks for your explanation; you have exactly mentioned the most > problems that I have found during my work!! > I’m really working to count/measuring some particles (foci) inside the > nuclei. Daniel’s algorithm gives me good results when I work on the foci > images (gray-level values). Seemingly foci are mostly of the same size and compact. > > But during this work, I found some problems: > > 1-When I smoothed the input image, the oversegmentation problem has been > solved.. But watershed didn’t separate all the desired objects. I’m still > looking for a better threshold value. Indeed, I didn’t find yet the best > criteria to control the MIN and MAX values.. With the MIN and MAX values, you will not improve the separation of connected objects but only the size of the basins, the connected components. Typically doing a full watershed from 0 to 255 gives you a partition of the whole image. Basins are delimited by the topology of the intensity of the input image. The borders of the basins, some sort of an exo-skeleton, allows you to cut the binary image won by any other segmentation "mask XOR exoskeleton". The MIN/MAX values are an implicit thresholding. > > 2-The detected particles are bigger than their real size. This may cause a > problem during the measurement (like the mean and IntDen..) because the > boundaries of the detected objects don’t match exactly their real size.. > Maybe because of the chosen MIN value?? (See above) If you need exact particles areas (I don't know what that might be!) you can perform a full watershed (0..255) and segment each basin with a separate (automatic) threshold. > > 3-Is Daniel’s watershed algorithm an implementation of this article: > Vincent, Lee & Soille, Pierre, "Watersheds in digital spaces: An efficient > algorithm based on immersion simulations", IEEE PAMI13 (6): 583-598 > If not, could someone tell me which one? I want to understand how the > algorithm works Please.. I have not looked into Daniel's algorithm, but results looks like the Vincent algorithm. Differences in implementation are the result of different sequences to test neighborhood conditions. The algorithm is described in the Vincent paper. In fact the basin filling can be understood as an efficient method to find monotone path connectivity. Each point pair reachable by a monotone path (in terms of intensity) belongs to the same basin (or connected region). From this explanation (?) you might understand, that the separation expected or wished has not much to do with the separation got, although the algorithm delivers watersheds. Additionally the digital grid with only 4 or eight directions influence strongly the exo-skeleton, easily visible in watershed on distance maps with large connected objects and especially with objects of varying size. If the foci are well detected possibly the number of cells, typically much less than foci, can be estimated by simpler tools (mean area, manual count). At least, automatic separation should never be used without carefull observation! Regards Karsten [hidden email] |
In reply to this post by NatashaW
Hi, Natashaw,
have you tried the FociPicker3D plugin? you can have a look at http://rsbweb.nih.gov/ij/plugins/foci-picker3d/index.html I wrote the plugin for foci analysis. guanghua NatashaW wrote: > Karsten, > > Many thanks for your explanation; you have exactly mentioned the most > problems that I have found during my work!! > I’m really working to count/measuring some particles (foci) inside the > nuclei. Daniel’s algorithm gives me good results when I work on the foci > images (gray-level values). > > But during this work, I found some problems: > > 1-When I smoothed the input image, the oversegmentation problem has been > solved.. But watershed didn’t separate all the desired objects. I’m still > looking for a better threshold value. Indeed, I didn’t find yet the best > criteria to control the MIN and MAX values.. > > 2-The detected particles are bigger than their real size. This may cause a > problem during the measurement (like the mean and IntDen..) because the > boundaries of the detected objects don’t match exactly their real size.. > Maybe because of the chosen MIN value?? > > 3-Is Daniel’s watershed algorithm an implementation of this article: > Vincent, Lee & Soille, Pierre, "Watersheds in digital spaces: An efficient > algorithm based on immersion simulations", IEEE PAMI13 (6): 583-598 > If not, could someone tell me which one? I want to understand how the > algorithm works Please.. > > Thank you so much for your help > -- best wishes! ************************************** Guanghua Du, PhD James-Franck Str. 1 Physik Dept, E12, TUM 85748, Garching b. Muenchen Germany Tel:+49-89-28914286 E-mail: [hidden email] ************************************** |
In reply to this post by NatashaW
Hi
I have a simpler Watershed question for nuclear counting. It seems the watershed is segmenting the negative space rather than the desired nuclei. I have tried inverting, playing around with thresholding and such - but still unable to get watershed to segment the nuclei vs. the background. Any advice? Is there something more I can do to my image to make sure the segmentation happens in the right places? Olga |
Free forum by Nabble | Edit this page |