Prev: Find word in string
Next: starn matlab with crontab
From: Sean on 2 Aug 2010 10:35 "Lars-Göran Nord" <lars-goran.nordh(a)uddeholm.se> wrote in message > There is an tif image uploaded (cr1.tif) on drop this is the one I made in photoshop as a test image. Oh sorry, I thought that 'binarized' The image is close to a real one, but its crack width is evan at 9 pixels normaly the width will vary. I check my sample at specific times and look at crack propagation, trying to compare length, mean width and number of branch points (3 and 4 "crossings"). > Pictures will be taken in SEM and then analysed, I'm not sure if I'm allowed to have some other software at the computer running the SEM (scanning electron microscope). So it will probably be post processing of my images. > Not sure if that is what you ment??? At least you know my way of working now. The image analysis will always be post-processing but what I was hoping for is that you could have a series of images, exactly as you have said, where there are different levels of crack propagation. If the camera and beam (?) are fixed, you should be able to measure the difference by a simple subtraction. I.e. the first image has no cracks; the second one has a little bit (total area would be the sum, average area we're still working on; number of crack sprouts is a difficult problem but is doable if you want it.) Then the next (3rd image) would subtract the 2nd image to see where new cracks have spouted and where certain cracks have expanded (or contracted). As far as the average area; I think using perimeter/2 could be dangerous; especially if the cracks become wider. If you imagine a perfect rectangle of size 3x2 and do the math it, you'll see why. ImageAnalyst's way with the skeleton and then predefined lengths for different pixel connectivities is probably best. Another way you could get length, depending on how much time you want to devote to this, would be to calculate the orientation at each point and then figure out how long the line segment through that pixel would be at that orientation. (You might want to hear someone else reassure me on that! :) The advantage of calculating the orientation at each point is that it would help you later with calculating number of cracks, since there is a major change in orientation where crack sprouts diverge from the bigger cracks.
From: ImageAnalyst on 2 Aug 2010 10:36 Lars, did you see the fix I made to the code that will let it now report the proper crack width?
From: Lars-Göran Nord on 2 Aug 2010 11:43 "Sean " <sean.dewolski(a)nospamplease.umit.maine.edu> wrote in message <i36l3e$l15$1(a)fred.mathworks.com>... > "Lars-Göran Nord" <lars-goran.nordh(a)uddeholm.se> wrote in message > > > There is an tif image uploaded (cr1.tif) on drop this is the one I made in photoshop as a test image. > Oh sorry, I thought that 'binarized' > > The image is close to a real one, but its crack width is evan at 9 pixels normaly the width will vary. I check my sample at specific times and look at crack propagation, trying to compare length, mean width and number of branch points (3 and 4 "crossings"). > > Pictures will be taken in SEM and then analysed, I'm not sure if I'm allowed to have some other software at the computer running the SEM (scanning electron microscope). So it will probably be post processing of my images. > > Not sure if that is what you ment??? At least you know my way of working now. > > The image analysis will always be post-processing but what I was hoping for is that you could have a series of images, exactly as you have said, where there are different levels of crack propagation. If the camera and beam (?) are fixed, you should be able to measure the difference by a simple subtraction. I.e. the first image has no cracks; the second one has a little bit (total area would be the sum, average area we're still working on; number of crack sprouts is a difficult problem but is doable if you want it.) Then the next (3rd image) would subtract the 2nd image to see where new cracks have spouted and where certain cracks have expanded (or contracted). As far as the average area; I think using perimeter/2 could be dangerous; especially if the cracks become wider. If you imagine a perfect rectangle of size 3x2 and do the math it, you'll see why. > > ImageAnalyst's way with the skeleton and then predefined lengths for different pixel connectivities is probably best. > > Another way you could get length, depending on how much time you want to devote to this, would be to calculate the orientation at each point and then figure out how long the line segment through that pixel would be at that orientation. (You might want to hear someone else reassure me on that! :) > The advantage of calculating the orientation at each point is that it would help you later with calculating number of cracks, since there is a major change in orientation where crack sprouts diverge from the bigger cracks. I fully agree to your comments and analysing cracks as you mentioned is great. Calculating the orientation looks like a great thing to do but your comment "(You might want to hear someone else reassure me on that! :) is that one regarding the very good function or about the loooong time involved:-) Lars
From: Lars-Göran Nord on 2 Aug 2010 11:49 ImageAnalyst <imageanalyst(a)mailinator.com> wrote in message <11aec9ea-536a-44c9-b3fd-7f5132cf773f(a)z34g2000pro.googlegroups.com>... > Lars, did you see the fix I made to the code that will let it now > report the proper crack width? Yes I just tested itand got same as you, but I tested a single 45 deg. line made in photoshop and the line length calculated by bwarea get a smaller value the the pixel length fom photoshop. As you mentioned before I think we have to put some weight on pixels connected corner by corner! Thank you, Lars
From: Sean on 2 Aug 2010 12:15
"Lars-Göran Nord" <lars-goran.nordh(a)uddeholm.se> wrote in message <i36p29$e2f$1(a)fred.mathworks.com>... > "Sean " <sean.dewolski(a)nospamplease.umit.maine.edu> wrote in message <i36l3e$l15$1(a)fred.mathworks.com>... > > "Lars-Göran Nord" <lars-goran.nordh(a)uddeholm.se> wrote in message > > > > > There is an tif image uploaded (cr1.tif) on drop this is the one I made in photoshop as a test image. > > Oh sorry, I thought that 'binarized' > > > > The image is close to a real one, but its crack width is evan at 9 pixels normaly the width will vary. I check my sample at specific times and look at crack propagation, trying to compare length, mean width and number of branch points (3 and 4 "crossings"). > > > Pictures will be taken in SEM and then analysed, I'm not sure if I'm allowed to have some other software at the computer running the SEM (scanning electron microscope). So it will probably be post processing of my images. > > > Not sure if that is what you ment??? At least you know my way of working now. > > > > The image analysis will always be post-processing but what I was hoping for is that you could have a series of images, exactly as you have said, where there are different levels of crack propagation. If the camera and beam (?) are fixed, you should be able to measure the difference by a simple subtraction. I.e. the first image has no cracks; the second one has a little bit (total area would be the sum, average area we're still working on; number of crack sprouts is a difficult problem but is doable if you want it.) Then the next (3rd image) would subtract the 2nd image to see where new cracks have spouted and where certain cracks have expanded (or contracted). As far as the average area; I think using perimeter/2 could be dangerous; especially if the cracks become wider. If you imagine a perfect rectangle of size 3x2 and do the math it, you'll see why. > > > > ImageAnalyst's way with the skeleton and then predefined lengths for different pixel connectivities is probably best. > > > > Another way you could get length, depending on how much time you want to devote to this, would be to calculate the orientation at each point and then figure out how long the line segment through that pixel would be at that orientation. (You might want to hear someone else reassure me on that! :) > > The advantage of calculating the orientation at each point is that it would help you later with calculating number of cracks, since there is a major change in orientation where crack sprouts diverge from the bigger cracks. > > I fully agree to your comments and analysing cracks as you mentioned is great. > Calculating the orientation looks like a great thing to do but your comment "(You might want to hear someone else reassure me on that! :) is that one regarding the very good function or about the loooong time involved:-) > > Lars Hi Lars, I just think that it would be good to hear a second opinion on the orientation as a means of finding length idea before you spend too much time on it. I've given it a little more thought and I think it would be accurate. Consider this: a pixel is a square with the origin in the bottom left corner and a pixel orientation i.e. the orientation, theta, that this pixel has relative to what's around it. A few examples: -if theta is 45deg; distance = 1/cos(45)= sqrt(2)=1.414; diagonal -if theta is 0deg from either the vertical or horizontal axis = 1/cos(0) = 1; one side length -if theta is 35deg from either vertical or horizontal axis 1/cos(35); So 1/cos(theta) with each theta being the smallest angle from _any_ horizontal or vertical axis (i.e. always <= 45deg) would give the traversal of a line across this pixel. Then the sum of these would be the length. These calculations would be run on your skeleton. Using orientation to calculate sprouts (or to segment fibers, veins etc.) is pretty well documented. Though many "Number of crack" measurements are actually "Number of new objects" measurements. I.e. they calculate the number of objects created rather than the number of cracks. Thus a crack really only counts when it creates a new object. Just a few thoughts for you to toy with! -Sean |