One issue: what happens when you use the plot callbacks (e.g. the methods like annotate_grids() that hang off the other PlotWindow plots)? Some of the callbacks make sense for all plots (i.e. they just add a line, arrow, or shape), others depend on metadata for a dataset. For your case, you'd have to somehow combine the metadata from two datasets, i guess?

Another option is to blacklist callbacks that don't make any sense, see:

https://bitbucket.org/yt_analysis/yt/src/yt/yt/visualization/plot_window.py#plot_window.py-1783

On Tue, Dec 20, 2016 at 4:45 PM, Matthew Krafczyk <krafczyk.matthew@gmail.com> wrote:
Hi folks,

I'm currently working on implementing a couple of plots to help investigate differences between two similar datasets.

I've implemented DifferenceProjectionPlot, RelativeDifferenceProjectionPlot, and AsymmetryProjectionPlot.

These are available at my fork of yt https://bitbucket.org/krafczyk/yt under the bookmark 'features/difference_plot'.

Essentially, Each of these Plots is a subclass of PWViewerMPL like ProjectionPlot, but create's it's FRB by first creating FRBs for the two data sets then applying an operation to each pixel value to get a new derived value which is a part of the new FRB.

For DifferenceProjectionPlot this is simply A-B
For RelativeDifferenceProjectionPlot this is (A-B)/A
For AsymmetryProjectionPlot this is (A-B)/(A+B)

It's already been suggested to me that I can avoid creating three new classes by moving the choice of combination algorithm to a keyword argument, but I'd like to hear more suggestions.

Thanks,
Matthew Krafczyk

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