Re: [Paraview] Using Probe Filter To Get The Average Value Around A Point
As far as I know, there is no way to get the probe filter to get all points within a radius as you describe. You may instead consider the Point Data to Cell Data Filter. That will for each cell take the values of all attached points and average them. The point volume interpolator filter will create a grid (by default 100^3) and, in gaussian kernel mode, will “splat” a gaussian function onto the grid from every point. Another way to think of it is that a 3D gaussian function is convolved with a 3D function comprising an impulse function at every point in the mesh scaled by the field value (and then sampled on the grid). -Ken Sent from my iPad > On Feb 6, 2018, at 8:21 PM, Jeremias Gonzalez> wrote: > > Thank you very much for your explanations and suggestions. Responses > interspersed below. > >> On 2/5/2018 4:57 PM, Moreland, Kenneth wrote: >> Jeremias, >> When you set a radius and number of points in the probe filter, then the >> filter will randomly sample the volume within the defined sphere the number >> of times requested. The resulting values are the field values at those >> randomly sampled locations. > >> An easy way to get an average of your samples is to run the result of the >> probe filter through the descriptive statistics filter. Look at the >> "Statistical Model" table and it will report the mean value for each field. >> (Note that if you are using ParaView 5.4 there is a bug, #17627, that shows >> the Statistical Model table wrong by default. You have to also change the >> Composite Data Set Index parameter in the Display part of the properties >> panel to select only the Derived Statistics block.) >> A couple of caveats to this approach. First, because the sampling is random, >> don't expect the exact same answer every time you run it. Second, if one of >> the samples happens to lie outside of the mesh, that sample will be filled >> with 0's for all fields. That will throw off the average value. > > Is there a probe setting that will simply grab all the points living in the > original mesh within the radius of the sphere I choose? > >> That said, another approach you might want to take is to first filter the >> data in a way that blurs out the noise first. One way you can do that is to >> run the Point Volume Interpolator filter. Change the Kernel to something >> like Gaussian (the default Voronoi filter will not do the averaging that you >> want). Set the radius appropriately. You can then probe the resulting data >> set with a single value (radius 0) and immediate see the "averaged" result. >> -Ken > > I don't seem to be finding any information on what exactly the Gaussian > kernel does with the data, so how close is it to the plain averaging I would > like it to be doing? ___ 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://paraview.org/mailman/listinfo/paraview
Re: [Paraview] Using Probe Filter To Get The Average Value Around A Point
Thank you very much for your explanations and suggestions. Responses interspersed below. On 2/5/2018 4:57 PM, Moreland, Kenneth wrote: Jeremias, When you set a radius and number of points in the probe filter, then the filter will randomly sample the volume within the defined sphere the number of times requested. The resulting values are the field values at those randomly sampled locations. > An easy way to get an average of your samples is to run the result of the probe filter through the descriptive statistics filter. Look at the "Statistical Model" table and it will report the mean value for each field. (Note that if you are using ParaView 5.4 there is a bug, #17627, that shows the Statistical Model table wrong by default. You have to also change the Composite Data Set Index parameter in the Display part of the properties panel to select only the Derived Statistics block.) A couple of caveats to this approach. First, because the sampling is random, don't expect the exact same answer every time you run it. Second, if one of the samples happens to lie outside of the mesh, that sample will be filled with 0's for all fields. That will throw off the average value. Is there a probe setting that will simply grab all the points living in the original mesh within the radius of the sphere I choose? That said, another approach you might want to take is to first filter the data in a way that blurs out the noise first. One way you can do that is to run the Point Volume Interpolator filter. Change the Kernel to something like Gaussian (the default Voronoi filter will not do the averaging that you want). Set the radius appropriately. You can then probe the resulting data set with a single value (radius 0) and immediate see the "averaged" result. -Ken I don't seem to be finding any information on what exactly the Gaussian kernel does with the data, so how close is it to the plain averaging I would like it to be doing? ___ 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://paraview.org/mailman/listinfo/paraview
Re: [Paraview] Using Probe Filter To Get The Average Value Around A Point
Jeremias, When you set a radius and number of points in the probe filter, then the filter will randomly sample the volume within the defined sphere the number of times requested. The resulting values are the field values at those randomly sampled locations. An easy way to get an average of your samples is to run the result of the probe filter through the descriptive statistics filter. Look at the "Statistical Model" table and it will report the mean value for each field. (Note that if you are using ParaView 5.4 there is a bug, #17627, that shows the Statistical Model table wrong by default. You have to also change the Composite Data Set Index parameter in the Display part of the properties panel to select only the Derived Statistics block.) A couple of caveats to this approach. First, because the sampling is random, don't expect the exact same answer every time you run it. Second, if one of the samples happens to lie outside of the mesh, that sample will be filled with 0's for all fields. That will throw off the average value. That said, another approach you might want to take is to first filter the data in a way that blurs out the noise first. One way you can do that is to run the Point Volume Interpolator filter. Change the Kernel to something like Gaussian (the default Voronoi filter will not do the averaging that you want). Set the radius appropriately. You can then probe the resulting data set with a single value (radius 0) and immediate see the "averaged" result. -Ken On 2/5/18, 5:27 PM, "ParaView on behalf of Jeremias Gonzalez"wrote: Hi, I'm trying to find a way to get the average value around a point in a mesh that I know to be noisy due to its coarseness. Currently, I am unable to understand determine the exact nature of the radius and number of point parameters from the documentation ( https://www.paraview.org/ParaView/Doc/Nightly/www/py-doc/paraview.simple.ProbeLocation.html ), but I am guessing from some third party posts that the radius enables one to find a point nearby to a desired point in a given region, and the number of points expands the amount captured. The problem I have past that, if those are correct understandings, is what to do with the probe once I have it. Looking at the resulting spreadsheet from using the probe location with a given radius and number of points each labelled from 0 to 99, for example, it seems that I may have to use another loop, after I introduce and use the probe, with code like my_running_total=0 for y in range(0, 99): my_running_total += mycalcprobepoint.GetPointData(y).GetArray('Result').GetValue(0) my_running_total /= 100 that will take that batch of points collected by the probe and average all the values I want. Is this the correct interpretation, and a valid way to carry out this objective? ___ 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://paraview.org/mailman/listinfo/paraview ___ 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://paraview.org/mailman/listinfo/paraview