I have a 3D array with some data (a raster 3D image). I would like to get a 2D cut through that array, using some suitable interpolation (preferably linear - that's probably "trilinear" in this case). The plane of the cut can be described however is convenient, for example using a normal vector and distance.
If the cut is parallel to one of the axes, this is trivial, just slice the 3D array (with numpy index slice). But if the cut is not parallel to an axis, I don't see a good way to get started with that problem. The only thing that comes to mind is to rotate the 3D array (probably using a composition of 2D rotations) so that the cut is parallel to an axis, but that seems terribly inefficient.
I am working in python with numpy, ndimage and skimage. Any other python modules may be assumed to be available.