Hi there,
I'm working with neurons and right now I'm stuck on one and a half problem. 1) Endpoint-detection of the neurites, working so so... (image) http://img191.imageshack.us/img191/433/endpoints.jpg My idea was to first remove the cellbodies, leaving the image with just neurites, and then erode by 1px (the neurites gets 1px shorter) and then skeletonize. This image is then subtracted from a copy of this skeletonized image, but the copy is not eroded so the subtraction results in small dots which I hoped to be the endpoints. Turned out to be a lot more irrellevant dots than I wanted... 2) Attachmentpoints. My idea here was to use dilate-filter, dilate the neurites by a couple of pixels to generate a cross where it enters the cellbody. Then use some kind of transformation to count the crosses... is this possible in the first place? There are a lot of problems associated with this, for example it's really hard to make a nice cross... Any ideas on this? It really got me stuck for a couple of weeks... |
You might want to look at Fiji's AnalyzeSkeleton plugin.
David Webster On Sun, Jun 14, 2009 at 7:31 PM, maringa <[hidden email]>wrote: > Hi there, > > I'm working with neurons and right now I'm stuck on one and a half problem. > 1) Endpoint-detection of the neurites, working so so... (image) > http://img191.imageshack.us/img191/433/endpoints.jpg > > My idea was to first remove the cellbodies, leaving the image with just > neurites, and > then erode by 1px (the neurites gets 1px shorter) and then skeletonize. > This > image > is then subtracted from a copy of this skeletonized image, but the copy is > not eroded > so the subtraction results in small dots which I hoped to be the endpoints. > Turned out to be a lot more irrellevant dots than I wanted... > > 2) Attachmentpoints. > > My idea here was to use dilate-filter, dilate the neurites by a couple of > pixels to generate a cross > where it enters the cellbody. Then use some kind of transformation to count > the crosses... is this possible in the first place? > > There are a lot of problems associated with this, for example it's really > hard to make a nice cross... > > Any ideas on this? It really got me stuck for a couple of weeks... > -- > View this message in context: > http://n2.nabble.com/Attachmentpoints-and-Endpoint-problem-tp3078257p3078257.html > Sent from the ImageJ mailing list archive at Nabble.com. > |
In reply to this post by maringa
Hi Maringa,
1) skeltonize first, then duplicate, set "count" in Binary Options to 7 and erode. Subtract the two - this should give you the endpoints. 2) skeletonize, set "count" in Binary Options to 6 and erode. This leaves only the crossings. Note that crossings under an oblique angle will usually result in two points; you can combine them by dilating with 'count=1' and 'iterations' a bit more than the line thickness. Then run 'Find Maxima' to get single points or count the patches (former crossings). Michael ________________________________________________________________ On 15 Jun 2009, at 04:31, maringa wrote: > Hi there, > > I'm working with neurons and right now I'm stuck on one and a half > problem. > 1) Endpoint-detection of the neurites, working so so... (image) > http://img191.imageshack.us/img191/433/endpoints.jpg > > My idea was to first remove the cellbodies, leaving the image with > just > neurites, and > then erode by 1px (the neurites gets 1px shorter) and then > skeletonize. This > image > is then subtracted from a copy of this skeletonized image, but the > copy is > not eroded > so the subtraction results in small dots which I hoped to be the > endpoints. > Turned out to be a lot more irrellevant dots than I wanted... > > 2) Attachmentpoints. > > My idea here was to use dilate-filter, dilate the neurites by a > couple of > pixels to generate a cross > where it enters the cellbody. Then use some kind of transformation > to count > the crosses... is this possible in the first place? > > There are a lot of problems associated with this, for example it's > really > hard to make a nice cross... > > Any ideas on this? It really got me stuck for a couple of weeks... |
Hi Michael,
I have tried these methods you suggested, but in 1) It only generates random dots, and very few of them aswell. I tried with a neurite-stained hippocampal image and a neurite stained P19 image but I only get 10-30 random dots. I skeletonize, set cound, erode and then subtract. As for 2) I also get few and random dots even though I skeletonize, count 6, erode. I dont quite know what could be the problem here... Maringa > > Hi Maringa, > > 1) skeltonize first, then duplicate, set "count" in Binary Options to > 7 and erode. Subtract the two - this should give you the endpoints. > > 2) skeletonize, set "count" in Binary Options to 6 and erode. This > leaves only the crossings. Note that crossings under an oblique angle > will usually result in two points; you can combine them by dilating > with 'count=1' and 'iterations' a bit more than the line thickness. > Then run 'Find Maxima' to get single points or count the patches > (former crossings). > > Michael > ________________________________________________________________ > > On 15 Jun 2009, at 04:31, maringa wrote: > >> Hi there, >> >> I'm working with neurons and right now I'm stuck on one and a half >> problem. >> 1) Endpoint-detection of the neurites, working so so... (image) >> http://img191.imageshack.us/img191/433/endpoints.jpg >> >> My idea was to first remove the cellbodies, leaving the image with >> just >> neurites, and >> then erode by 1px (the neurites gets 1px shorter) and then >> skeletonize. This >> image >> is then subtracted from a copy of this skeletonized image, but the >> copy is >> not eroded >> so the subtraction results in small dots which I hoped to be the >> endpoints. >> Turned out to be a lot more irrellevant dots than I wanted... >> >> 2) Attachmentpoints. >> >> My idea here was to use dilate-filter, dilate the neurites by a >> couple of >> pixels to generate a cross >> where it enters the cellbody. Then use some kind of transformation >> to count >> the crosses... is this possible in the first place? >> >> There are a lot of problems associated with this, for example it's >> really >> hard to make a nice cross... >> >> Any ideas on this? It really got me stuck for a couple of weeks... > > > ______________________________________ > > This email is a reply to your post @ > http://n2.nabble.com/Attachmentpoints-and-Endpoint-problem-tp3078257p3079946.html > You can reply by email or by visting the link above. > > |
Hi Maringa,
hard to say what is the problem without seeing the binary input image. Maybe 'skeletonize' creates a few short side branches that lead to the extra dots? You could get rid of them with count=7 and erode a few iterations; then skeletonize again. This will also reduce the length of the main branches, however. There may be also a few helpful plugins on Gabriel Landini's page, e.g. some BinaryThin variations, see http://www.dentistry.bham.ac.uk/landinig/software/software.html If you don't find a solution for the problem, post a binary input image to some server or send it to me off-list, and I could have a look at it (though not before tomorrow of Monday) Michael ________________________________________________________________ On 18 Jun 2009, at 03:47, maringa wrote: > Hi Michael, > > I have tried these methods you suggested, but in 1) It only generates > random dots, and very few of them aswell. I tried with a neurite- > stained > hippocampal image and a neurite stained P19 image but I only get 10-30 > random dots. I skeletonize, set cound, erode and then subtract. > > As for 2) I also get few and random dots even though I skeletonize, > count > 6, erode. > > I dont quite know what could be the problem here... > > Maringa > > >> >> Hi Maringa, >> >> 1) skeltonize first, then duplicate, set "count" in Binary Options to >> 7 and erode. Subtract the two - this should give you the endpoints. >> >> 2) skeletonize, set "count" in Binary Options to 6 and erode. This >> leaves only the crossings. Note that crossings under an oblique angle >> will usually result in two points; you can combine them by dilating >> with 'count=1' and 'iterations' a bit more than the line thickness. >> Then run 'Find Maxima' to get single points or count the patches >> (former crossings). >> >> Michael >> ________________________________________________________________ >> >> On 15 Jun 2009, at 04:31, maringa wrote: >> >>> Hi there, >>> >>> I'm working with neurons and right now I'm stuck on one and a half >>> problem. >>> 1) Endpoint-detection of the neurites, working so so... (image) >>> http://img191.imageshack.us/img191/433/endpoints.jpg >>> >>> My idea was to first remove the cellbodies, leaving the image with >>> just >>> neurites, and >>> then erode by 1px (the neurites gets 1px shorter) and then >>> skeletonize. This >>> image >>> is then subtracted from a copy of this skeletonized image, but the >>> copy is >>> not eroded >>> so the subtraction results in small dots which I hoped to be the >>> endpoints. >>> Turned out to be a lot more irrellevant dots than I wanted... >>> >>> 2) Attachmentpoints. >>> >>> My idea here was to use dilate-filter, dilate the neurites by a >>> couple of >>> pixels to generate a cross >>> where it enters the cellbody. Then use some kind of transformation >>> to count >>> the crosses... is this possible in the first place? >>> >>> There are a lot of problems associated with this, for example it's >>> really >>> hard to make a nice cross... >>> >>> Any ideas on this? It really got me stuck for a couple of weeks... >> >> >> ______________________________________ >> >> This email is a reply to your post @ >> http://n2.nabble.com/Attachmentpoints-and-Endpoint-problem- >> tp3078257p3079946.html >> You can reply by email or by visting the link above. >> >> > > > > -- > View this message in context: http://n2.nabble.com/Attachmentpoints- > and-Endpoint-problem-tp3078257p3096753.html > Sent from the ImageJ mailing list archive at Nabble.com. |
Free forum by Nabble | Edit this page |