<div dir="ltr"><div><div><div><div><div>Hi Cornelis,<br><br></div>I'm confused a bit. With PV 5.2 when I do Extract Selection with preserve topology on I only get the vtkInsidedness array out from that -- do you also get your other field arrays? I had to use the Append Attributes filter to get all of the arrays back into a single filter output. <br><br></div>Also, I don't see an option for "if(1=vtkInsidedness, ...)" in the Calculator filter. Did you get that to work for you and if you did, what was the full expression? Using the Python Calculator I can do something like "numpy.where(vtkInsidedness>0, -RTData, RTData)" to negate values in the RTData array based on the vtkInsidedness array. Note that I had to use the Calculator fitler to create a double type of array from the original signed char vtkInsidedness array. This is because of the error that you noticed which is that we don't have a way to create a numpy array from a signed char array and thus the Python Calculator fails.<br><br></div>To answer your question on how to speed up this process, you can try doing a Python trace and saving that as a Macro button or maybe create a custom filter that combines all of those filters. Details on both of those should be in the ParaView Users Guide.<br><br></div>Best,<br></div>Andy<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 17, 2017 at 5:12 AM, Cornelis Bockemühl <span dir="ltr"><<a href="mailto:cornelis.bockemuehl@gmail.com" target="_blank">cornelis.bockemuehl@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Once again: I just see that I received more information than just the assertion error:<div><br></div><div>""</div><p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">Traceback (most recent call last):</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">  File "<string>", line 4, in <module></span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">  File "D:\Users\cbockenm\Documents\<wbr>BTest\ParaView\OwnBinaries\<wbr>ParaView 5.1.2\lib\site-packages\<wbr>paraview\calculator.py", line 122, in execute</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">    variables = get_arrays(inputs[0].<wbr>GetAttributes(self.<wbr>GetArrayAssociation()))</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">  File "D:\Users\cbockenm\Documents\<wbr>BTest\ParaView\OwnBinaries\<wbr>ParaView 5.1.2\lib\site-packages\<wbr>paraview\calculator.py", line 34, in get_arrays</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">    arrays[varname] = attribs[key]</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">  File "D:\Users\cbockenm\Documents\<wbr>BTest\ParaView\OwnBinaries\<wbr>ParaView 5.1.2\lib\site-packages\<wbr>paraview\vtk\numpy_interface\<wbr>dataset_adapter.py", line 587, in __getitem__</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">    return self.GetArray(idx)</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">  File "D:\Users\cbockenm\Documents\<wbr>BTest\ParaView\OwnBinaries\<wbr>ParaView 5.1.2\lib\site-packages\<wbr>paraview\vtk\numpy_interface\<wbr>dataset_adapter.py", line 599, in GetArray</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">    array = vtkDataArrayToVTKArray(<wbr>vtkarray, self.DataSet)</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">  File "D:\Users\cbockenm\Documents\<wbr>BTest\ParaView\OwnBinaries\<wbr>ParaView 5.1.2\lib\site-packages\<wbr>paraview\vtk\numpy_interface\<wbr>dataset_adapter.py", line 138, in vtkDataArrayToVTKArray</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">    narray = numpy_support.vtk_to_numpy(<wbr>array)</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">  File "D:\Users\cbockenm\Documents\<wbr>BTest\ParaView\OwnBinaries\<wbr>ParaView 5.1.2\lib\site-packages\vtk\<wbr>util\numpy_support.py", line 214, in vtk_to_numpy</span></p>
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">    "Unsupported array type %s"%typ</span></p><span class="">
<p style="margin:0px"><span style="font-family:courier;font-size:10pt;color:rgb(170,0,0)">AssertionError: Unsupported array type 15</span></p>
<p style="margin:0px;font-family:courier;font-size:10pt;color:rgb(170,0,0)"><br></p><div>""</div><div><br></div></span><div>It does not help me a lot, but maybe it indicates to somebody else what might be the problem!?</div><div><br></div><div>Regards,</div><div>Cornelis</div><div><br></div></div><div class="HOEnZb"><div class="h5"><div class="gmail_extra"><br><div class="gmail_quote">2017-01-17 11:08 GMT+01:00 Cornelis Bockemühl <span dir="ltr"><<a href="mailto:cornelis.bockemuehl@gmail.com" target="_blank">cornelis.bockemuehl@gmail.com</a><wbr>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Thanks again Andy!<div><br></div><div>I really appreciate your hints: It has already pointed me into a good direction!</div><div><br></div><div>Actually what I tried for my purpose was:</div><div><br></div><div>1. do a selection, apply the "extract selection" filter, with the "keep topology" option on. With this I am getting just one additional column - "vtkInsidedness" - and this tells me whether in the initial data (actually cells of an "unstructured grid") an item was selected (value 1) or not (value -1).</div><div><br></div><div>2. on top of this I applied the "calculator" filter like you suggested, and with just an if(1=vtkInsidedness, ...) I could get exactly what I wanted!</div><div><br></div><div>Bottom line: these two filters are actually my friends for the purpose!<br></div><div><br></div><div>Only two things I am still struggling:</div><div><br></div><div>1. if I want this procedure to be a bit more simple I should maybe still write some kind of "wrapper filter" that does the above steps for me just in one. Like derive one filter from the calculator, including the nice calculator panel on the left, and just automatically do the "extract selection" before applying the calculator</div><div><br></div><div>2. with the "python calculator" I was not successful, and I wonder why!? Because if I applied that python calculator to my original "unstructured grid" data set everything worked fine (so it is not about missing python support!), but if I did the procedure as above, applying the "python calculator" on the extracted data, I always got a message: "AssertionError: Unsupported array type 15". This was independent on what was the expression I tried to apply, even if it was just a constant value! Looking into the source code it looks indeed like a mistake if some column has "type 15": I found only about 10 type definitions at all...</div><div><br></div><div>Regards,</div><div>Cornelis</div></div><div class="m_7928415004480505427HOEnZb"><div class="m_7928415004480505427h5"><div class="gmail_extra"><br><div class="gmail_quote">2017-01-17 10:51 GMT+01:00 Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><div><div><div>Hi Cornelis,<br><br></div><div>How would you like to select the single or group of values to change? Also, how would you like to change them (e.g. the same transformation for each or each with its own transformation)? These two questions are meant to guide you to do what you want in ParaView.<br></div><div><br></div>You probably want to look at the Python Programmable Filter (<a href="http://www.paraview.org/Wiki/Python_Programmable_Filter" target="_blank">http://www.paraview.org/Wiki/<wbr>Python_Programmable_Filter</a>) for changing individual array values. If you are working in serial you may also be able to bring in the entities to change based on a selection. A better solution would be to use the global ids filter, then do a selection on what you want and finally pass that in as a secondary input to the Python Programmable filter. <br><br></div>Developing your own filter is also a possibility.<br><br></div>cheers,<br></div>Andy<br></div><div class="m_7928415004480505427m_686670370789005123HOEnZb"><div class="m_7928415004480505427m_686670370789005123h5"><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Jan 17, 2017 at 1:38 AM, Cornelis Bockemühl <span dir="ltr"><<a href="mailto:cornelis.bockemuehl@gmail.com" target="_blank">cornelis.bockemuehl@gmail.com</a><wbr>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Dear Andy,<div><br></div><div>Thanks for this hint: Indeed I was not fully aware of the way how you can easily add new calculated columns with these two filters! What they do is some kind of "vector math", resulting in a new vector that is appended to the input data set.</div><div><br></div><div>However my question went in the direction of directly editing single values, or groups of values.</div><div><br></div><div>Example: Assume that we have a data array "Density" in some data set, then I want to be able to directly change the "density" value for just a few cells, or even better: for a selected set of data rows.</div><div><br></div><div>Because: If such a thing does not exist yet I would consider trying to write it myself - but I do not insist on reinventing any wheel! And I am sometimes astonished how many "wheels" already exist in the ParaView "world"...</div><div><br></div><div>Regards,</div><div>Cornelis</div><div><br></div><div>PS: Why do I never see my own posts to the paraview mailing list? Is this a bug or a feature or something I am doing wrong?</div></div><div class="gmail_extra"><br><div class="gmail_quote">2017-01-17 0:57 GMT+01:00 Andy Bauer <span dir="ltr"><<a href="mailto:andy.bauer@kitware.com" target="_blank">andy.bauer@kitware.com</a>></span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div></div>This can be done through either the calculator or python calculator filter. If you're in the spreadsheet view it should switch over to the calculator/python calculator output when the filter is applied.<br></div><div class="gmail_extra"><br><div class="gmail_quote"><div><div class="m_7928415004480505427m_686670370789005123m_-5273789568883069719m_5186273761706862525h5">On Mon, Jan 16, 2017 at 5:14 PM, Cornelis Bockemühl <span dir="ltr"><<a href="mailto:cornelis.bockemuehl@gmail.com" target="_blank">cornelis.bockemuehl@gmail.com</a><wbr>></span> wrote:<br></div></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><div class="m_7928415004480505427m_686670370789005123m_-5273789568883069719m_5186273761706862525h5"><div dir="ltr">Has somebody already written and contributed a filter that allows some simple "spreadsheet like" user manipulation of the data?<div><br></div><div>I mean something that accepts some data input, then allows user changes, and the output would be the changed data set.</div><div><br></div><div>Regards,</div><div>Cornelis<span class="m_7928415004480505427m_686670370789005123m_-5273789568883069719m_5186273761706862525m_-3943541255438164622HOEnZb"><font color="#888888"><br clear="all"><div><br></div>-- <br><div class="m_7928415004480505427m_686670370789005123m_-5273789568883069719m_5186273761706862525m_-3943541255438164622m_-7532420152427356461gmail_signature" data-smartmail="gmail_signature">Cornelis Bockemühl<br>Basel, Schweiz<br></div>
</font></span></div></div>
<br></div></div>______________________________<wbr>_________________<br>
Powered by <a href="http://www.kitware.com" rel="noreferrer" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" rel="noreferrer" target="_blank">http://www.kitware.com/opensou<wbr>rce/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" rel="noreferrer" target="_blank">http://paraview.org/Wiki/ParaV<wbr>iew</a><br>
<br>
Search the list archives at: <a href="http://markmail.org/search/?q=ParaView" rel="noreferrer" target="_blank">http://markmail.org/search/?q=<wbr>ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://public.kitware.com/mailman/listinfo/paraview" rel="noreferrer" target="_blank">http://public.kitware.com/mail<wbr>man/listinfo/paraview</a><br>
<br></blockquote></div><br></div><span class="m_7928415004480505427m_686670370789005123m_-5273789568883069719HOEnZb"><font color="#888888">
</font></span></blockquote></div><span class="m_7928415004480505427m_686670370789005123m_-5273789568883069719HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br><div class="m_7928415004480505427m_686670370789005123m_-5273789568883069719m_5186273761706862525gmail_signature" data-smartmail="gmail_signature">Cornelis Bockemühl<br>Basel, Schweiz<br></div>
</font></span></div>
</blockquote></div><br></div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_7928415004480505427m_686670370789005123gmail_signature" data-smartmail="gmail_signature">Cornelis Bockemühl<br>Basel, Schweiz<br></div>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br><div class="m_7928415004480505427gmail_signature" data-smartmail="gmail_signature">Cornelis Bockemühl<br>Basel, Schweiz<br></div>
</div>
</div></div></blockquote></div><br></div>