I have for this purpose, in my case a bacteria carpet in 3D, applied
a from me so-called "blanket" transformation: A 2D image is generated where each pixel is assigned the maximum stack number (Z-coordinate) of the binarized 3D-data set. Unluckily I did that in IDL since I was not able to do it in ImageJ. Perhaps there are ImageJ gurus with a solution in ImageJ. The result is something like an umbra, if you are familiar with morphologie mathématique, or a distance map where each pixel represents the distance from the base in multiples of the Z step size. I have called it blanket, since it is similar to let fall a very flexible blanket over your 3D-object. KR Am 17.01.2007 um 06:00 schrieb IMAGEJ automatic digest system: > surface roughness calculation Karsten Rodenacker -------------------------------------------------------------------- :-) GSF - Forschungszentrum Institute of Biomathematics and Biometry D-85758 Oberschleissheim Postfach 11 29 Karsten.Rodenacker_AT_gsf.de | http://ibb.gsf.de/ http://ibb.gsf.de/homepage/karsten.rodenacker/ Tel: +49 89 31873401 | FAX: ..193401 |
On Wednesday 17 January 2007 08:14, Karsten Rodenacker wrote:
> I have for this purpose, in my case a bacteria carpet in 3D, applied > a from me so-called "blanket" transformation: > A 2D image is generated where each pixel is assigned the maximum > stack number (Z-coordinate) of the binarized 3D-data set. > > Unluckily I did that in IDL since I was not able to do it in ImageJ. > Perhaps there are ImageJ gurus with a solution in ImageJ. The result > is something like an umbra, if you are familiar with morphologie > mathématique, or a distance map where each pixel represents the > distance from the base in multiples of the Z step size. I have called > it blanket, since it is similar to let fall a very flexible blanket > over your 3D-object. Hi Karsten, Yes it can be done! The macro below works as far as there are no more than 255 slices. //--------------8<----------------- // Blanket Transform // Implements K. Rodenacker's blanquet tranform // where each pixel in the result represents the // maximum slice number in which the pixel is set. // Assumes a binary stack where image=255 and // the background is 0. // G. Landini 17/1/2007 run("Divide...", "stack value=255"); s=nSlices(); for (i=2;i<=s;i++) { setSlice(i); run("Multiply...", "slice value="+i); } run("Z Project...", "start=1 stop=27 projection=[Max Intensity]"); rename("blanket"); run("Fire"); run("Enhance Contrast", "saturated=0"); //--------------8<----------------- Please post any enhancements to the list. I hope it helps. Regards, Gabriel |
Hi,
this should work with more than 255 slices: -- snip -- run("Divide...", "stack value=255"); s=nSlices(); run("32-bit"); for (i=2;i<=s;i++) { setSlice(i); run("Multiply...", "slice value="+i); } run("Z Project...", "start=1 stop=" + s + " projection=[Max Intensity]"); rename("blanket"); setMinAndMax(0, s); run("Fire"); run("Enhance Contrast", "saturated=0"); -- snap -- Ciao, Dscho |
In reply to this post by Karsten Rodenacker
Gabriel, Johannes your are very quick, thank you.
I have to switch off digest mode of the list to follow. I think I will use that macro too, although I am actually on different tracks. The macro does it. ... and with "Interactive 3D Surface Plot" the "blanquet" or surface can easily be visualized. I hope Isabelle can use it. KR Am 18.01.2007 um 06:00 schrieb IMAGEJ automatic digest system: > Re: surface roughness calculation Karsten Rodenacker -------------------------------------------------------------------- :-) GSF - Forschungszentrum Institute of Biomathematics and Biometry D-85758 Oberschleissheim Postfach 11 29 Karsten.Rodenacker_AT_gsf.de | http://ibb.gsf.de/ http://ibb.gsf.de/homepage/karsten.rodenacker/ Tel: +49 89 31873401 | FAX: ..193401 |
well, I'am not sure that the macro works in my case.
Looking at the images of the coating layer at different depths, the limit between the coating and the 'background' is not so clear and I can't really binarize the 3D data set. Isabelle Karsten Rodenacker <[hidden email]> a écrit : Gabriel, Johannes your are very quick, thank you. I have to switch off digest mode of the list to follow. I think I will use that macro too, although I am actually on different tracks. The macro does it. ... and with "Interactive 3D Surface Plot" the "blanquet" or surface can easily be visualized. I hope Isabelle can use it. KR Am 18.01.2007 um 06:00 schrieb IMAGEJ automatic digest system: > Re: surface roughness calculation Karsten Rodenacker -------------------------------------------------------------------- :-) GSF - Forschungszentrum Institute of Biomathematics and Biometry D-85758 Oberschleissheim Postfach 11 29 Karsten.Rodenacker_AT_gsf.de | http://ibb.gsf.de/ http://ibb.gsf.de/homepage/karsten.rodenacker/ Tel: +49 89 31873401 | FAX: ..193401 --------------------------------- Découvrez une nouvelle façon d'obtenir des réponses à toutes vos questions ! Profitez des connaissances, des opinions et des expériences des internautes sur Yahoo! Questions/Réponses. |
Hi,
On Thu, 18 Jan 2007, BOMBARD Isabelle wrote: > Looking at the images of the coating layer at different depths, the > limit between the coating and the 'background' is not so clear and I > can't really binarize the 3D data set. If you cannot binarize it (even after preprocessing), I doubt you will find an automated method to calculate the surface, let alone the roughness thereof. Ciao, Dscho |
Free forum by Nabble | Edit this page |