# Size-dependent time cost of Delaunay3D filter

Hi,

I’m facing size (or unit)-dependent time costs when using Delaunay3D filter on a discrete scalar field, and do not understand those.

I’m actually working on the distance field to some sphere, for gridpoints on a structured (regular here) grid. Using the exact same number of gridpoints, but different grid spacing and sphere radii, I have completely different time costs of the Delaunay3D filter.

The behavior is illustrated by the following Python code (I launched it with IPython 5.5.0 / Python 2.7.17 on Ubuntu 18.04):

``````# writing in a structured grid the distance field to a sphere of some radius, and testing size-dependance of treatment costs
import time,vtk
'''Returns the signed distance between a [x,y,z] point and a sphere of some radius'''

sgrid = vtk.vtkStructuredGrid() # a 23*23*23 grid enclosing the sphere of radius rad in both cases
sgrid.SetDimensions([23,23,23])
gridPts = vtk.vtkPoints()
gridPts.Allocate(23**3)
distField = vtk.vtkDoubleArray() # the scalar field stored on the grid: shortest distance to the sphere of radius rad
distField.SetNumberOfComponents(1)
for k in range(23):
for j in range(23):
for i in range(23):
gridPts.InsertNextPoint(gp)
sgrid.SetPoints(gridPts)
sgrid.GetPointData().SetScalars(distField)
# Delaunay filter to the data:
t1 = time.time()
delaunay = vtk.vtkDelaunay3D()
delaunay.SetInputData(sgrid)
delaunay.Update()
t2 = time.time()

``````

On my machine, I get as an output:

``````For radius = 0.001 Delaunay filter took 0.00500893592834 s
For radius = 0.1 Delaunay filter took 2.61835503578 s
``````

The time difference surprises (and annoys…) me since there is exactly the same amount of data to process in both cases…

Hence the question: Is there a dimensional argument to the Delaunay3D filter I should use to avoid such a difference ? (more general explanations would also be welcome)

(As background information, I’m applying this filter before extracting the zero-contour and the sphere surface, which is my final goal – for more complex shapes than spheres. By the way, I know Delaunay triangulation may not be suitable for such structured mesh, but that is the best method I found for now…)