# Programmable filter with vtkProbeFilter

**URL:** https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392
**Category:** ParaView Support
**Created:** [January 7, 2026, 10:35am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392 "2026-01-07T10:35:21Z")
**Posts on this page:** 15
**Page:** 1

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 7, 2026, 10:35am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/1 "2026-01-07T10:35:21Z")

</div>

Dear support,

I am trying to resample my dataset in a programable filter using the [vtkProbeFilter](https://vtk.org/doc/nightly/html/classvtkProbeFilter.html) as a part of a much more complex final objective. However I couldn’t find any example to use it within ParaView and the [vtkProbeFilter examples](https://vtk.org/doc/nightly/html/c2_vtk_e_1.html#c2_vtk_e_vtkProbeFilter) aren’t available anymore.

Would it be possible to have an example of a vtkProbeFilter where the point data of a dataset (unstructured, multiblock, composite, etc…) is proved in a given location (i.e. vtkPoints()) and output in ParaView?

Thank you in advance!

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 7, 2026, 10:37am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/2 "2026-01-07T10:37:51Z")

</div>

> [@Captain\_Convergence](#):
>
> trying to resample my dataset

Hi,

Why not just using ResampleWithDataSet ?

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 7, 2026, 10:41am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/3 "2026-01-07T10:41:29Z")

</div>

My objective is to create a filter which permits to compute the boundary layer height over a wing and set the value in the wing surface. For this I need to trace normal lines from the surface, probe the velocity (the step where I am stuck), find its value and output the height in the wing’s surface . I believe that ResampleWithDataSet would add much more elements in my pipeline and I wanted to keep it as clean as possible.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 7, 2026, 10:43am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/4 "2026-01-07T10:43:02Z")

</div>

Sounds more like you want a custom composite filter, not a programmable filter: [11. Advanced: Tips & Tricks — ParaView Documentation 6.0.0 documentation](https://docs.paraview.org/en/latest/Tutorials/ClassroomTutorials/advancedTipsAndTricks.html#creating-a-custom-filter)

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 7, 2026, 10:44am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/5 "2026-01-07T10:44:01Z")

</div>

That’s a new topic for me I will take a look at it. Thanks!

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 7, 2026, 10:50am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/6 "2026-01-07T10:50:33Z")

</div>

I went over it and it seems to be useful for combining multiple filters. However I think that with the existing filters I won’t achieve my objective in the final format that I would like to have and my goal is to don’t use the GUI at all. This is why I was relying on the programmable filter and using the vtk library to perform the required operations.

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 7, 2026, 10:51am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/7 "2026-01-07T10:51:43Z")

</div>

It is better to create a programmable filter focused on the “feature gap” and do only the processing that ParaView cannot do, and then to combine them all in a custom filter.

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 7, 2026, 10:55am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/8 "2026-01-07T10:55:04Z")

</div>

I see, I will give it a second thought. Thanks for the support!

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 7, 2026, 6:44pm UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/9 "2026-01-07T18:44:21Z")

</div>

I have been trying different filter combinations and I cannot make it work the way I would like to.

Given 2 datasets, A) one with the surface data and normal vectors and B) another with the flowfield, which would be the best approach to generate X normal lines (one per surface point) and use the ResampleWithDataSet to interpolate the point data over them?

This can be easily done with a for loop creating interpolate over line filters but this can flood the pipeline with thousands of operations (It would be ideal if it was possible to interpolate data on Glyphs 😆 )

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 8, 2026, 9:32am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/10 "2026-01-08T09:32:39Z")

</div>

please share your data.

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 9, 2026, 4:48pm UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/11 "2026-01-09T16:48:54Z")

</div>

I have attached a reproducer script and my datasets here:

[reproducer.rar](https://discourse.paraview.org/uploads/short-url/1rYjYYyU9U8HPFOS6prf5UP7vUJ.rar) (9.0 MB)

One is a 3D surface that I slice to get the 2D normal vectors of the wing (V2C\_3D\_DDES\_snapshot\_surf.tec) and the other is a 2D flowfield (V2C\_2D\_RANS\_KEps.plt). The extra operations that you can see are to adapt the .plt file to a real 2D because I’ve found that ParaView adds a Y component which should be 0 in our case.

 ![image](https://discourse.paraview.org/uploads/default/original/3X/1/a/1afa930288521b8d3a22a1fe1d21822294f9030a.jpeg)

The only thing you might need to do to load the dataset correctly is to modify the path where you load the data:

```auto
# Declare data directory
dataDir = r'path/to/data'

```

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 12, 2026, 8:47am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/12 "2026-01-12T08:47:02Z")

</div>

Something like that ?

 ![image](https://discourse.paraview.org/uploads/default/original/3X/4/4/44f237e9684ad38fac5827467500b078a350647e.jpeg)

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 12, 2026, 10:41am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/13 "2026-01-12T10:41:29Z")

</div>

From the looks it seems that you have interpolated the flowfield at the airfoil’s surface using resample with dataset. However here you have only the information of the flow in contact with the airfoil’s surface, I want to have the information in a normal direction. My intention is

1. Create normal lines on each surface point
2. Interpolate the flowfield on these lines (not the interpolated in surface)
3. Perform an operation (i.e. mean velocify in the line)
4. Store that value at the surface

I hope that this helps to understand what I am trying to achieve!

---

<div class="post-metadata">

### Author: ![mwestphal](https://discourse.paraview.org/user_avatar/discourse.paraview.org/mwestphal/32/17_2.png) [@mwestphal](https://discourse.paraview.org/u/mwestphal)
#### Post date: [January 12, 2026, 10:45am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/14 "2026-01-12T10:45:52Z")

</div>

> [@Captain\_Convergence](#):
>
> - Create normal lines on each surface point
> - Interpolate the flowfield on these lines (not the interpolated in surface)
> - Perform an operation (i.e. mean velocify in the line)
> - Store that value at the surface

These should indeed be done a in programmable filter.

---

<div class="post-metadata">

### Author: ![Captain\_Convergence](https://discourse.paraview.org/letter_avatar_proxy/v4/letter/c/e19b73/32.png) [@Captain\_Convergence](https://discourse.paraview.org/u/Captain_Convergence)
#### Post date: [January 12, 2026, 10:50am UTC](https://discourse.paraview.org/t/programmable-filter-with-vtkprobefilter/17392/15 "2026-01-12T10:50:08Z")

</div>

Exactly, this is why I was looking for an example of creating VTK points/lines with the VTK library and then interpolating using the vtkProbeFilter but I couldn’t find an example of doing this on the web. Any guidance on how to do it and export it back to ParaView would be extremely useful!
