[vtkusers] VTK + ShearWarp Algorithm (new binding to vtk 4.2.5)
John Biddiscombe
jbiddiscombe at skippingmouse.co.uk
Wed Jan 28 10:44:47 EST 2004
> The ShellSplatter makes use of a sparse volume representation. Voxels
> under a configurable opacity threshold aren't stored. If one makes the
> assumption that the intersection between the set of MI voxels and the
> set of high opacity voxels is large, one could perhaps abuse the
> hardware compositing to yield a kind of mip. I've been thinking of
> playing with this, but haven't had any time yet.
OK. What I do in one test implementation is take the top X% of voxels in the
dataset. Put these into a pointlist. Soft them from lowset intensity to
highest. Render them as points from lowest to highest with depth buffering
off.
> Pre-ordering voxels would negate one of the big speed advantages of the
> ShellSplatter and that is the fact that it generates a pure BTF order by
> axis traversal, i.e. without any sorting.
The voxels are ordered (as points) just once on start and it's very quick
because you may select just x,000 points (100,000 works nicely and gives
agood mip - a bonus is that you can take X% from volume one and y% from
volume 2 and do a fusion mip approach).
BUT, the points are displayed as points (even with pointsize increased) and
look a bit crap. If they were "splatted" with a gaussian type point spread
function, then the gaps between pixels would be filled and it might look
nice. I wondered if the MipSplatter could be kludged together from your
stuff - but I'm not sure exactly how the splat is performed in your code.
I'm also not sure how convincing this would look as the raycasting approach
gives interpolated regions and probably looks better.
JB
More information about the vtkusers
mailing list