I have a `vtkImageData`

called `img`

that I want to use the `vtkImageReslice`

algorithm on.

I want to reslice this image data to create a subimage that has its voxels aligned to a different coordinate system.

To do this i am using the following code:

```
reslice = vtk.vtkImageReslice()
reslice.SetInterpolationModeToLinear()
reslice.SetResliceAxes(get_subimg_rotation_matrix4x4())
reslice.SetResliceAxesOrigin(get_subimg_origin())
reslice.SetOutputOrigin(get_subimg_origin())
dims = get_subimg_dimensions()
reslice.SetOutputExtent(0, dims[0]-1, 0, dims[1]-1, 0, dims[2]-1)
reslice.SetOutputSpacing(get_subimg_spacing())
transform = vtk.vtkTransform()
transform .SetMatrix(get_subimg_rotation_matrix4x4())
reslice.SetResliceTransform(transform.GetInverse())
reslice.SetInputData(img)
reslice.Update()
subimg = reslice.GetOutput()
```

Here, get_subimg_rotation_matrix4x4() just returns a rotation matrix that defines the reslice axes, like:

```
[
[cos(theta), -sin(theta), 0.0, 0.0],
[sin(theta), cos(theta), 0.0, 0.0],
[0.0, 0.0, 1.0, 0.0],
[0.0, 0.0, 0.0, 1.0]
]
```

When theta=0, i.e. the reslice axes are the identity matrix and therefore aligned with `img`

, it works.

However, even when `theta`

is nonzero, the `subimg`

is not aligned with these reslice axes. Its as if the reslice axes were again the identity matrix.

Anyone have an example that can accomplish what I am trying to do?