Given the quick turnaround, I also think it'd be cool to implement yt cookies, which causes chocolate chip cookies to appear on my desk.  Seriously though, this is awesome.<div><br></div><div>Sam<br><br><div class="gmail_quote">

On Thu, May 19, 2011 at 1:52 PM, Matthew Turk <span dir="ltr"><<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

Hi Sam,<br>
<br>
I am totally on board.  I wrote up a quick script that does this -- it<br>
requires both the parameter file and a .yt file, but nothing else.<br>
Here's what the source looks like:<br>
<br>
<a href="http://paste.enzotools.org/show/1645/" target="_blank">http://paste.enzotools.org/show/1645/</a><br>
<br>
I tested this with the 1024 L7, for which I only have the .yt and<br>
parameter file, and it works.  :)<br>
<br>
-Matt<br>
<div><div></div><div class="h5"><br>
On Thu, May 19, 2011 at 1:45 PM, Sam Skillman <<a href="mailto:samskillman@gmail.com">samskillman@gmail.com</a>> wrote:<br>
> I was just thinking about this a bit, and I do think that while we will want<br>
> to roll this into reason, I could also see a use case for a very minimal<br>
> stand-alone viewer that doesn't know about anything outside of a .yt file.<br>
>  I think it could be neat to set up something where you could do yt explore<br>
> DD1234.yt, which brings up all of the data objects that have been stored,<br>
> allowing you to navigate through your saved projections.  Anyways, just<br>
> throwing this out there...I haven't thought it through very much.<br>
> A totally agree with Cameron, this is going to be super awesome.<br>
> Sam<br>
><br>
> On Wed, May 18, 2011 at 2:13 PM, Cameron Hummels<br>
> <<a href="mailto:chummels@astro.columbia.edu">chummels@astro.columbia.edu</a>> wrote:<br>
>><br>
>> This is a super cool idea, especially given what I saw when you demo'd<br>
>> it to me, Matt.  So what you're proposing is a sort of "standalone"<br>
>> version of the applet that allows pan-n-scan in our plot windows, yes?<br>
>> One so that a person could just go to a remote website that had the data<br>
>> on it and be able to move around in that data interactively for<br>
>> presentation to an audience, or basically like a googlemaps interace for<br>
>> a few datasets?<br>
>><br>
>> I think this would be very useful, however, we need to take things one<br>
>> step at a time, I think.  Why don't we implement this in the existing<br>
>> reason for now, and see how that works.  After all, reason will be able<br>
>> to deal with more than just projections of the dataset and more than<br>
>> just looking at it from one perspective, right?  Correct me if I'm<br>
>> wrong, but what you're describing is a scaled down version of this which<br>
>> would only be able to look at the tiles for one perspective's<br>
>> projections?  Because if we want to do more than one perspective, or<br>
>> more than one type of data (slices, projections, off-axis projections,<br>
>> etc.), then we need to store more tiles, right?  Then we need more room<br>
>> for the data, and we need a means in the window of switching between the<br>
>> various views and modes, and then it becomes closer and closer to the<br>
>> original reason.  So what I think we should do is first focus on<br>
>> implementing it with the full suite of tools that we're doing in reason,<br>
>> and THEN if things are slow for the full reason implementation, we could<br>
>> make a reason-light version that scales down the feature set to only<br>
>> pan-n-scan for one mode and one perspective.<br>
>><br>
>> What do you think?<br>
>><br>
>> Oh, btw, I totally want to be involved in this, because it is super<br>
>> awesome.<br>
>><br>
>> Cameron<br>
>><br>
>> On 05/18/2011 01:52 PM, Matthew Turk wrote:<br>
>> > Thanks, Sam!<br>
>> ><br>
>> > As a quick note, I changed all of the PNG writing to not use tempfile<br>
>> > but instead write directly to in-memory, which was a pretty glaring<br>
>> > problem waiting to rear its head.<br>
>> ><br>
>> > I was idly thinking about this yesterday, and after some conversations<br>
>> > I've had with Tom and others I think that one could imagine a very<br>
>> > cool project coming out of this.  The idea would be that the minimum<br>
>> > amount of information to do an entire pan-n-scan is really just the<br>
>> > 5xN array for a given projection or slice: (px, py, pdx, pdy, z).<br>
>> > This is how it currently works -- it simply repixelizes that array for<br>
>> > each tile segment, and returns a PNG of that newly created tile.  The<br>
>> > storage on the backend is really quite small; these 5xN arrays are<br>
>> > much more efficient than creating all the possible tiles in advance.<br>
>> > They're not free in terms of web-server memory, like the tiles would<br>
>> > be, but they're quite inexpensive.  I believe that even for the 1024^3<br>
>> > L7 dataset it was on the order of a hundred megs or so.<br>
>> ><br>
>> > So imagine having a server that lived somewhere that stored a bunch of<br>
>> > these 5xN arrays in memory, along with appropriate metadata.  Go to<br>
>> > the frontend of the server, select one to view, and then having that<br>
>> > dataset pop up.  Although they aren't in the mapserver command, one<br>
>> > can supply annotations and even drawings with the leaflet library.<br>
>> ><br>
>> > (I've basically just described a number of existing services.  Except,<br>
>> > ours would be based on simulation data exclusively and would probably<br>
>> > be able to scale to having many, many datasets!)<br>
>> ><br>
>> > You'd have to implement a frontend, a backend that stored these<br>
>> > datasets, and likely have some kind of garbage collection -- if the<br>
>> > last request for a given dataset was more than N minutes ago, remove<br>
>> > it from memory.  I think this could be a viable, fun project, and<br>
>> > would be really excellent to use as supplemental data for papers and<br>
>> > presentations -- particularly for star formation and cosmology, where<br>
>> > there are a number of points of interest within relatively high<br>
>> > dynamical range.<br>
>> ><br>
>> > Anyway, if someone is interested in working on this, it could be VERY<br>
>> > fun and possibly quite straightforward to implement.  I will confess I<br>
>> > don't know enough about web apps, server deployment and database<br>
>> > backends to move forward on it, but I'd be more than happy to help out<br>
>> > with the data transport and visualization aspects, which I think the<br>
>> > mapserver already has a good start on.  Coming up with money to run<br>
>> > this on, say, EC2 is probably also possible; it may even be reasonable<br>
>> > to think we could make this a project that people in the community<br>
>> > could upload to and use.<br>
>> ><br>
>> > -Matt<br>
>> ><br>
>> > On Wed, May 18, 2011 at 1:37 PM, Sam Skillman <<a href="mailto:samskillman@gmail.com">samskillman@gmail.com</a>><br>
>> > wrote:<br>
>> >> Matt,<br>
>> >> This is awesome, and I'm definitely a +1 on rolling this into reason in<br>
>> >> the<br>
>> >> future.  I'm very tempted to throw this up on a big set of displays,<br>
>> >> and up<br>
>> >> the window size :).<br>
>> >> Well done!<br>
>> >> Sam<br>
>> >> On Wed, May 18, 2011 at 1:42 AM, Matthew Turk <<a href="mailto:matthewturk@gmail.com">matthewturk@gmail.com</a>><br>
>> >> wrote:<br>
>> >>> Thanks for the positive feedback, Stephen -- I'm pretty excited about<br>
>> >>> this, too.<br>
>> >>><br>
>> >>> As a stopgap before it gets rolled into reason, which may end up being<br>
>> >>> sort of tricky, I have added a "mapserver" command to the yt command<br>
>> >>> line utility.  If you update your installation, you can do:<br>
>> >>><br>
>> >>> yt mapserver DD0030/DD0030<br>
>> >>><br>
>> >>> and it'll spawn on <a href="http://127.0.0.1:8080/" target="_blank">http://127.0.0.1:8080/</a>  , which you can then open<br>
>> >>> in your browser.  There are a couple options for this command, too --<br>
>> >>> axis, field, projection, and weight, which you can see with --help.<br>
>> >>><br>
>> >>> -Matt<br>
>> >>><br>
>> >>> On Tue, May 17, 2011 at 4:15 PM, Stephen Skory <<a href="mailto:s@skory.us">s@skory.us</a>> wrote:<br>
>> >>>> Hi Matt,<br>
>> >>>><br>
>> >>>>> I'd love it if people could download and try it out.  If you have yt<br>
>> >>>>> installed, then you don't need anything other than this repo:<br>
>> >>>> I just gave it a go on a couple datasets and it worked pretty well!<br>
>> >>>> The periodicity is handled interestingly - just like Google Maps<br>
>> >>>> where<br>
>> >>>> you can pan left and right and get the same thing, but up and down<br>
>> >>>> cuts off the data. Really neat!<br>
>> >>>><br>
>> >>>> --<br>
>> >>>> Stephen Skory<br>
>> >>>> <a href="mailto:s@skory.us">s@skory.us</a><br>
>> >>>> <a href="http://stephenskory.com/" target="_blank">http://stephenskory.com/</a><br>
>> >>>> <a href="tel:510.621.3687" value="+15106213687">510.621.3687</a> (google voice)<br>
>> >>>> _______________________________________________<br>
>> >>>> Yt-dev mailing list<br>
>> >>>> <a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
>> >>>> <a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
>> >>>><br>
>> >>> _______________________________________________<br>
>> >>> Yt-dev mailing list<br>
>> >>> <a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
>> >>> <a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
>> >><br>
>> >> _______________________________________________<br>
>> >> Yt-dev mailing list<br>
>> >> <a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
>> >> <a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
>> >><br>
>> >><br>
>> > _______________________________________________<br>
>> > Yt-dev mailing list<br>
>> > <a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
>> > <a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
>> ><br>
>><br>
>> --<br>
>> Cameron Hummels<br>
>> PhD Candidate, Astronomy Department of Columbia University<br>
>> Public Outreach Director, Astronomy Department of Columbia University<br>
>> NASA IYA New York State Student Ambassador<br>
>> <a href="http://outreach.astro.columbia.edu" target="_blank">http://outreach.astro.columbia.edu</a><br>
>> PGP: 0x06F886E3<br>
>><br>
>> _______________________________________________<br>
>> Yt-dev mailing list<br>
>> <a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
>> <a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
><br>
><br>
> _______________________________________________<br>
> Yt-dev mailing list<br>
> <a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
> <a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
><br>
><br>
_______________________________________________<br>
Yt-dev mailing list<br>
<a href="mailto:Yt-dev@lists.spacepope.org">Yt-dev@lists.spacepope.org</a><br>
<a href="http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org" target="_blank">http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org</a><br>
</div></div></blockquote></div><br></div>