I worked out some macros for rotating regular 3D grid data that immediately operate on the positions components (see attached pdf for Z-axis rotation) and preserve the Regular object.
It basically interrogates a regular data object for (Origin, Delta and Counts), calculates new Origins and Deltas based on the rotation value, and uses Construct to build a new data object (inserting the data extracted from the original object). To translate, recalculate only the Origins component. To scale, calculate the new Origin and Delta values.
I found that this procedure preserves the Regularity of the object thus avoiding out-of-memory problems.
Hope this helps!
Paul
Paul D. Majors, Ph.D.
Pacific Northwest National Laboratory
Environmental Molecular Sciences Laboratory
P.O. Box 999, MSIN: K8-98
Richland, WA 99352 USA
509.376.0836 (Voice)
509.376.2303 (Fax)
[EMAIL PROTECTED]
Hi all,
I tried using the Scale, Rotate, and Translate modules to operate on the
positions component, but they don't actually change the positions, only
the arrangement in the Image.
I want to apply a transformation matrix on a GeoTIFF file using the
Compute module, as in the following:
coords = Mark( field, "positions");
temp_coords = Compute( "$0 dot $1", coords, matrix );
field = Unmark(temp_coords, "positions");
So how do I build the transformation matrix?
TIA,
Fred Ramsing
reg3dzrot.pdf
Description: Adobe PDF document
