<div dir="ltr"><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)">Hi Paul,</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)">You could create a three component point array of colors on the polydata. The colors can be mapped from a lookup table based on which biological cell the pointId belongs to. You can alter the lookup table based on the variable being color-mapped. </div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)">This example demonstrates coloring points by added a point array of colors:</div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)"><a href="http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TriangleColoredPoints">http://www.vtk.org/Wiki/VTK/Examples/Cxx/PolyData/TriangleColoredPoints</a><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)"><br></div><div class="gmail_default" style="font-family:verdana,sans-serif;font-size:small;color:rgb(11,83,148)">Hope this helps.</div></div><div class="gmail_extra"><br clear="all"><div><div class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div><div dir="ltr"><div><span style="color:rgb(11,83,148)"><br></span></div><div><span style="color:rgb(11,83,148)"><span style="font-family:verdana,sans-serif">Warm Regards,<br><br></span></span></div><span style="color:rgb(11,83,148)"><span style="font-family:verdana,sans-serif">Sankhesh Jhaveri<br>Research & Development Engineer</span></span><div><span style="color:rgb(11,83,148)"><span style="font-family:verdana,sans-serif">Kitware, Inc.<br><b>Phone</b>: (518) 881 4417<br><b>Fax</b>: (518) 371 4573</span></span><br><b></b><br> </div></div></div></div></div></div></div></div>
<br><div class="gmail_quote">On Thu, Apr 30, 2015 at 10:51 AM, Paul Melis <span dir="ltr"><<a href="mailto:paul.melis@surfsara.nl" target="_blank">paul.melis@surfsara.nl</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi Gerrick,<br>
<br>
I tried to make the two different "cells" apparent: VTK cells and biological cells in the model (the latter being represented by a piece of polydata), but apparently failed :) The filters you suggest work on VTK points and cells only, not the higher level of biological cells in the model I'm looking for.<br>
<br>
I'll try to add more detail. I have several biological cells in my polydata object that are each represented by a few hundred points and triangles (basically a distorted sphere per biological cell). All cells in the simulation are represented by a single VTK polydata object (so not a polydata object per cell). There is a point-data array called "cellId" that holds the biological cell ID, so polydata points that form the same biological cell in the model will have the same cell ID value.<br>
<br>
For each of the biological cells there is a single value for a number of model output values, e.g. volume of the biological cell, total amount of distortion, etc. These values I'd like to visualize by coloring the whole cell (i.e. that cell's subset of the polydata) with a color-mapped value. It seems the only way to do that in VTK is to propagate the value to show for a cell (say volume) to all that cell's polydata points, for each of the biological cells, and then do color-mapped rendering as usual.<br>
<br>
However, this value propagation is not something VTK can do for me it seems, so I've written it manually in Python at the moment. The way this works is that I add a point-data array to the polydata object for each value, e.g. Volume. It then takes the values per biological cell from an HDF5 file and assigns those values to the polydata points, based on the biological cell ID of each point, thereby duplicating e.g. the volume value for cell 123 on all points having cellID value 123.<br>
<br>
This value propagation takes a bit of processing that I'd like to minimize while interactively visualizing and reading in new timesteps. Preprocessing all timestep files is possible, but will add a lot of duplicate data, something I'd like to avoid.<br>
<br>
Regards,<br>
Paul<span class="im HOEnZb"><br>
<br>
On 04/30/2015 04:27 PM, Gerrick Bivins wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi Paul,<br>
I'm a little confused on what your data layout is and how you'd actually like it to be<br>
but have you tried using either of these:<br>
<a href="http://www.vtk.org/doc/nightly/html/classvtkCellDataToPointData.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkCellDataToPointData.html</a><br>
<a href="http://www.vtk.org/doc/nightly/html/classvtkPointDataToCellData.html" target="_blank">http://www.vtk.org/doc/nightly/html/classvtkPointDataToCellData.html</a><br>
<br>
Gerrick<br>
<br>
<br>
-----Original Message-----<br>
From: vtkusers [mailto:<a href="mailto:vtkusers-bounces@vtk.org" target="_blank">vtkusers-bounces@vtk.org</a>] On Behalf Of Paul Melis<br>
Sent: Thursday, April 30, 2015 6:29 AM<br>
To: <a href="mailto:vtkusers@vtk.org" target="_blank">vtkusers@vtk.org</a><br>
Subject: [EXTERNAL] [vtkusers] Efficiently visualizing duplicate data in biological model<br>
<br>
Hi,<br>
<br>
(Sorry for the lengthy introduction below, I feel some detail is needed before framing my question :))<br>
<br>
I'm working with output data from a simulation of certain biological cells, currently a few hundred of them. Each cell is modeled with a few hundred vertices and triangles and can deform and interact with other cells. There's both per-vertex data for each cell (like force), as well as per-biological-cell data for the whole cell (like volume, amount of deformation, etc). The two different sets of data are stored in separate<br>
HDF5 files per timestep and we're using Xdmf to read the cell geometry + per-vertex data in as VTK polydata for visualization.<br>
<br>
The per-biological-cell data is stored as arrays of scalars indexed by biological cell ID. The (biological) cell polydata has a per-vertex "cellId" scalar value referencing this cell ID. For visualizing the per-biological-cell values (coloring a whole biological cell with one color based on the "cell-global" value) I'm currently using a bit of Python to add extra point-data arrays to the polydata for each per-biological-cell value, thereby massively duplicating the per-biological-cell values to each point/vertex. This works, but it's a bit slow already (I'm processing on-the-fly during reading) and the datasets will need to scale up to much larger numbers of cells.<br>
Duplicating the per-biological-cell values to each point-data array and storing them in a preprocess is doable, but wastes a lot of disk space.<br>
And the current separation of files for per-vertex and per-biological-cell data seems natural (although obviously they could be datasets in the same HDF5 file, but that wouldn't solve the duplication issue I'm pondering on).<br>
<br>
I've tried to find good ways to handle this case in VTK (or even on the level of Xdmf), but don't see filters or operations that handle this case out of the box. Is there a better approach than the "manual" data duplication that I'm using at the moment?<br>
<br>
Thanks in advance for any reply,<br>
Paul<br>
<br>
</blockquote>
<br></span><div class="HOEnZb"><div class="h5">
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <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 VTK FAQ at: <a href="http://www.vtk.org/Wiki/VTK_FAQ" target="_blank">http://www.vtk.org/Wiki/VTK_FAQ</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=vtkusers" target="_blank">http://markmail.org/search/?q=vtkusers</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/vtkusers" target="_blank">http://public.kitware.com/mailman/listinfo/vtkusers</a><br>
</div></div></blockquote></div><br></div>