[Paraview] [EXT] RE: [EXTERNAL] Calculating cylindrical coordinates

kenichiro yoshimi rccm.kyoshimi at gmail.com
Sat Apr 28 01:25:57 EDT 2018


Hi Dennis,

You can calculate cylindrical coordinates by utilizing
vtkCylindricalTransform within the python programmable filter. It is
something like below and faster than numpy.

---
import vtk

input = self.GetInput()
output = self.GetOutput()

transform = vtk.vtkCylindricalTransform()

transformFilter = vtk.vtkTransformFilter()
transformFilter.SetInputData(input)
transformFilter.SetTransform(transform.GetInverse())
transformFilter.Update()

output.ShallowCopy(transformFilter.GetOutput())
---

This converts (x,y,z) coordinates to (r,theta,z) coordinates by GetInverse
method,
where the angles are calculated by the following equation to change range
to [0, 2*pi]:
  theta = pi + atan2(-y, -x).

Regards

2018-04-28 5:25 GMT+09:00 Dennis Conklin <dennis_conklin at goodyear.com>:

> Alan,
>
>
>
> 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.
>
>
>
> 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.
>
>
>
> 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!
>
>
>
> Dennis
>
>
>
> *From:* Scott, W Alan [mailto:wascott at sandia.gov]
> *Sent:* Friday, April 27, 2018 4:00 PM
> *To:* Dennis Conklin <dennis_conklin at goodyear.com>; Paraview (
> paraview at paraview.org) <paraview at paraview.org>
> *Subject:* [EXT] RE: [EXTERNAL] [Paraview] Calculating cylindrical
> coordinates
>
>
>
>  *CAUTION: *EXTERNAL email. Please think before clicking on any links or
> attachments.
>
>
>
> 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?
>
>
>
> Alan
>
>
>
> *From:* ParaView [mailto:paraview-bounces at public.kitware.com
> <paraview-bounces at public.kitware.com>] *On Behalf Of *Dennis Conklin
> *Sent:* Friday, April 27, 2018 1:39 PM
> *To:* Paraview (paraview at paraview.org) <paraview at paraview.org>
> *Subject:* [EXTERNAL] [Paraview] Calculating cylindrical coordinates
>
>
>
> All,
>
>
>
> 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?
>
>
>
> Thanks for any hints
>
>
>
> Dennis
>
> _______________________________________________
> 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:
> https://public.kitware.com/mailman/listinfo/paraview
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://public.kitware.com/pipermail/paraview/attachments/20180428/3eaf70d1/attachment.html>


More information about the ParaView mailing list