<html dir="ltr">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" id="owaParaStyle"></style>
</head>
<body fpstyle="1" ocsi="0" bgcolor="#FFFFFF">
<div style="direction: ltr;font-family: Tahoma;color: #000000;font-size: 10pt;">
<div>Hi,</div>
<div><br>
</div>
<div>Ok, where can I send the bug report? I will construct the minimal example ASAP.</div>
<div><br>
</div>
<div>Best,</div>
<div>Antigone<br>
</div>
<div style="font-family: Times New Roman; color: #000000; font-size: 16px">
<hr tabindex="-1">
<div id="divRpF815951" style="direction: ltr;"><font size="2" face="Tahoma" color="#000000"><b>De :</b> AstroPy [astropy-bounces+antigone.lambert-huyghe=cea.fr@python.org] de la part de Simon Conseil [simon@sconseil.fr]<br>
<b>Envoyé :</b> lundi 26 août 2019 11:59<br>
<b>À :</b> astropy@python.org<br>
<b>Objet :</b> Re: [AstroPy] Problem with the latest version of astropy and numpy<br>
</font><br>
</div>
<div></div>
<div>
<p>Hi,</p>
<p>It is indeed weird that it tries to convert to a quantity if you are using Numpy arrays. There were significant changes in the convolution sub-package in Astropy 3.2 so this is probably worth a bug report, and ideally adding a minimal example to reproduce
 the issue (showing how you build the kernel).</p>
<p>Best,</p>
<p>Simon<br>
</p>
<div class="moz-cite-prefix">Le 26/08/2019 à 09:24, LAMBERT-HUYGHE Antigone a écrit :<br>
</div>
<blockquote type="cite">
<pre class="moz-quote-pre">Hi,

I re-installed previous versions, more precisely 3.0.4 for astropy and 1.16.4 for numpy. The things are going well, with no error, and the convolution is well done, for any size of map. So I'm sure it is due to new versions of astropy (or numpy).

I don't understant why it should be a quantity, because I'm not using directly _result_as_quantity(), but astropy.convolution.convolve(), for which the doc is the following:

convolve(array, kernel, boundary='fill', fill_value=0.0, nan_treatment='interpolate', normalize_kernel=True, mask=None, preserve_nan=False, normalization_zero_tol=1e-08)

Parameters

array NDData<a class="moz-txt-link-rfc2396E" href="https://docs.astropy.org/en/stable/api/astropy.nddata.NDData.html#astropy.nddata.NDData" target="_blank" rel="noopener noreferrer"><https://docs.astropy.org/en/stable/api/astropy.nddata.NDData.html#astropy.nddata.NDData></a> or numpy.ndarray<a class="moz-txt-link-rfc2396E" href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray" target="_blank" rel="noopener noreferrer"><https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray></a> or array-like

The array to convolve. This should be a 1, 2, or 3-dimensional array or a list or a set of nested lists representing a 1, 2, or 3-dimensional array. If an NDData<a class="moz-txt-link-rfc2396E" href="https://docs.astropy.org/en/stable/api/astropy.nddata.NDData.html#astropy.nddata.NDData" target="_blank" rel="noopener noreferrer"><https://docs.astropy.org/en/stable/api/astropy.nddata.NDData.html#astropy.nddata.NDData></a>, the mask of the NDData<a class="moz-txt-link-rfc2396E" href="https://docs.astropy.org/en/stable/api/astropy.nddata.NDData.html#astropy.nddata.NDData" target="_blank" rel="noopener noreferrer"><https://docs.astropy.org/en/stable/api/astropy.nddata.NDData.html#astropy.nddata.NDData></a> will be used as the mask argument.

kernel numpy.ndarray<a class="moz-txt-link-rfc2396E" href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray" target="_blank" rel="noopener noreferrer"><https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray></a> or Kernel<a class="moz-txt-link-rfc2396E" href="https://docs.astropy.org/en/stable/api/astropy.convolution.Kernel.html#astropy.convolution.Kernel" target="_blank" rel="noopener noreferrer"><https://docs.astropy.org/en/stable/api/astropy.convolution.Kernel.html#astropy.convolution.Kernel></a>

The convolution kernel. The number of dimensions should match those for the array, and the dimensions should be odd in all directions. If a masked array, the masked values will be replaced by fill_value.

[...]
Returns

result numpy.ndarray<a class="moz-txt-link-rfc2396E" href="https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray" target="_blank" rel="noopener noreferrer"><https://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html#numpy.ndarray></a>

An array with the same dimensions and as the input array, convolved with kernel. The data type depends on the input array type. If array is a floating point type, then the return array keeps the same data type, otherwise the type is numpy.float.

I don't understand why this function is now using _result_as_quantity(), from what I checked in the source code it is indirect use. But from the doc I can use numpy arrays as input for the map to convolve.

Best,

Antigone
________________________________
De : AstroPy [<a class="moz-txt-link-abbreviated" href="mailto:astropy-bounces+antigone.lambert-huyghe=cea.fr@python.org" target="_blank" rel="noopener noreferrer">astropy-bounces+antigone.lambert-huyghe=cea.fr@python.org</a>] de la part de Kenneth Anderson [<a class="moz-txt-link-abbreviated" href="mailto:kanderso@gemini.edu" target="_blank" rel="noopener noreferrer">kanderso@gemini.edu</a>]
Envoyé : vendredi 23 août 2019 17:04
À : Astronomical Python mailing list
Objet : Re: [AstroPy] Problem with the latest version of astropy and numpy

Hi Antigone,

I cannot be sure how this problem arises for you, but what can be said is that an AttributeError thrown from the numpy object is way off base for that function. According the docstr on the _result_as_quantity(), the return object, i.e. the  'out' object, should be an astropy.units.Quantity object, not a numpy object.

It is unclear where things got confused in the call stack: perhaps an incorrect object type was passed initially? You may want to absolutely ensure that this did work under the previous versions. And if so, then it would seem something is amiss in that astropy call stack.

>From the docstr:
---------------------
_result_as_quantity(self, result, unit, out):
        [ ... ]
        Parameters
        ----------
        result : `~numpy.ndarray` or tuple of `~numpy.ndarray`
            Array(s) which need to be turned into quantity.
        unit : `~astropy.units.Unit` or None
            Unit for the quantities to be returned (or `None` if the result
            should not be a quantity).  Should be tuple if result is a tuple.
        out : `~astropy.units.Quantity` or None
            Possible output quantity. Should be `None` or a tuple if result
            is a tuple.

        Returns
        -------
        out : `~astropy.units.Quantity`
           With units set.

salud,
k



</pre>
<br>
<fieldset class="mimeAttachmentHeader" target="_blank" rel="noopener noreferrer">
</fieldset>
<pre class="moz-quote-pre">_______________________________________________
AstroPy mailing list
<a class="moz-txt-link-abbreviated" href="mailto:AstroPy@python.org" target="_blank" rel="noopener noreferrer">AstroPy@python.org</a>
<a class="moz-txt-link-freetext" href="https://mail.python.org/mailman/listinfo/astropy" target="_blank" rel="noopener noreferrer">https://mail.python.org/mailman/listinfo/astropy</a>
</pre>
</blockquote>
</div>
</div>
</div>
</body>
</html>