Dear fellow users,
does any one have experience in analyzing gold particles of different size (6nm/12nm) in large TEM images? I've been trying to use trainable segmentation but it is not feasible for large images on my computer though it works on small cropped patches of the image. If I train with a small image and use the data on a full image the program still hangs. Please share if you have a more simple method or have hints for effective use of trainable (or weka) segmentation for this purpose. Plain thresholding will not do because some parts of the image are always dark enough to be confused with gold particles. Attached is a cropped sample image scaled to 1/4 resolution. Best regards Christian Goosmann -- --- Christian Goosmann Mikroskopie Max-Planck-Institut für Infektionsbiologie Campus Charité Mitte Charitéplatz 1 10117 Berlin Tel.: +49 30 28460 388 -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
On 07/08/2012 10:54, Christian Goosmann wrote:
> Plain thresholding will not do because some parts of the image are > always dark enough to be confused with gold particles. Attached is a > cropped sample image scaled to 1/4 resolution. You could try a top-hat transform. This is an approximation I've run on the image you sent: ----- // Simplify, do not need RGB data run("8-bit"); // Threshold setAutoThreshold("Default"); setThreshold(0, 110); run("Convert to Mask"); // Top-hat operation: original - close(open(original)) // Let's duplicate first run("Duplicate...", "title=TEM-gold-sample-1.tif"); selectWindow("TEM-gold-sample.tif"); // Morphological operation run("Options...", "iterations=1 count=1 edm=Overwrite do=Open"); run("Options...", "iterations=1 count=1 edm=Overwrite do=Close"); // Substract one image from another imageCalculator("Subtract create", "TEM-gold-sample.tif","TEM-gold-sample-1.tif"); ----- It might do something similar to what you want. Best, José. -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Dear Christian,
Here's maybe a way to count the gold particles and detect their positions, for further analysis if you need. The idea is to remove non-dots from the image by using morphological gray filters. What I did is below, the stack I'm annexing shows the results. Up to you to see if this could be useful for you. I know it does not detect them all, but changing the sensitivity of the maxima detection and eventually blurring the image before the detection a little bit can also help. Best, Oli macro: run("Duplicate...", "title=TEM-gold-sample-1.tif"); run("Maximum...", "radius=1"); imageCalculator("Subtract create 32-bit", "TEM-gold-sample.tif","TEM-gold-sample-1.tif"); selectWindow("Result of TEM-gold-sample.tif"); run("FeatureJ Laplacian", "compute smoothing=1.0"); selectWindow("Result of TEM-gold-sample.tif Laplacian"); run("Find Maxima...", "noise=50 output=[Point Selection]"); run("Duplicate...", "title=[Result of TEM-gold-sample.tif Laplacian-1]"); run("Restore Selection"); run("Flatten"); selectWindow("Result of TEM-gold-sample.tif Laplacian-1"); close(); run("Images to Stack", "name=Stack title=[] use keep"); Olivier Burri Engineer, Development in Image Processing BioImaging and Optics platform (PTBIOP) Tel: [+4121 69] 39629 ________________________________________ From: ImageJ Interest Group [[hidden email]] on behalf of José María Mateos [[hidden email]] Sent: Tuesday, August 07, 2012 12:55 PM To: [hidden email] Subject: Re: Quantifying Gold Particles On 07/08/2012 10:54, Christian Goosmann wrote: > Plain thresholding will not do because some parts of the image are > always dark enough to be confused with gold particles. Attached is a > cropped sample image scaled to 1/4 resolution. You could try a top-hat transform. This is an approximation I've run on the image you sent: ----- // Simplify, do not need RGB data run("8-bit"); // Threshold setAutoThreshold("Default"); setThreshold(0, 110); run("Convert to Mask"); // Top-hat operation: original - close(open(original)) // Let's duplicate first run("Duplicate...", "title=TEM-gold-sample-1.tif"); selectWindow("TEM-gold-sample.tif"); // Morphological operation run("Options...", "iterations=1 count=1 edm=Overwrite do=Open"); run("Options...", "iterations=1 count=1 edm=Overwrite do=Close"); // Substract one image from another imageCalculator("Subtract create", "TEM-gold-sample.tif","TEM-gold-sample-1.tif"); ----- It might do something similar to what you want. Best, José. -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by José María Mateos
Hi
How many do you have to do? You can use a simple threshold and then point click on them all (with wand). I do something similar and it takes about 1 hour to do 1200 points. Obviously if you have 1000s of images then this is slower but it is very effective for 100s of images as the testing of other methods takes so long to be robust. Kenton On 7 Aug 2012, at 11:55, José María Mateos wrote: > On 07/08/2012 10:54, Christian Goosmann wrote: >> Plain thresholding will not do because some parts of the image are >> always dark enough to be confused with gold particles. Attached is a >> cropped sample image scaled to 1/4 resolution. > > You could try a top-hat transform. This is an approximation I've run on the image you sent: > > ----- > // Simplify, do not need RGB data > run("8-bit"); > > // Threshold > setAutoThreshold("Default"); > setThreshold(0, 110); > run("Convert to Mask"); > > // Top-hat operation: original - close(open(original)) > // Let's duplicate first > run("Duplicate...", "title=TEM-gold-sample-1.tif"); > selectWindow("TEM-gold-sample.tif"); > > // Morphological operation > run("Options...", "iterations=1 count=1 edm=Overwrite do=Open"); > run("Options...", "iterations=1 count=1 edm=Overwrite do=Close"); > > // Substract one image from another > imageCalculator("Subtract create", "TEM-gold-sample.tif","TEM-gold-sample-1.tif"); > ----- > > It might do something similar to what you want. > > Best, > > José. > > -- > ImageJ mailing list: http://imagej.nih.gov/ij/list.html -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
In reply to this post by Christian Goosmann
Dear Christian,
I had a quick try with Weka Segmentation, and it works well. To avoid "hanging" of the plugin with large images, you can try to play with the settings of the classifier by selecting different (and less) training features and decreasing the sigma range (see attached screenshot). If during processing you hit a memory limit (Plugins > Utilities > Monitor Memory...), you can reduce the number of threads working in parallel via 'Edit > Options > Memory & Threads...' Hth, Jan On 07.08.2012 10:54 AM, Christian Goosmann wrote: > Dear fellow users, > does any one have experience in analyzing gold particles of different > size (6nm/12nm) in large TEM images? I've been trying to use trainable > segmentation but it is not feasible for large images on my computer > though it works on small cropped patches of the image. If I train with a > small image and use the data on a full image the program still hangs. > Please share if you have a more simple method or have hints for > effective use of trainable (or weka) segmentation for this purpose. > Plain thresholding will not do because some parts of the image are > always dark enough to be confused with gold particles. Attached is a > cropped sample image scaled to 1/4 resolution. > Best regards > Christian Goosmann > -- ImageJ mailing list: http://imagej.nih.gov/ij/list.html |
Free forum by Nabble | Edit this page |