<P>Thanks Peter,</P><P>I should have known about the conversion &nbsp;:o</P><P>Met vriendelijke groeten,<BR><BR>Remco Jager<BR><BR>MAPPER Lithography<BR>Lorentzweg 1<BR>2628 CJ Delft, The Netherlands<BR>tel.: +31 (0)15 2789439 <BR>fax: +31 (0)15-2789473<BR><A HREF=http://www.mapperlithography.com>http://www.mapperlithography.com</A><BR><BR>This e-mail, attachments and (any part of) its content are (i) intended for the named addressee(s) only and (ii) strictly confidential and proprietary. All rights are reserved by MAPPER Lithography. Any unauthorized use, disclosure and/or copying are strictly prohibited, except with prior and express written permission by MAPPER Lithography. Should you have received this e-mail, attachments and its content by mistake, please bring this to our attention and destroy this e-mail and attachments in full. Thank you.</P><P>&nbsp;<BR><FONT SIZE=2><B>Peter Verveer &lt;verveer@embl-heidelberg.de&gt;</B></FONT><BR><FONT SIZE=2>12/16/2003 10:54 AM</FONT><BR><BR> <FONT SIZE=2>To:</FONT> <FONT SIZE=2>R.Jager@mapperlithography.com</FONT><BR> <FONT SIZE=2>cc:</FONT> <FONT SIZE=2>numpy-discussion@lists.sourceforge.net</FONT><BR> <FONT SIZE=2>bcc:</FONT> <BR> <FONT SIZE=2>Subject:</FONT> <FONT SIZE=2>Re: [Numpy-discussion] Convolve returning zero array</FONT><BR> <BR><BR></P><P><FONT FACE="Monospace,Courier">Hi Remco,<BR></FONT><BR><FONT FACE="Monospace,Courier">&gt; OK, here is the example:<BR></FONT><BR><FONT FACE="Monospace,Courier">[code deleted]<BR></FONT><BR><FONT FACE="Monospace,Courier">&gt; When I run this code, the first convolution gives an array of zeros, the<BR>&gt; second convolution is good.<BR></FONT><BR><FONT FACE="Monospace,Courier">The problem is that the output of the convolve functions (both the convolve<BR>and the nd_image versions) return the result with the same type as the input.<BR>In your first case the input was of Bool type and thus the result could only<BR>be 0 or 1. Conversion to Float64 before calculation seems to fix the problem.<BR>(I inserted 'data1 = inputarray(data1, Float64)' before the function call.)<BR>Alternatively in nd_image.convolve1d you can use the output_type flag to save<BR>you the conversion.<BR></FONT><BR><FONT FACE="Monospace,Courier">&gt; I also did a quick try with convolve from nd_image, but this function was<BR>&gt; slower than the convolve from numarray with a large Gaussian distribution.<BR></FONT><BR><FONT FACE="Monospace,Courier">Yes, nd_image convolve is designed for the general multi-dimensional case and<BR>may therefore be slower in some cases. Also I think the convolve version uses<BR>an internal conversion of the input to double type which appears to faster.<BR>The nd_image version does not do that because for large multi-dimensional<BR>arrays that may cost a lot of memory. I think if you do the conversion to<BR>Float64 before the speed should be closer. For one-dimensional cases, you<BR>should probably just stick to the convolve version.<BR></FONT><BR><FONT FACE="Monospace,Courier">I hope this solved your problem.<BR></FONT><BR><FONT FACE="Monospace,Courier">Cheers, Peter<BR></FONT><BR><FONT FACE="Monospace,Courier">--<BR>Dr. Peter J. Verveer<BR>Cell Biology and Cell Biophysics Programme<BR>European Molecular Biology Laboratory<BR>Meyerhofstrasse 1<BR>D-69117 Heidelberg<BR>Germany<BR>Tel. : +49 6221 387245<BR>Fax &nbsp;: +49 6221 387306</FONT></P>