source files: xvol.[ch]
(XVOL-GET-VOXEL-SLICE :VOXELS <grl:voxels> [ :SLICE slice ] [ :AXIS <fix:axis> ] [ :MIN <fix:min> ] [ :MAX <fix:max> ] [ :ZOOM-BY <fix:zoom> ] [ :RESULT-IN <grl:image> ] [ :REVERSE-X t ] )
'voxels' should be either a rank-three CLASS-16-BIT-FLOAT-ARRAY or else a graphic relation holding such an array, named :INTENSITY.
'Slice' indicates which slice to fetch from the voxel array; It should be a number in [0,N) along the appropriate axis. It defaults to zero.
'Axis' indicates which direction the slice should be taken. It should be 0, 1 or 2, and defaults to 0.
'zoom' indicates how much the image should be enlarged by during the copy, and defaults to 1. Currently, the only other supported values are 2, 4, 8 and 16.
'min', 'max' and the return value are as in XMRI-READ-RGB-IMAGE. See section XMRI-READ-RGB-IMAGE.
If a :RESULT-IN value is supplied, and is of appropriate type, the result will be placed in it and 'image' returned; otherwise, a fresh image relation will be allocated and returned.
If a :REVERSE-X value is supplied and is non-NIL, then the resulting image is reflected end-for-end on the X axis (that is, reflected around the Y axis) after it is extracted and before it is returned. (This is currently done as a separate internal pass, making it a bit slower than non-reflected slice extraction: If this becomes a problem, we can rewrite the code to do the reflection during extraction, and run a bit faster.)