Is it possible to twist a volume?

Hi, I am currently looking at some helical data and would like to “straighten” it by rotating the helix “back” by its angle at the given distance to the origin.
My current approach was to do a rotational coordinate transformation along the x-axis, interpolate the data on a new grid and store a new “twisted” file. Since the interpolation introduces computational cost, another file & potential errors, I’d like to omit it.

Therefore my question: Can I define a volume rotation around e.g. the x-axis, where the rotational angle is dependent on variables such as the x coordinate and (ideally) the time step?

I have had a look at the transform filter, but to me it seems as if it can not produce the desired result, or I am not seeing it. Thanks for the help!

Hi,
Indeed, Transform applies uniform transformation on the whole dataset.
To make it depends on a data, you should implement it in a Programmable Filter, i.e. code yourself the transformation in a python script.

1 Like

If you can define the “transformation” as a displacement for each point, you can use the Warp By Vector filter Screen Shot 2023-10-11 at 9.03.56 AM.

I suspect it will be easier to use either the Calculator or Python Calculator filter to construct a series of displacements for each point based on the coordinates and then warp than using the Programmable Filter directly.

2 Likes