I am trying to understand how to code the resampling of the voxels from a non-orthogonal basis as shown in the image below (taken from SimpleITK’s homepage) to an orthogonal grid.

My input is say a 3D grayscale image/3D NumPy array (in a non-orthogonal grid) of dimensions MxMxM and I want to resample it onto an orthogonal grid of any dimensions (3D NumPy array). Can you tell me if it can be achieved by SimpleITK’s functions as well.

An example of a 2D slice (heatmap) of my 3D inputs is shown below. Basically those elliptical objects you see, will become circular post change of basis.