Hi Scott,

Making it easier to do this has been a longstanding issue. If you'd be interested in doing code development along this front that would be very welcome.

Right now the best place to start would be the MultiVariateTransferFunction:


Right now this is only directly exposed to users for "isocontour" volume renderings (see the ColoTransferFunction subclass), but in principle it could be generalized to do what you're looking for (e.g. the brightness coming from density but the color coming from temperature). I think John Wise even used it for exactly this a long time ago, but to my knowledge no one has ever used it for this sort of thing beyond experimental use cases. Having a user-visible API for setting this sort of thing up would be really nice.

Sorry that I don't have an immediately useful response, but I hope this proves helpful.


On Fri, Jan 27, 2017 at 2:23 PM Scott Feister <sfeister@gmail.com> wrote:
Hi everyone,

Is there a simple way to do a volume rendering of two variables simultaneously? For example, if I wanted to overplot both density and temperature into a single volume rendering. My naive method would be to define a new variable which is a weighted sum of the two variables, and sculpt the transfer function to have different colors over the range. I'm just asking if there's a better way built into YT.

I've done a lot of searching through the documentation, but I can't find a clear answer as to whether this is a built-in feature. I've seen examples from a few years ago where both variables are rendered separately, and the PNG files are combined. This ends up with both variables being partially-transparent to the other variable; in my example, I'd prefer not to see through a particularly high-temperature region. I've also seen documentation on a "multi-variate transfer function", but that documentation is pretty incomplete.

Thanks in advance!



Scott Feister, Ph.D.
Postdoctoral Researcher, Flash Center for Computational Science
University of Chicago, Department of Astronomy and Astrophysics
yt-users mailing list