[Numpy-discussion] 3D interpolation of large array
David Warde-Farley
dwf at cs.toronto.edu
Sun Sep 13 23:55:43 EDT 2009
On 13-Sep-09, at 8:51 PM, brechmos wrote:
>
> I have a large dataset (e.g., 70 x 500 x 500) and want to
> interpolate points
> (for example to double the size). What it seems I want is:
>
> []: newx,newy,newz=mgrid[1:70:0.5,1:500:0.5,1:500:0.5]
> []: coords = array([newz, newy, newx])
> []: dout = np.map_coordinates(d, coords)
That's going to incur over 3 gigabytes of RAM (about a gig each for
newx, newy, and newz), and you're running 32-bit Python. Not only do
you likely not have enough physical memory (which can be solved
somewhat by swapping), Python doesn't have enough memory address
space. So in other words, no.
Compiling a 64-bit version of Python and NumPy would solve the problem.
David
More information about the NumPy-Discussion
mailing list