<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:Courier;
panose-1:2 7 4 9 2 2 5 2 4 4;}
@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:11.0pt;
font-family:"Calibri",sans-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:11.0pt;
font-family:"Calibri",sans-serif;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Calibri",sans-serif;
color:windowtext;}
.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">Cory,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">No, I’m using numpy.arctan2 – sorry, always think of it as atan2.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">What I’m doing now is:<o:p></o:p></p>
<p class="MsoNormal" style="text-autospace:none"><o:p> </o:p></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New""> # Undeformed Sector Angles (degrees about Y-axis, 0=FP)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New""> numPts=block.GetNumberOfPoints()<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New""> node_angles=zeros( (numPts,1) )<o:p></o:p></span></p>
<p class="MsoNormal" style="margin-left:.5in;text-autospace:none"><span style="font-family:"Courier New""> x_undef,y_undef,z_undef=calc_node_undeformed_coords(block)<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New""> node_angles=arctan2(x_undef,z_undef)*180.0/pi<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New"">return node_angles<o:p></o:p></span></p>
<p class="MsoNormal" style="text-autospace:none"><span style="font-family:"Courier New""><o:p> </o:p></span></p>
<p class="MsoNormal">So, I’m not looping, as you suggest. I am later doing a custom point-data-to-cell-data by looping over millions of cells and finding each cells nodes and averaging them, but I’ve failed to get vtk.vtkPointDataToCellData to work inside
my Programmable filter, so I don’t have a good alternative.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I keep meaning to take out the cell angles and see how much that speeds it up, but haven’t done that yet.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Thanks for looking at this.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Dennis<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal"><b>From:</b> Cory Quammen [mailto:cory.quammen@kitware.com] <br>
<b>Sent:</b> Monday, April 30, 2018 1:44 PM<br>
<b>To:</b> kenichiro yoshimi <rccm.kyoshimi@gmail.com><br>
<b>Cc:</b> Dennis Conklin <dennis_conklin@goodyear.com>; Paraview (paraview@paraview.org) <paraview@paraview.org><br>
<b>Subject:</b> Re: [Paraview] [EXT] RE: [EXTERNAL] Calculating cylindrical coordinates<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<p class="MsoNormal">Dennis,<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">First, do you mean numpy.arctan2? I don't see that numpy.atan2 exists,but math.atan2 exists.<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Second, I suspect you are looping over millions of points in Python and are calling numpy.arctan2 on single X, Y values. Looping in Python like that will be very slow. Instead, you can get all your X values into one numpy array and do the
same with your Y values, then make a single call to numpy.atan2. Here's an example:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>>
</span><span style="font-size:13.0pt;font-family:Courier;color:#000096">from paraview.simple import *</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> import numpy</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> x = [1, 2, 3, 4]</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> y = [5, 6, 7, 8]</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> numpy.arctan2(y, x)</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:#009600">array([ 1.37340077, 1.24904577, 1.16590454, 1.10714872])</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<div>
<p class="MsoNormal">To get the X and Y arrays, you can use the numpy adapter:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> from vtk.numpy_interface import dataset_adapter as dsa</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>>
</span><span style="font-size:13.0pt">wrappedData = dsa.WrapDataObject(polydata)</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> X = wrappedData.Points[:,0]</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> Y = wrappedData.Points[:,1]</span><o:p></o:p></p>
<p style="margin:0in;margin-bottom:.0001pt;white-space:pre-wrap"><span style="font-size:13.0pt;font-family:Courier;color:black">>>> result = numpy.arctan2(Y, X)</span><o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Hope that helps,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">Cory<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 Sat, Apr 28, 2018 at 1:25 AM, kenichiro yoshimi <<a href="mailto:rccm.kyoshimi@gmail.com" target="_blank">rccm.kyoshimi@gmail.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">
<div>
<div>
<p class="MsoNormal">Hi Dennis,<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">You can calculate cylindrical coordinates by utilizing vtkCylindricalTransform within the python programmable filter. It is something like below and faster than numpy.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">---<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">import vtk<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">input = self.GetInput()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">output = self.GetOutput()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">transform = vtk.vtkCylindricalTransform()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">transformFilter = vtk.vtkTransformFilter()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">transformFilter.SetInputData(input)<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">transformFilter.SetTransform(transform.GetInverse())<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">transformFilter.Update()<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">output.ShallowCopy(transformFilter.GetOutput())<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">---<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">This converts (x,y,z) coordinates to (r,theta,z) coordinates by GetInverse method, <o:p></o:p></p>
</div>
<div>
<p class="MsoNormal">where the angles are calculated by the following equation to change range to [0, 2*pi]:<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"> theta = pi + atan2(-y, -x).<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Regards<o:p></o:p></p>
</div>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
<div>
<div>
<div>
<p class="MsoNormal">2018-04-28 5:25 GMT+09:00 Dennis Conklin <<a href="mailto:dennis_conklin@goodyear.com" target="_blank">dennis_conklin@goodyear.com</a>>:<o:p></o:p></p>
</div>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<div>
<div>
<div>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Alan,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Yes, I am calling it many times at the same angular location, but it’s tough to know you’re at the same angular location without calculating the angle.
<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Also, C++ is definitely orders of magnitude quicker, but once I have to compile routines into Paravew life gets very complicated. We barely survived compiling for cluster use
and I haven’t written C++ for at least 20 years. <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">So, if possible, I would like a clever external add-on that wouldn’t require us to re-compile PV everytime we update our version. I have visions of library errors in my nightmares!<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Dennis<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> Scott, W Alan [mailto:<a href="mailto:wascott@sandia.gov" target="_blank">wascott@sandia.gov</a>]
<br>
<b>Sent:</b> Friday, April 27, 2018 4:00 PM<br>
<b>To:</b> Dennis Conklin <<a href="mailto:dennis_conklin@goodyear.com" target="_blank">dennis_conklin@goodyear.com</a>>; Paraview (<a href="mailto:paraview@paraview.org" target="_blank">paraview@paraview.org</a>) <<a href="mailto:paraview@paraview.org" target="_blank">paraview@paraview.org</a>><br>
<b>Subject:</b> [EXT] RE: [EXTERNAL] [Paraview] Calculating cylindrical coordinates<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<table class="MsoNormalTable" border="1" cellspacing="1" cellpadding="0" style="background:#F3E2A9;border:outset gray 1.0pt">
<tbody>
<tr>
<td style="padding:.6pt .6pt .6pt .6pt">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <strong><span style="font-family:"Calibri",sans-serif;color:#B18904">CAUTION:
</span></strong>EXTERNAL email. Please think before clicking on any links or attachments.<o:p></o:p></p>
</td>
</tr>
</tbody>
</table>
<div>
<div>
<p> <o:p></o:p></p>
<div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Are there places on the cylinder you are calling atan2 with the same inputs, returning the same data, lots of times? Alternatively, could you calculate this in the simulation,
and just add it to the simulation output? I am speculating that a C++ call to atan2 may be faster than numpy?<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Alan<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<div style="border:none;border-left:solid blue 1.5pt;padding:0in 0in 0in 4.0pt">
<div>
<div style="border:none;border-top:solid #E1E1E1 1.0pt;padding:3.0pt 0in 0in 0in">
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"><b>From:</b> ParaView [<a href="mailto:paraview-bounces@public.kitware.com" target="_blank">mailto:paraview-bounces@public.kitware.com</a>]
<b>On Behalf Of </b>Dennis Conklin<br>
<b>Sent:</b> Friday, April 27, 2018 1:39 PM<br>
<b>To:</b> Paraview (<a href="mailto:paraview@paraview.org" target="_blank">paraview@paraview.org</a>) <<a href="mailto:paraview@paraview.org" target="_blank">paraview@paraview.org</a>><br>
<b>Subject:</b> [EXTERNAL] [Paraview] Calculating cylindrical coordinates<o:p></o:p></p>
</div>
</div>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">All,<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">If I wanted to run atan2(X,Y) on millions and millions of nodes to calculate cylindrical coordinates, but found that numpy.atan2 in a Programmable Filter was taking 45 minutes to
run, what should I do to make it much faster?<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Thanks for any hints<o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto"> <o:p></o:p></p>
<p class="MsoNormal" style="mso-margin-top-alt:auto;mso-margin-bottom-alt:auto">Dennis<o:p></o:p></p>
</div>
</div>
</div>
</div>
</div>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt">_______________________________________________<br>
Powered by <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=FVhh30nhp0wVhcyd%2F4hFpRUuM%2BAOFMt7QoDOE54BMoQ%3D&reserved=0" target="_blank">
www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=3ldRUwa4mjFAej8qHdU%2Bm3hPNt1qi%2Fi%2F2UB8Edjp0uA%3D&reserved=0" target="_blank">
http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fparaview.org%2FWiki%2FParaView&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=X2tWI8BBiUD2n9JXLfMqrB8ZVU2zDCE44%2F86YpebIrc%3D&reserved=0" target="_blank">
http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3DParaView&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=LrjHRj3n56BoYZVKKbZ4BQIasalVoDbwqK4Esrl7NIU%3D&reserved=0" target="_blank">
http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fparaview&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=d27eFwhKD9HViwciR9Xa42vLICS34tLZLmL81ZPL%2Bf8%3D&reserved=0" target="_blank">https://public.kitware.com/mailman/listinfo/paraview</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal" style="margin-bottom:12.0pt"><br>
_______________________________________________<br>
Powered by <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=FVhh30nhp0wVhcyd%2F4hFpRUuM%2BAOFMt7QoDOE54BMoQ%3D&reserved=0" target="_blank">
www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fwww.kitware.com%2Fopensource%2Fopensource.html&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=3ldRUwa4mjFAej8qHdU%2Bm3hPNt1qi%2Fi%2F2UB8Edjp0uA%3D&reserved=0" target="_blank">
http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fparaview.org%2FWiki%2FParaView&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=X2tWI8BBiUD2n9JXLfMqrB8ZVU2zDCE44%2F86YpebIrc%3D&reserved=0" target="_blank">
http://paraview.org/Wiki/ParaView</a><br>
<br>
Search the list archives at: <a href="https://na01.safelinks.protection.outlook.com/?url=http%3A%2F%2Fmarkmail.org%2Fsearch%2F%3Fq%3DParaView&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=LrjHRj3n56BoYZVKKbZ4BQIasalVoDbwqK4Esrl7NIU%3D&reserved=0" target="_blank">
http://markmail.org/search/?q=ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="https://na01.safelinks.protection.outlook.com/?url=https%3A%2F%2Fpublic.kitware.com%2Fmailman%2Flistinfo%2Fparaview&data=01%7C01%7Cdennis_conklin%40goodyear.com%7C4547c889b286410afb1c08d5aec1fb03%7C939e896692854a9a9f040887efe8aae0%7C0&sdata=d27eFwhKD9HViwciR9Xa42vLICS34tLZLmL81ZPL%2Bf8%3D&reserved=0" target="_blank">https://public.kitware.com/mailman/listinfo/paraview</a><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><br>
<br clear="all">
<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<p class="MsoNormal">-- <o:p></o:p></p>
<div>
<p class="MsoNormal">Cory Quammen<br>
Staff R&D Engineer<br>
Kitware, Inc.<o:p></o:p></p>
</div>
</div>
</div>
</body>
</html>