I have successful imported some Auger maps that into igor (in the form of 2D waves). However I am struggling to figure out how to make each image a different color and then overlay them into one single image, so that it looks something like the attached image. Please let me know if you know how to do this. I think that imageblend should work but I an struggling with the fact it must be a 3D wave. Can you make transparency information the third dimension somehow? Thanks!
A 2D wave is a black and white image. To make it a colour image you need three channels: red, green and blue. That's why you need a 3D wave: the 3rd dimension will be the red, green and blue layers. I assume you just need to convert the black and white 2D wave into a 3D RGB wave and select the colour you want for that Auger peak, before you ImageBlend all the RGB waves.
A 2D wave is a black and white image. To make it a colour image you need three channels: red, green and blue. That's why you need a 3D wave: the 3rd dimension will be the red, green and blue layers. I assume you just need to convert the black and white 2D wave into a 3D RGB wave and select the colour you want for that Auger peak, before you ImageBlend all the RGB waves.
That's not completely accurate: 2D Matrices typically are *interpreted* as black and white when the values in the matrix are only 0 and 1.
Normally the values encompass a larger range, say 0-255 or even -Infinity to +Infinity if floating point data, in which case the value is often mapped to a color from a selection of colors (a "color table"), resulting in an image plot called a "false color plot".
That's the normal Igor image plot that defaults to the Grays color table.
I have successful imported some Auger maps that into igor (in the form of 2D waves). However I am struggling to figure out how to make each image a different color and then overlay them into one single image, so that it looks something like the attached image. Please let me know if you know how to do this. I think that imageblend should work but I an struggling with the fact it must be a 3D wave. Can you make transparency information the third dimension somehow? Thanks!
Use either Igor 6's ImageBlend (which blends RGB images), or with Igor 7 you can also overlay 4-layer 3D waves, where the 4th layer is alpha (transparency).
You can convert a 2D image to RGB using ImageTransform/C=M_Colors cmap2rgb
after creating the M_Colors using ColorTab2Wave, then using SetScale x to encompass the range of values in the 2D wave.
March 20, 2017 at 12:36 pm - Permalink
That's not completely accurate: 2D Matrices typically are *interpreted* as black and white when the values in the matrix are only 0 and 1.
Normally the values encompass a larger range, say 0-255 or even -Infinity to +Infinity if floating point data, in which case the value is often mapped to a color from a selection of colors (a "color table"), resulting in an image plot called a "false color plot".
That's the normal Igor image plot that defaults to the Grays color table.
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
March 22, 2017 at 11:54 am - Permalink
Use either Igor 6's ImageBlend (which blends RGB images), or with Igor 7 you can also overlay 4-layer 3D waves, where the 4th layer is alpha (transparency).
You can convert a 2D image to RGB using ImageTransform/C=M_Colors cmap2rgb
after creating the M_Colors using ColorTab2Wave, then using SetScale x to encompass the range of values in the 2D wave.
--Jim Prouty
Software Engineer, WaveMetrics, Inc.
March 22, 2017 at 12:09 pm - Permalink