python calculator - volume is wrong
The python calculator version of volume is wrong. This misrepresents data, and needs to be fixed.
Note - please test on at least image data (wavelet), exodus (disk_out_ref) and cth data (dave's small dataset).
Here is how to replicate the issue on wavelet.
- Linux, 5.3.0 RC3, local server.
- Wavelet. Run from -5 to 5 for X, Y and Z. Apply. --we now have a thousand cells, one unit in size each, so a total volume of 1000.
- Python Calculator. expression: volume(inputs[0]) Array Association: Cell Leave Array Output as result.
- Result is now junk. PV will show this as ranging from -0.999 to -1, which is another ParaView bug - numbers are actually -1 throughout.
- Show it in a spreadsheet, numbers will be -1.
This is a bug.
Now, lets start over, but leave the default Array Association, which is Point.
- Wavelet. Run from -5 to 5 for X, Y and Z. Apply. --we now have a thousand cells, one unit in size each, so a total volume of 1000.
- Python Calculator. expression: volume(inputs[0]) Array Association: Point Leave Array Output as result.
- Result is now worse than junk - it is misleading. Further, the range now runs from 31.62 to 31.63, thus looking like there is very slight variation in the result! This needs to be fixed ASAP.
By the way, the range seen here is probably an artifact of bug #16978.
Basically, volume should work for cells, don't let users try to calculate volume on points. Alternatively, at least give a reasonable result (0 to 0).