<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
p.msonormal0, li.msonormal0, div.msonormal0
        {mso-style-name:msonormal;
        mso-margin-top-alt:auto;
        margin-right:0in;
        mso-margin-bottom-alt:auto;
        margin-left:0in;
        font-size:12.0pt;
        font-family:"Times New Roman",serif;}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle19
        {mso-style-type:personal-reply;
        font-family:"Calibri",sans-serif;
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">Aha! I figured out the issue. Yes, ParaView correctly shows floating point colors when in the Surface representation, but it does not work for the Slice representation.
 (I happened to be creating data on a Mandelbrot source.)<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">I raised a bug:
<a href="https://gitlab.kitware.com/paraview/paraview/issues/17423">https://gitlab.kitware.com/paraview/paraview/issues/17423</a><o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D">-Ken<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri",sans-serif;color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif">From:</span></b><span style="font-size:11.0pt;font-family:"Calibri",sans-serif"> Dan Lipsa [mailto:dan.lipsa@kitware.com]
<br>
<b>Sent:</b> Tuesday, May 9, 2017 7:59 AM<br>
<b>To:</b> Quammen, Cory (External Contacts) <cory.quammen@kitware.com><br>
<b>Cc:</b> Moreland, Kenneth <kmorel@sandia.gov>; Waldon, Shawn (External Contacts) <shawn.waldon@kitware.com>; ParaView <paraview@paraview.org><br>
<b>Subject:</b> [EXTERNAL] Re: [Paraview] Visualization ternary saturation<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<p class="MsoNormal">Hi all,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">Indeed, rather than supporting only 'unsigned char' for direct color mapping - using color mode <span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:black">VTK_COLOR_MODE_DEFAULT, </span>all integer and floating point types
 can be used for direct color mapping using the color mode <span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:black">VTK_COLOR_MODE_DIRECT_SCALARS.</span><o:p></o:p></p>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:black">Integer type colors should be between 0-255 and floating point colors should be between 0-1.</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:10.5pt;font-family:"Arial",sans-serif;color:black">Dan</span><o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Mon, May 8, 2017 at 10:16 PM, Cory Quammen <<a href="mailto:cory.quammen@kitware.com" target="_blank">cory.quammen@kitware.com</a>> wrote:<o:p></o:p></p>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal">> I tried it your way in ParaView 5.3.0, and it did not work correctly. Are<br>
> you sure this is implemented in 5.3 and not a new feature in the upcoming<br>
> 5.4?<br>
<br>
Ken,<br>
<br>
This was implemented some time ago. In 5.3.0, I could do the following:<br>
<br>
* Add Sphere Source<br>
* Add Programmable Filter with the Script set to<br>
<br>
A = inputs[0].PointData['Normals'][:,0]<br>
B = inputs[0].PointData['Normals'][:,1]<br>
C = inputs[0].PointData['Normals'][:,2]<br>
colors = numpy.empty((len(A),3), dtype='float')<br>
colors[:,0] = A<br>
colors[:,1] = B<br>
colors[:,2] = C<br>
output.PointData.append(colors, 'colors')<br>
<br>
* Turn off Map Scalars<br>
<br>
You could also skip this silly use of the Programmable Filter<br>
altogether and color the Sphere source by 'Normals', then turn Map<br>
Scalars off.<br>
<br>
I believe the capability to treat floating-point arrays of 3-tuples<br>
was added to VTK in commit<br>
<br>
commit 00de9a942ff74e797fbe4cd8c67307c8065cdade<br>
Author: Dan Lipsa <<a href="mailto:dan.lipsa@kitware.com">dan.lipsa@kitware.com</a>><br>
Date:   Thu Nov 20 13:35:35 2014 -0500<br>
<br>
    Add VTK_COLOR_MODE_DIRECT_SCALARS. See vtkScalarsToColors::MapScalars.<br>
<br>
- Cory<o:p></o:p></p>
<div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
> From: Shawn Waldon [mailto:<a href="mailto:shawn.waldon@kitware.com">shawn.waldon@kitware.com</a>]<br>
> Sent: Monday, May 8, 2017 12:11 PM<br>
> To: Moreland, Kenneth <<a href="mailto:kmorel@sandia.gov">kmorel@sandia.gov</a>><br>
> Cc: Thomas Oliveira <<a href="mailto:thomas.oliveira@gmail.com">thomas.oliveira@gmail.com</a>>; ParaView<br>
> <<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>><br>
> Subject: [EXTERNAL] Re: [Paraview] Visualization ternary saturation<br>
><br>
><br>
><br>
> Ken beat me to answering this one... I'll just add that if the data is<br>
> floating point in the range [0, 1], you don't need to convert it to uint8 or<br>
> multiply by 255.  Just creating a floating point vector will give the same<br>
> result.  This is a more recent extension of the functionality: I know it<br>
> works in 5.3 and master but I'm not sure how many versions back support it.<br>
><br>
> A = inputs[0].CellData['A']<br>
><br>
> B = inputs[0].CellData['B']<br>
><br>
> C = inputs[0].CellData['C']<br>
><br>
> colors = numpy.empty((len(A),3), dtype='float')<br>
><br>
> colors[:,0] = A<br>
><br>
> colors[:,1] = B<br>
><br>
> colors[:,2] = C<br>
><br>
> output.CellData.append(colors, 'colors')<br>
><br>
><br>
> HTH,<br>
><br>
> Shawn<br>
><br>
><br>
><br>
> On Mon, May 8, 2017 at 1:56 PM, Moreland, Kenneth <<a href="mailto:kmorel@sandia.gov">kmorel@sandia.gov</a>> wrote:<br>
><br>
> ParaView does not directly support ternary color maps, but if you create a<br>
> field of colors (represented by three unsigned chars), then you can render<br>
> those colors directly by turning off the Map Scalars option. You can create<br>
> these colors with a Programmable Filter with a script like the following:<br>
><br>
><br>
><br>
> A = inputs[0].CellData['A']<br>
><br>
> B = inputs[0].CellData['B']<br>
><br>
> C = inputs[0].CellData['C']<br>
><br>
> colors = numpy.empty((len(A),3), dtype='uint8')<br>
><br>
> colors[:,0] = A*255<br>
><br>
> colors[:,1] = B*255<br>
><br>
> colors[:,2] = C*255<br>
><br>
> output.CellData.append(colors, 'colors')<br>
><br>
><br>
><br>
> Once you apply that script, color by the new “colors” array and uncheck the<br>
> box marked “Map Scalars” (it is an advanced option in the properties panel).<br>
><br>
><br>
><br>
> -Ken<br>
><br>
><br>
><br>
> From: ParaView [mailto:<a href="mailto:paraview-bounces@paraview.org">paraview-bounces@paraview.org</a>] On Behalf Of Thomas<br>
> Oliveira<br>
> Sent: Saturday, May 6, 2017 7:24 AM<br>
> To: ParaView <<a href="mailto:paraview@paraview.org">paraview@paraview.org</a>><br>
> Subject: [EXTERNAL] [Paraview] Visualization ternary saturation<br>
><br>
><br>
><br>
> Dear all,<br>
><br>
> Given three cell arrays (A,B,C) representation saturations (A+B+C = 1 for<br>
> every cell) is it possible to generate a ternary saturation image like the<br>
> one attached (obtained in<br>
> <a href="http://www.esss.com.br/Kraken/wp-content/uploads/2014/07/Ternary-Saturation.png" target="_blank">
http://www.esss.com.br/Kraken/wp-content/uploads/2014/07/Ternary-Saturation.png</a>)?<br>
><br>
> In the figure, A, B, C are saturations of water, oil and gas.<br>
><br>
> Best regards,<br>
><br>
> Thomas Oliveira<br>
><br>
><br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the ParaView Wiki at:<br>
> <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
><br>
> Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" target="_blank">
http://markmail.org/search/?q=ParaView</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/paraview" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
><br>
><br>
><br>
><br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at<br>
> <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the ParaView Wiki at:<br>
> <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
><br>
> Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" target="_blank">
http://markmail.org/search/?q=ParaView</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://public.kitware.com/mailman/listinfo/paraview" target="_blank">http://public.kitware.com/mailman/listinfo/paraview</a><br>
><br>
<br>
<br>
<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal"><span class="hoenzb"><span style="color:#888888">--</span></span><span style="color:#888888"><br>
<span class="hoenzb">Cory Quammen</span><br>
<span class="hoenzb">Staff R&D Engineer</span><br>
<span class="hoenzb">Kitware, Inc.</span></span><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
</body>
</html>