[Paraview] Sharing a library I wrote to generate ProgrammableFilters with property panel options

Miguel Aguirre aguirre.utn at gmail.com
Fri Mar 16 03:13:35 EDT 2018


Hello Mr. Shuhao,

Thanks for your contribution. I was facing the XML file creation some days
ago and I also saw the link:

https://blog.kitware.com/easy-customization-of-the-paraview-python-programmable-filter-property-panel/

However, I did not saw your github post in my google search, so maybe a
good idea is to leave a comment in the previous link showing your work. I
think this may increase your visibility, and especially, it will be useful
for Paraview users that are not inscribed in this mailing list.

Best regards,
Miguel Angel AGUIRRE



On Wed, Mar 14, 2018 at 7:39 PM, Shuhao Wu <shuhao at shuhaowu.com> wrote:

> Hello all,
>
> I hope this is not too spammy/self promoting, but I wanted to share a
> small library that I created to wrap such that you create Python
> Programmable Filters with custom property panel options from a regular
> python file. The work is inspired by this blog post[1].
>
> The library based system allows you to write your programmable filter such
> that it will work outside of paraview so you can possibly mock the
> inputs/outputs and run unit tests on then, while also allowing easy export
> into a XML plugins to feed into Paraview for execution. This should allow
> one to create higher quality, reusable filters. The library is available
> at: https://github.com/shuhaowu/pvpyfilter. If there is enough interest
> in this, and once I get to test it more, I can release this onto PyPI for
> easier access.
>
> A short example of this in action (longer one available in the repository,
> complete with screenshots):
>
> class ViscosityType(Enum):
>   Kinematic = 1
>   Dynamic   = 2
>
> class MyFilter(ProgrammableFilter):
>   label = "My Filter"
>   input_data_type  = "vtkPolyData"
>
>   nu = Double("Viscousity", default=1.53e-5, slider=[0, 1e-4], help="...")
>   nu_type = IntegerEnum("Type", default=ViscosityType.Kinematic,
> enum=ViscosityType)
>
>   @staticmethod
>   def request_data(inputs, outputs, nu, nu_type):
>     print(nu)
>     print(nu_type)
>
> [1]: https://blog.kitware.com/easy-customization-of-the-paraview-
> python-programmable-filter-property-panel/ --  I cannot find the script
> download from that link and had to get it from somewhere else on the
> internet.
>
> Shuhao
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensou
> rce/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/20180316/700d7ac5/attachment.html>


More information about the ParaView mailing list