<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class=""><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div>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).</div></div></blockquote><div><br></div></span><div>This hasn't been implemented.</div><span><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div><br></div><div>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?</div></div></blockquote><div><br></div></span><div>The data selection API was completely rewritten.</div></blockquote><div><br></div><div>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"?)</div></div></div></div></blockquote><div><br></div></span><div>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.<span></span></div><div><br></div><div>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.</div></blockquote><div><br></div><div>OK, this is useful.  I will think about it a bit.  Thanks!</div></div></div></div>