Hi all,
The multivariate tf could use both some updating and documentation. I'm offline for the next few days but if it hasn't been fixed by next week I can take a look.

Sam

On Jul 30, 2013 8:40 AM, "Nathan Goldbaum" <nathan12343@gmail.com> wrote:
Hi Noel,

I believe this is a bug that needs to be fixed.  It seems MultiVariateTransferFunction was never updated after opaque volume rendering was added.

Can you please open a new issue about this? 

Nathan

On Tuesday, July 30, 2013, Noel Scudder wrote:
Hi all,

I'm attempting to visualize multiple variables in the same volume rendering. For instance, I'd like to show some density surfaces of a star and then get temperature overlayed to show hotspots. I found the MultiVariateTransferFunction, but it is unfortunately not particularly well documented yet, and I'm being repeatedly thwarted. I'm not sure if I've set it up correctly, or how to go from the transfer function to an image. Here's my current script, using just one variable for now:

#----------------------------------
from yt.mods import *
pf = load('plt00100')

#<some constants>
        
pf.h
pf.field_info['density'].take_log=True

mv = MultiVariateTransferFunction()
        
tf = TransferFunction((mi-1, ma+1), nbins=1.0e6)
tf.add_gaussian(np.log10(9.0e5), 0.01, 1.0)

mv.add_field_table(tf, 0)
mv.link_channels(0, [0,1,2,3])

c = [5.0e9, 5.0e9, 5.0e9]
L = [0.15, 1.0, 0.40]
W = wi*0.7
Nvec = 1024

cam = pf.h.camera(c, L, W, (Nvec,Nvec), transfer_function = mv,
                             fields=['density'], pf=pf, no_ghost=True)

im = cam.snapshot(num_threads=4)

im.write_png('plt00100.png' )
#----------------------------------

I checked to make sure density is indeed my 0-index field. I get the following error after ray casting:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "multivol.py", line 153, in <module>
    im = cam.snapshot(num_threads=4)
  File "/home/noel/shocks/yt-x86_64/src/yt-hg/yt/visualization/volume_rendering/camera.py", line 742, in snapshot
    image, sampler),
  File "/home/noel/shocks/yt-x86_64/src/yt-hg/yt/visualization/volume_rendering/camera.py", line 632, in _render
    image = self.finalize_image(image)
  File "/home/noel/shocks/yt-x86_64/src/yt-hg/yt/visualization/volume_rendering/camera.py", line 611, in finalize_image
    if self.transfer_function.grey_opacity is False:
AttributeError: 'MultiVariateTransferFunction' object has no attribute 'grey_opacity'


Can I not use snapshot in this case, or is something else the matter entirely?

Thanks,
Noel Scudder

_______________________________________________
yt-users mailing list
yt-users@lists.spacepope.org
http://lists.spacepope.org/listinfo.cgi/yt-users-spacepope.org