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.)
I raised a bug: https://gitlab.kitware.com/paraview/paraview/issues/17423 -Ken From: Dan Lipsa [mailto:[email protected]] Sent: Tuesday, May 9, 2017 7:59 AM To: Quammen, Cory (External Contacts) <[email protected]> Cc: Moreland, Kenneth <[email protected]>; Waldon, Shawn (External Contacts) <[email protected]>; ParaView <[email protected]> Subject: [EXTERNAL] Re: [Paraview] Visualization ternary saturation Hi all, Indeed, rather than supporting only 'unsigned char' for direct color mapping - using color mode VTK_COLOR_MODE_DEFAULT, all integer and floating point types can be used for direct color mapping using the color mode VTK_COLOR_MODE_DIRECT_SCALARS. Integer type colors should be between 0-255 and floating point colors should be between 0-1. Dan On Mon, May 8, 2017 at 10:16 PM, Cory Quammen <[email protected]<mailto:[email protected]>> wrote: > I tried it your way in ParaView 5.3.0, and it did not work correctly. Are > you sure this is implemented in 5.3 and not a new feature in the upcoming > 5.4? Ken, This was implemented some time ago. In 5.3.0, I could do the following: * Add Sphere Source * Add Programmable Filter with the Script set to A = inputs[0].PointData['Normals'][:,0] B = inputs[0].PointData['Normals'][:,1] C = inputs[0].PointData['Normals'][:,2] colors = numpy.empty((len(A),3), dtype='float') colors[:,0] = A colors[:,1] = B colors[:,2] = C output.PointData.append(colors, 'colors') * Turn off Map Scalars You could also skip this silly use of the Programmable Filter altogether and color the Sphere source by 'Normals', then turn Map Scalars off. I believe the capability to treat floating-point arrays of 3-tuples was added to VTK in commit commit 00de9a942ff74e797fbe4cd8c67307c8065cdade Author: Dan Lipsa <[email protected]<mailto:[email protected]>> Date: Thu Nov 20 13:35:35 2014 -0500 Add VTK_COLOR_MODE_DIRECT_SCALARS. See vtkScalarsToColors::MapScalars. - Cory > From: Shawn Waldon > [mailto:[email protected]<mailto:[email protected]>] > Sent: Monday, May 8, 2017 12:11 PM > To: Moreland, Kenneth <[email protected]<mailto:[email protected]>> > Cc: Thomas Oliveira > <[email protected]<mailto:[email protected]>>; ParaView > <[email protected]<mailto:[email protected]>> > Subject: [EXTERNAL] Re: [Paraview] Visualization ternary saturation > > > > Ken beat me to answering this one... I'll just add that if the data is > floating point in the range [0, 1], you don't need to convert it to uint8 or > multiply by 255. Just creating a floating point vector will give the same > result. This is a more recent extension of the functionality: I know it > works in 5.3 and master but I'm not sure how many versions back support it. > > A = inputs[0].CellData['A'] > > B = inputs[0].CellData['B'] > > C = inputs[0].CellData['C'] > > colors = numpy.empty((len(A),3), dtype='float') > > colors[:,0] = A > > colors[:,1] = B > > colors[:,2] = C > > output.CellData.append(colors, 'colors') > > > HTH, > > Shawn > > > > On Mon, May 8, 2017 at 1:56 PM, Moreland, Kenneth > <[email protected]<mailto:[email protected]>> wrote: > > ParaView does not directly support ternary color maps, but if you create a > field of colors (represented by three unsigned chars), then you can render > those colors directly by turning off the Map Scalars option. You can create > these colors with a Programmable Filter with a script like the following: > > > > A = inputs[0].CellData['A'] > > B = inputs[0].CellData['B'] > > C = inputs[0].CellData['C'] > > colors = numpy.empty((len(A),3), dtype='uint8') > > colors[:,0] = A*255 > > colors[:,1] = B*255 > > colors[:,2] = C*255 > > output.CellData.append(colors, 'colors') > > > > Once you apply that script, color by the new “colors” array and uncheck the > box marked “Map Scalars” (it is an advanced option in the properties panel). > > > > -Ken > > > > From: ParaView > [mailto:[email protected]<mailto:[email protected]>] > On Behalf Of Thomas > Oliveira > Sent: Saturday, May 6, 2017 7:24 AM > To: ParaView <[email protected]<mailto:[email protected]>> > Subject: [EXTERNAL] [Paraview] Visualization ternary saturation > > > > Dear all, > > Given three cell arrays (A,B,C) representation saturations (A+B+C = 1 for > every cell) is it possible to generate a ternary saturation image like the > one attached (obtained in > http://www.esss.com.br/Kraken/wp-content/uploads/2014/07/Ternary-Saturation.png)? > > In the figure, A, B, C are saturations of water, oil and gas. > > Best regards, > > Thomas Oliveira > > > _______________________________________________ > Powered by www.kitware.com<http://www.kitware.com> > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the ParaView Wiki at: > http://paraview.org/Wiki/ParaView > > Search the list archives at: http://markmail.org/search/?q=ParaView > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview > > > > > _______________________________________________ > Powered by www.kitware.com<http://www.kitware.com> > > Visit other Kitware open-source projects at > http://www.kitware.com/opensource/opensource.html > > Please keep messages on-topic and check the ParaView Wiki at: > http://paraview.org/Wiki/ParaView > > Search the list archives at: http://markmail.org/search/?q=ParaView > > Follow this link to subscribe/unsubscribe: > http://public.kitware.com/mailman/listinfo/paraview > -- Cory Quammen Staff R&D Engineer Kitware, Inc.
_______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Search the list archives at: http://markmail.org/search/?q=ParaView Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview
