>  Docs Center  >  Libraries  >  Coyote  >  TRANSFORM_VOLUME






      The purpose of this program is to transform (e.g., rotate,
      scale, and translate) a 3D array or volume.


      Martin Downing,
      Clinical Research Physicist,
      Grampian Orthopaedic RSA Research Centre,
      Woodend Hospital, Aberdeen, AB15 6LS.
      Pnone: 01224 556055 / 07903901612
      Fa: 01224 556662
      E-mail: m.downing@abdn.ac.uk


      Mathematics, graphics.

Calling Sequence

      result = TRANSFORM_VOLUME( volume )


      volume: The 3D array or volume to be transformed.

Optional Keywords

      BUFFER_SIZE: To reduce memory overhead the routine processes the job in chunks, the number
        of elements of which can be set using the BUFFER_SIZE keyword, set this keyword to
        0 to force the whole array to be processed at one time. The default value is 128.
      MISSING: The value to return for transformed values outside the bounds of
        the volume. (Passed to the INTERPOLATE function.) Default is 0.
      T3DMAT: The homogeneous transforamtion matrix. If this keyword is not present,
        the following keywords can be used to create a homogeneous transformation matrix:
        ROTATION - The rotation vector [rx,ry,rz]. The order of rotation is ZYX.
        TRANSLATE - The translation vector [tx,ty,tz].
        SCALE - The scale vector [sx,sy,sz].
        CENTRE_ROTATION - The centre of rotation [cx,cy,cz].


      result: The transformed array or volume.

Common Blocks



      The program uses the library INTERPLOLATE routine, which currently (IDL 5.4)
      uses linear interpolation. Note that the operation is performed in chunks,
      each of which is independant of the result of the others, so the operation
      could easiliy be parallelised.

Modification History

      Written by: Martin Downing, 16 September 2001.
      Added MISSING keyword. Removed INPLACE keyword. 25 Nov 2001. MD

© 2022 L3Harris Geospatial Solutions, Inc. |  Legal
My Account    |    Contact Us