title: Spline interpolation in 3D in python
body: <p>I am searching the equivalent Matlab command </p>
  
  <p><code>Vq = interp3(X,Y,Z,V,Xq,Yq,Zq)</code></p>
  
  <p>in Python. In Matlab I can use the method 'spline' interpolation, which I can not find in python for 3D data. There exists scipy.interpolate.griddata, but it doesn't have the option spline for 3D data.</p>
  
  <p>The data I want to interpolate is a 3D matrix (51x51x51), which is regularly distributed on a 3D grid.</p>
  
  <p>scipy.interpolate.Rbf may be the option, but I don't get it working:</p>
  
  <p><code>xi = yi = zi = np.linspace(1, 132651, 132651)
  interp = scipy.interpolate.Rbf(xi, yi, zi, data, function='cubic')</code></p>
  
  <p>leads to a memory error.</p>
  
  <p>Edit:
  A minimal example of what I want (without interpolation):
  Matlab code</p>
  
  <pre><code>v=rand([51,51,51]);
  isosurface (v, 0.3);
  </code></pre>
  
  <p>For simplicity, I use random data in this example. I want to make isosurface plots (in particular, Fermi surface plots). Since some structures are very small, a high grid resolution of 51x51x51 is needed.</p>
  
  <p>A further comment: The data set in the matrix is independent from each other, z (or the 3rd component) is NOT a function of x and y.</p>