I've written a widget-based application that aligns two images relative to one another using a combination of user interaction and automatic registration based on mutual information. It uses object graphics (namely IDLgrImage) to allow the user to roughly align the images, then uses the transformation matrix from this as the initial values for the registration algorithm. I want to extend the functionality of the program to aligning 3D volumes.
Ideally, I'd display 2D slices from the volumes overlaid upon one another, however the IDLgrVolume class doesn't seem to provide a simple way to display slices from the volumes, nor does it have methods for translating, scaling and rotating the displayed image as the IDLgrImage class does. I could use EXTRACT_SLICE and perform the transforms manually, but this wouldn't utilise the hardware acceleration that the object graphics can access and wouldn't fit particularly neatly into my current code...
My question is, therefore: is there an object graphics class that provides a similar level of functionality as IDLgrImage but for volumes? Otherwise, any suggestions how best to extend my program from 2D to 3D?
(N.B. I've tried looking at how XVOLUME works, but most of the interesting functionality is done by the IDLexVolView class, which doesn't have an entry in the help manuals)
|