<br><br><div class="gmail_quote">On Fri, Sep 16, 2011 at 10:18 AM, Benjamin Landenberger <span dir="ltr"><<a href="mailto:benjamin.landenberger@imtek.uni-freiburg.de">benjamin.landenberger@imtek.uni-freiburg.de</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">Hello list!<br>
<br>
I have an array *mask* of shape (a, b) and another array *intensities*<br>
of shape (N, a, b), where the values in *mask* range from 0 to N-1. It<br>
is somehow similar to label arrays in scipy.ndimage.<br>
<br>
Now I want to pick those entries from the first dimension of<br>
*intensities* which are given by *mask*. The returned array shall again<br>
wave shape (a, b).<br>
<br>
Can this be done with fancy indexing?<br></blockquote><div><br><br>The choose() function can be used:<br><br> In [19]: intensities<br>Out[19]: <br>array([[[ 1, 2, 3],<br> [ 4, 5, 6],<br> [ 7, 8, 9]],<br>
<br> [[11, 12, 13],<br> [14, 15, 16],<br> [17, 18, 19]],<br><br> [[21, 22, 23],<br> [24, 25, 26],<br> [27, 28, 29]]])<br><br>In [20]: mask<br>Out[20]: <br>array([[0, 0, 1],<br> [1, 1, 1],<br>
[1, 2, 2]])<br><br>In [21]: choose(mask, intensities)<br>Out[21]: <br>array([[ 1, 2, 13],<br> [14, 15, 16],<br> [17, 28, 29]])<br><br><br>Warren<br><br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
<br>
Thank you,<br>
<br>
Ben<br>
<br>
_______________________________________________<br>
NumPy-Discussion mailing list<br>
<a href="mailto:NumPy-Discussion@scipy.org">NumPy-Discussion@scipy.org</a><br>
<a href="http://mail.scipy.org/mailman/listinfo/numpy-discussion" target="_blank">http://mail.scipy.org/mailman/listinfo/numpy-discussion</a><br>
</blockquote></div><br>