[yt-dev] Transfer Function Plots

Cameron Hummels chummels at astro.columbia.edu
Fri Jun 8 14:50:51 PDT 2012


+1 on all of those suggestions.  Thanks for this addition, Sam!  If you 
push this, I may add a few parameters to annotate which allow for 
overplotting a size scale bar and a redshift/time annotation in a corner 
for use in movies.

Cameron

On 6/8/12 5:30 PM, Sam Skillman wrote:
> Matt:
>
> I'm using pylab.  One thing I'm going to change is modify it so that 
> it gets the resolution of the image, then sets the pylab figure size 
> based off that.  I'd also rather have this go through freetype, but 
> the development time for that for me is >> (time left this afternoon). 
>  I'd be +1 to porting to freetype.
>
> This is _very_ loosely coupled to the interactive camera.  I'm going 
> to (right now) move it over to the general camera class, and make it 
> have the API:
>
> cam.save_annotated(fn, im=None, enhance=True)
>
> This will take the filename, the previously produced image array or 
> try to get the cam.image array (which exists for some variants of the 
> camera), and then apply the standard deviation clipping that is 
> presence in the enhance.py on the hub.  I'm going to strongly 
> encourage the enhance=True.  I've been making movies that use the same 
> normalization and have been happy with all of them.
>
> While I'm at it, I'll add a cam.save(fn, im, enhance=True) that skips 
> the annotation.
>
> +/- 1 on those additions?  Requests?
>
> All others: Thanks for the enthusiastic response!
>
> Sam
>
> On Fri, Jun 8, 2012 at 3:28 PM, Christopher Moody <cemoody at ucsc.edu 
> <mailto:cemoody at ucsc.edu>> wrote:
>
>     Beautiful, +1!
>
>     chris
>
>     On Fri, Jun 8, 2012 at 2:22 PM, Cameron Hummels
>     <chummels at astro.columbia.edu <mailto:chummels at astro.columbia.edu>>
>     wrote:
>     > +1e6!  I need to use something like this right now! :)  Great
>     work, Sam!
>     >
>     >
>     > On 6/8/12 5:06 PM, Sam Skillman wrote:
>     >>
>     >> Okay, I've prototyped something that works like this:
>     >>
>     >> interactive_camera.snapshot()
>     >> ...pops up interactive matplotlib window...
>     >> interactive_camera.save('test.png')
>     >> ...grabs all needed information and makes this...
>     >>
>     >> Inline image 1
>     >>
>     >> +/- 1?  It just needs some cleanup, like reducing the extent of the
>     >> colorbar so you don't get the black strip at the top and bottom
>     of the
>     >> image.
>     >>
>     >> Sam
>     >>
>     >> On Fri, Jun 8, 2012 at 2:12 PM, Richard P Wagner
>     <rpwagner at sdsc.edu <mailto:rpwagner at sdsc.edu>
>     >> <mailto:rpwagner at sdsc.edu <mailto:rpwagner at sdsc.edu>>> wrote:
>     >>
>     >>
>     >>    On Jun 8, 2012, at 12:40 PM, Nathan Goldbaum wrote:
>     >>
>     >>>    I'd prefer it if the transfer function plot were split into two
>     >>>    separate frames.  Right now, it's easy to think that the black
>     >>>    background color image contains opacity information since the
>     >>>    frame is plotted with a y axis.  I'd prefer it if only the
>     white
>     >>>    line was plotted with a y axis and the black background
>     image was
>     >>>    plotted in a separate frame like a color bar with no y axis.
>     >>>     This would also let the user see the tick marks for the
>     opacity
>     >>>    plot much more easily.
>     >>>
>     >>>    In general, I like plotting the transfer function like a color
>     >>>    bar (sort of like Stella Offner's image on the yt homepage
>     >>>    [http://yt-project.org/img/offner_etal.png]).
>     >>
>     >>
>     >>    That's what came to mind when I was reading this. For a while,
>     >>    we've been putting a combination color bar-transfer function
>     >>    graphic in our renderings with ANL (skip about 30 seconds into
>     >> http://www.youtube.com/watch?v=5dOt0IaRY4U). I think it's very
>     >>    natural to overlay a transfer function plot onto a color
>     bar, and
>     >>    it provides a lot of information in a simple fashion.
>     >>
>     >>    --Rick
>     >>
>     >>>
>     >>>    Nathan Goldbaum
>     >>>    Graduate Student
>     >>>    Astronomy & Astrophysics, UCSC
>     >>> goldbaum at ucolick.org <mailto:goldbaum at ucolick.org>
>     <mailto:goldbaum at ucolick.org <mailto:goldbaum at ucolick.org>>
>     >>> http://www.ucolick.org/~goldbaum
>     <http://www.ucolick.org/%7Egoldbaum>
>     <http://www.ucolick.org/%7Egoldbaum>
>     >>>
>     >>>
>     >>>    On Jun 8, 2012, at 12:34 PM, Sam Skillman wrote:
>     >>>
>     >>>>    Hi all,
>     >>>>
>     >>>>    I've been experimenting with different ways to plot the
>     transfer
>     >>>>    functions, and in particular in the context of the
>     >>>>    InteractiveCamera.
>     >>>>
>     >>>>    What are people's thoughts about this behavior:
>     >>>>
>     >>>> http://i.imgur.com/CGZ7Z.png
>     >>>> http://i.imgur.com/OCsVt.jpg
>     >>>> http://i.imgur.com/VNEse.png
>     >>>>
>     >>>>    btw, you can get this behavior by changing your script to call
>     >>>>    pf.h.interactive_camera, and then running in ipython with a
>     >>>>    working matplotlib backend.
>     >>>>
>     >>>>    I'll let Nathan bring up his concerns rather than me try to
>     >>>>    convey them.
>     >>>>
>     >>>>    Sam
>     >>>>
>     >>>>
>     >>>>
>     >>>>    !DSPAM:10175,4fd253db101042955315835!
>     >>>>    _______________________________________________
>     >>>>    yt-dev mailing list
>     >>>> yt-dev at lists.spacepope.org
>     <mailto:yt-dev at lists.spacepope.org>
>     <mailto:yt-dev at lists.spacepope.org
>     <mailto:yt-dev at lists.spacepope.org>>
>     >>>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>     >>>>
>     >>>>
>     >>>>    !DSPAM:10175,4fd253db101042955315835!
>     >>>
>     >>>
>     >>>    _______________________________________________
>     >>>    yt-dev mailing list
>     >>> yt-dev at lists.spacepope.org <mailto:yt-dev at lists.spacepope.org>
>     <mailto:yt-dev at lists.spacepope.org
>     <mailto:yt-dev at lists.spacepope.org>>
>     >>> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>     >>
>     >>
>     >>
>     >>    _______________________________________________
>     >>    yt-dev mailing list
>     >> yt-dev at lists.spacepope.org <mailto:yt-dev at lists.spacepope.org>
>     <mailto:yt-dev at lists.spacepope.org
>     <mailto:yt-dev at lists.spacepope.org>>
>     >>
>     >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>     >>
>     >>
>     >>
>     >>
>     >> _______________________________________________
>     >> yt-dev mailing list
>     >> yt-dev at lists.spacepope.org <mailto:yt-dev at lists.spacepope.org>
>     >> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>     >
>     > _______________________________________________
>     > yt-dev mailing list
>     > yt-dev at lists.spacepope.org <mailto:yt-dev at lists.spacepope.org>
>     > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>     _______________________________________________
>     yt-dev mailing list
>     yt-dev at lists.spacepope.org <mailto:yt-dev at lists.spacepope.org>
>     http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
>
>
>
>
> _______________________________________________
> yt-dev mailing list
> yt-dev at lists.spacepope.org
> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org



More information about the yt-dev mailing list