Title: Re: [opendx-users] lost on transformation matrix
Hi Fred,
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

Attachment: reg3dzrot.pdf
Description: Adobe PDF document

Reply via email to