On Friday, June 10, 2016, Brian O'Shea <bwoshea@gmail.com> wrote:
Hi Nathan,

I've stumbled across across a research task that could really use yt's Boolean data object feature, and according to the documentation it is not implemented in yt-3.  Have boolean data objects been replaced by something else?  I know there are various filtering methods in yt, but what I really need to do is spatial filtering (i.e., data in a sphere with some chunks of the sphere excised).

This hasn't been implemented.

In principle I'd be happy to take a crack at re-implementing it, although I might need some help.  Could somebody give me a sense of why it wasn't ported to yt-3 when the changeover was made?

The data selection API was completely rewritten.

How difficult might it be to re-implement the boolean data objects in the new data selection API?  (I suppose the question is really "how difficult might it be for somebody who is a decent programmer but not an expert in yt's internals to do so"?)

I'm not sure, offhand. Probably very hard if you want to use the eval-style way of contrusting the data objects using a string written in Python, since data selection happens at a lower level in yt now. See selection_routines.pyx for more details about how this works.

It is possible to combine data objects by chaining data_source keyword arguments, (e.g. one can create a half-sphere data object by chaining a region that selects only half a sphere with a sphere data object). It may be possible to generalize that somehow.