Manually Creating a Colormap: Difference between revisions

From KitwarePublic
Jump to navigationJump to search
(New page: You can create an xml file like this: <source lang=text> <ColorMap name="Consistency" space="RGB"> <Point x="-1.000" o="1" r="0.0" g="0.0" b="0.0"/> <Point x="0.000" o="1" r="0.0" g="1.0...)
 
(added matlab function to write paraview colormaps)
Line 1: Line 1:
You can create an xml file like this:
You can create an xml file like this:


<source lang=text>
<source lang=xml>
<ColorMap name="Consistency" space="RGB">
<ColorMap name="Consistency" space="RGB">
<Point x="-1.000" o="1" r="0.0" g="0.0" b="0.0"/>
<Point x="-1.000" o="1" r="0.0" g="0.0" b="0.0"/>
<Point x="0.000" o="1" r="0.0" g="1.0" b="0.0"/>
<Point x="0.000" o="1" r="0.0" g="1.0" b="0.0"/>
<Point x="1.000" o="1" r="1.0" g="0.0" b="0.0"/>
<Point x="1.000" o="1" r="1.0" g="0.0" b="0.0"/>
</ColorMap>
</ColorMap>
</source>
</source>


which specifies that values=-1 should be black (rgb=(0,0,0)), values at 0 should be green, and values at 1 should be red. You can then click "Edit color map" -> "Choose preset" -> "Import", select the new xml file, and you will see the colors are interpolated along the new color axis you have defined.
which specifies that values=-1 should be black (rgb=(0,0,0)), values at 0 should be green, and values at 1 should be red. You can then click "Edit color map" -> "Choose preset" -> "Import", select the new xml file, and you will see the colors are interpolated along the new color axis you have defined.
== Writing a Matlab color map to xml ==
The following Matlab function writes a Matlab named [http://www.mathworks.com/access/helpdesk/help/techdoc/index.html?/access/helpdesk/help/techdoc/ref/colormap.html color map] to the Paraview xml color map format.  The argument to be passed in is the name of the colormap (default is 'jet').
<source lang=matlab>
function [] = paraview_color_space(scheme)
  if (exist('scheme') ~= 1), scheme='jet'; end
  colors = eval(scheme);
  N = length(colors);
  fid = fopen([scheme '.xml'], 'w');
  fprintf(fid, '<ColorMap name="%s" space="HSV">\n', scheme);
  for i=1:N
      x = [(i-1)/(N-1); colors(i,:)'];
      fprintf(fid, '  <Point x="%f" o="1" r="%f" g="%f" b="%f"/>\n', x);
  end
  fwrite(fid, '</ColorMap>');
  fclose(fid);
end
</source>

Revision as of 14:22, 14 September 2009

You can create an xml file like this:

<source lang=xml> <ColorMap name="Consistency" space="RGB"> <Point x="-1.000" o="1" r="0.0" g="0.0" b="0.0"/> <Point x="0.000" o="1" r="0.0" g="1.0" b="0.0"/> <Point x="1.000" o="1" r="1.0" g="0.0" b="0.0"/> </ColorMap> </source>

which specifies that values=-1 should be black (rgb=(0,0,0)), values at 0 should be green, and values at 1 should be red. You can then click "Edit color map" -> "Choose preset" -> "Import", select the new xml file, and you will see the colors are interpolated along the new color axis you have defined.

Writing a Matlab color map to xml

The following Matlab function writes a Matlab named color map to the Paraview xml color map format. The argument to be passed in is the name of the colormap (default is 'jet').

<source lang=matlab> function [] = paraview_color_space(scheme)

 if (exist('scheme') ~= 1), scheme='jet'; end
 colors = eval(scheme);
 N = length(colors);
 fid = fopen([scheme '.xml'], 'w');
 fprintf(fid, '<ColorMap name="%s" space="HSV">\n', scheme);
 for i=1:N
     x = [(i-1)/(N-1); colors(i,:)'];
     fprintf(fid, '  <Point x="%f" o="1" r="%f" g="%f" b="%f"/>\n', x);
 end
 fwrite(fid, '</ColorMap>');
 fclose(fid);

end </source>