Request for review of "minimal image" structure
Hi all, I've been thinking about the best way to construct minimal image representations, which feed into the Reason / plotting refactor ideas. I started sketching out a minimally-reproducible phase plot in yt/visualization/profile_plotter.py, in the objects AxisSpec ColorbarSpec ImagePlotContainer I think that as it stands it encompasses how to save and then recreate a (simply) visualization, but I was wondering if some other people could look that over, and help me come up with ideas for what would be necessary to also make sure it faithfully represents image plots, 1D line plots, and so on. IT doesn't need to cover all possibilities, just the basic ones. Anyway, ideas would be greatly appreciated! Thanks! -Matt
Hi Matt,
Anyway, ideas would be greatly appreciated! Thanks!
As far as I can tell it looks OK. I have one question, in the docstring for PhasePlotter.__init()__, you name 'massages data'. I have no idea what that is. Will it be clear from the context eventually? -- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice)
Hi Stephen, That just means, if you don't want a sphere, or if you want to hand-create fields inside that object. It should say "massaged." This typo has persisted from the plot_collection, it seems. Sorry that the typo wasn't obvious -- thanks for the thumbs up. Hopefully we can start moving toward minimal definitions of what plots represent, and then we can start doing things like pickling and so on, and get away from this that we have to do to make colorbars and zlims and labels all match up nicely, which has long been problematic. I am optimistic that by defining *what* we want to make available, we can better do so. Anybody else think we're missing anything that would *constitute* an image or phase plot? -Matt On Fri, Apr 29, 2011 at 2:09 PM, Stephen Skory <s@skory.us> wrote:
Hi Matt,
Anyway, ideas would be greatly appreciated! Thanks!
As far as I can tell it looks OK. I have one question, in the docstring for PhasePlotter.__init()__, you name 'massages data'. I have no idea what that is. Will it be clear from the context eventually?
-- Stephen Skory s@skory.us http://stephenskory.com/ 510.621.3687 (google voice) _______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
Matt, One thing to think very hard about is that reason *must* be able to generate publication quality plots. Of course, this is *very* hard, and we don't need our minimal image system to handle that. One way toward doing that is to make sure the system has a direct mapping to matplotlib for publication quality plots. If we do that, then we maintain the system for putting things over the wire to Reason, but we can always generate a more beautiful eps/pdf for publication when necessary. j On Fri, Apr 29, 2011 at 5:57 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
I've been thinking about the best way to construct minimal image representations, which feed into the Reason / plotting refactor ideas. I started sketching out a minimally-reproducible phase plot in yt/visualization/profile_plotter.py, in the objects
AxisSpec ColorbarSpec ImagePlotContainer
I think that as it stands it encompasses how to save and then recreate a (simply) visualization, but I was wondering if some other people could look that over, and help me come up with ideas for what would be necessary to also make sure it faithfully represents image plots, 1D line plots, and so on. IT doesn't need to cover all possibilities, just the basic ones.
Anyway, ideas would be greatly appreciated! Thanks!
-Matt _______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
I think Jeff's right about keeping a mapping to matplotlib. We get into trouble when we try to have our own system for setting fonts, labels, etc. If we can just hand the user back a figure or an axes object with their image inside of it, then people can do whatever they want with it using all the stuff matplotlib has to offer. Britton On Tue, May 3, 2011 at 5:18 PM, j s oishi <jsoishi@gmail.com> wrote:
Matt,
One thing to think very hard about is that reason *must* be able to generate publication quality plots. Of course, this is *very* hard, and we don't need our minimal image system to handle that. One way toward doing that is to make sure the system has a direct mapping to matplotlib for publication quality plots. If we do that, then we maintain the system for putting things over the wire to Reason, but we can always generate a more beautiful eps/pdf for publication when necessary.
j
On Fri, Apr 29, 2011 at 5:57 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
I've been thinking about the best way to construct minimal image representations, which feed into the Reason / plotting refactor ideas. I started sketching out a minimally-reproducible phase plot in yt/visualization/profile_plotter.py, in the objects
AxisSpec ColorbarSpec ImagePlotContainer
I think that as it stands it encompasses how to save and then recreate a (simply) visualization, but I was wondering if some other people could look that over, and help me come up with ideas for what would be necessary to also make sure it faithfully represents image plots, 1D line plots, and so on. IT doesn't need to cover all possibilities, just the basic ones.
Anyway, ideas would be greatly appreciated! Thanks!
-Matt _______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
Agreed. Matplotlib has a lot of functionality behind it. I've been getting terribly mixed up over the last couple weeks trying to put together figures using different methods--some matplotlib, some not. Sticking with one official method seems like the best plan and easier from our perspective too. Cameron On 05/03/2011 05:41 PM, Britton Smith wrote:
I think Jeff's right about keeping a mapping to matplotlib. We get into trouble when we try to have our own system for setting fonts, labels, etc. If we can just hand the user back a figure or an axes object with their image inside of it, then people can do whatever they want with it using all the stuff matplotlib has to offer.
Britton
On Tue, May 3, 2011 at 5:18 PM, j s oishi <jsoishi@gmail.com <mailto:jsoishi@gmail.com>> wrote:
Matt,
One thing to think very hard about is that reason *must* be able to generate publication quality plots. Of course, this is *very* hard, and we don't need our minimal image system to handle that. One way toward doing that is to make sure the system has a direct mapping to matplotlib for publication quality plots. If we do that, then we maintain the system for putting things over the wire to Reason, but we can always generate a more beautiful eps/pdf for publication when necessary.
j
On Fri, Apr 29, 2011 at 5:57 AM, Matthew Turk <matthewturk@gmail.com <mailto:matthewturk@gmail.com>> wrote: > Hi all, > > I've been thinking about the best way to construct minimal image > representations, which feed into the Reason / plotting refactor ideas. > I started sketching out a minimally-reproducible phase plot in > yt/visualization/profile_plotter.py, in the objects > > AxisSpec > ColorbarSpec > ImagePlotContainer > > I think that as it stands it encompasses how to save and then recreate > a (simply) visualization, but I was wondering if some other people > could look that over, and help me come up with ideas for what would be > necessary to also make sure it faithfully represents image plots, 1D > line plots, and so on. IT doesn't need to cover all possibilities, > just the basic ones. > > Anyway, ideas would be greatly appreciated! Thanks! > > -Matt > _______________________________________________ > Yt-dev mailing list > Yt-dev@lists.spacepope.org <mailto:Yt-dev@lists.spacepope.org> > http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org > _______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org <mailto:Yt-dev@lists.spacepope.org> http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
-- Cameron Hummels PhD Candidate, Astronomy Department of Columbia University Public Outreach Director, Astronomy Department of Columbia University NASA IYA New York State Student Ambassador http://outreach.astro.columbia.edu PGP: 0x06F886E3
Hi all, Okay -- sorry, I should have been clearer. I don't want to *replace* Matplotlib, I want to have something that can map to matplotlib or reason or whatever, and that can be stored and pickled in between sessions. I think the idea was to come up with a small subset of things that could describe, from yt's perspective, all that yt-with-access-to-raw-data can provide, and then let the user (later on, when without access to the raw data) load this back in, map it either to reason or to a matplotlib plot, and then make their tweaks to it. THe idea is to make it empowering for the user to get a little bit of something, tweak it, make their figure, and be done. And they shouldn't need access to a 35GB dataset to do this. Right now, that kind of disconnected plot preparation is difficult. And it kind of sounds like we're in agreement that this is a good start, and hits a number of the bases? Is there anything else we'd want, from yt's perspective, to dump into an "image plot" object? Thanks a ton for your feedback! -Matt On Tue, May 3, 2011 at 2:48 PM, Cameron Hummels <chummels@astro.columbia.edu> wrote:
Agreed. Matplotlib has a lot of functionality behind it. I've been getting terribly mixed up over the last couple weeks trying to put together figures using different methods--some matplotlib, some not. Sticking with one official method seems like the best plan and easier from our perspective too.
Cameron
On 05/03/2011 05:41 PM, Britton Smith wrote:
I think Jeff's right about keeping a mapping to matplotlib. We get into trouble when we try to have our own system for setting fonts, labels, etc. If we can just hand the user back a figure or an axes object with their image inside of it, then people can do whatever they want with it using all the stuff matplotlib has to offer.
Britton
On Tue, May 3, 2011 at 5:18 PM, j s oishi <jsoishi@gmail.com> wrote:
Matt,
One thing to think very hard about is that reason *must* be able to generate publication quality plots. Of course, this is *very* hard, and we don't need our minimal image system to handle that. One way toward doing that is to make sure the system has a direct mapping to matplotlib for publication quality plots. If we do that, then we maintain the system for putting things over the wire to Reason, but we can always generate a more beautiful eps/pdf for publication when necessary.
j
On Fri, Apr 29, 2011 at 5:57 AM, Matthew Turk <matthewturk@gmail.com> wrote:
Hi all,
I've been thinking about the best way to construct minimal image representations, which feed into the Reason / plotting refactor ideas. I started sketching out a minimally-reproducible phase plot in yt/visualization/profile_plotter.py, in the objects
AxisSpec ColorbarSpec ImagePlotContainer
I think that as it stands it encompasses how to save and then recreate a (simply) visualization, but I was wondering if some other people could look that over, and help me come up with ideas for what would be necessary to also make sure it faithfully represents image plots, 1D line plots, and so on. IT doesn't need to cover all possibilities, just the basic ones.
Anyway, ideas would be greatly appreciated! Thanks!
-Matt _______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
-- Cameron Hummels PhD Candidate, Astronomy Department of Columbia University Public Outreach Director, Astronomy Department of Columbia University NASA IYA New York State Student Ambassador http://outreach.astro.columbia.edu PGP: 0x06F886E3
_______________________________________________ Yt-dev mailing list Yt-dev@lists.spacepope.org http://lists.spacepope.org/listinfo.cgi/yt-dev-spacepope.org
participants (5)
-
Britton Smith
-
Cameron Hummels
-
j s oishi
-
Matthew Turk
-
Stephen Skory