I was trying to multiply two image together and I loaded them as bitmap files in Igor which also made a multidimensional wave. I multiplied them together and tried to plot them using Image Plot(since I could not use the graph to do it), the final graph has three different layer with red, green, and blue color. My final wave has only one value for each element, I do not know where those colors come form and how to make them into one single layer. Since my original file was a bitmap file I do not have the option to transform image or any other function. I really appreciate if anyone can help.Thanks.
One approach is to convert the two starting rgb images to grayscale images using the image transform operation:
imagetransform rgb2gray inputimage
Where inputimage is the name of your 3D image wave.
The output single plane image will be named "M_RGB2Gray". You will want to rename this to something meaningful, of course, before you convert the second image otherwise it will be overwritten. M_RGB2Gray is scaled from 0 to 255. You will want to make sure that the wave holding the product of your input waves is of at least 16 bit unsigned integer data type. This will hold the product of 255 x 255.
Thanks for the comment, I tried it and it did work. The final product has only one layer but the only problem now is that the values in the final wave for this image are not the same as the previous one. I have attached the table representation of the waves I have created. table0 is the one with RGB2Gray initial images and table1 is from my original images. How can I make sure these two are the same. Also how can I make sure that the wave is 16bit unsigned?
I was trying to multiply two image together and I loaded them as bitmap files in Igor which also made a multidimensional wave. I multiplied them together and tried to plot them using Image Plot(since I could not use the graph to do it), the final graph has three different layer with red, green, and blue color. My final wave has only one value for each element, I do not know where those colors come form and how to make them into one single layer. Since my original file was a bitmap file I do not have the option to transform image or any other function. I really appreciate if anyone can help.Thanks.
I suggest you attach the original files to a message so we can load them into Igor ourselves. Otherwise we're pretty much shooting in the dark.
Look at the attached modified version of your experiment. I created a new subfolder ("A") and did all work there. I also tried to explain the work in a notebook.
You need to make sure that the data type of the output waves (waves holding the product of your two input waves) is sufficient to hold the largest expected result of that product. For example, after converting to gray scale, your images will have a maximum integer value of 255. If the image mutiplication results in a value of 255 * 255, then an 8 bit wave type will cut off that product to 255. You'll never see the actual value of 65,025.
imagetransform rgb2gray inputimage
Where inputimage is the name of your 3D image wave.
The output single plane image will be named "M_RGB2Gray". You will want to rename this to something meaningful, of course, before you convert the second image otherwise it will be overwritten. M_RGB2Gray is scaled from 0 to 255. You will want to make sure that the wave holding the product of your input waves is of at least 16 bit unsigned integer data type. This will hold the product of 255 x 255.
April 13, 2011 at 06:19 am - Permalink
April 13, 2011 at 09:52 am - Permalink
April 13, 2011 at 10:39 am - Permalink
I suggest you attach the original files to a message so we can load them into Igor ourselves. Otherwise we're pretty much shooting in the dark.
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
April 13, 2011 at 11:44 am - Permalink
April 13, 2011 at 11:57 am - Permalink
You need to make sure that the data type of the output waves (waves holding the product of your two input waves) is sufficient to hold the largest expected result of that product. For example, after converting to gray scale, your images will have a maximum integer value of 255. If the image mutiplication results in a value of 255 * 255, then an 8 bit wave type will cut off that product to 255. You'll never see the actual value of 65,025.
Hope this is on target and helps.
April 13, 2011 at 01:34 pm - Permalink
April 13, 2011 at 04:32 pm - Permalink