小编Ben*_*tch的帖子

使用PyArray_SimpleNewFromData()创建数组并返回时,Python扩展中的内存泄漏

我写了一个简单的Python扩展模块来模拟一个3位模数转换器.它应该接受一个浮点数组作为其输入,以返回相同大小的输出数组.输出实际上由量化输入数字组成.这是我的(简化)模块:

static PyObject *adc3(PyObject *self, PyObject *args) {
  PyArrayObject *inArray = NULL, *outArray = NULL;
  double *pinp = NULL, *pout = NULL;
  npy_intp nelem;
  int dims[1], i, j;

  /* Get arguments:  */
  if (!PyArg_ParseTuple(args, "O:adc3", &inArray))
    return NULL;

  nelem = PyArray_DIM(inArray,0); /* size of the input array */
  pout = (double *) malloc(nelem*sizeof(double));
  pinp = (double *) PyArray_DATA(inArray);

  /*   ADC action   */
  for (i = 0; i < nelem; i++) {
    if (pinp[i] >= -0.5) {
    if      (pinp[i] < 0.5) …
Run Code Online (Sandbox Code Playgroud)

python arrays memory-leaks numpy

8
推荐指数
1
解决办法
1409
查看次数

Inkscape搞砸EPS文件

我一直在尝试使用Inkscape为我的科学论文准备图稿图形.我使用LaTeX,我需要将我的数据准备为高质量的封装PostScript(EPS)图像.工单如下.首先,我使用matplotlib绘制我的图形的一部分并以EPS格式保存它们.其次,我启动Inkscape并导入EPS文件.使用Inkscape我组合一个数字,留下所需的对象,杀死不需要的东西,并添加一些标记.所以我曾经在Windows中使用CorelDraw时做过,但现在我在Linux上工作.

不幸的是,Inkscape会破坏EPS文件:它会改变颜色并且不会保存所有对象.在过去的几年里,我试图寻找解决方案,但我找不到人们的抱怨.投诉(在网上找到)与从svg导出到eps或返回时的"不正确的字体渲染"有关.(对我来说这不是问题 - 文本总是可以表示为曲线).

我目前在Mandriva Linux 2010工作并使用Inkscape版本0.47 r22583(2010年1月14日).在某处我读到这些问题可能是由一些过时的cairo版本引起的 - 我的是1.9.14.我花了很多精力去建造更新的开罗(1.12.14),但我还远没有达到目的.我在系统中共存的32位和64位库中感到困惑......

我将非常感谢任何有类似问题的人,并且可能会进一步向解决方案迈进.让我来说明问题.

对不起,我没有足够的声望点既不发布图片也不插入2个以上的链接,所以,请查看我的livejournal页面中的图片副本:

http://benkev.livejournal.com/1093.html

数字标题如下.

(1)以下是我想在一张图中合并的三个eps图像:

(2)这是我在Inkscape中导入图像并以SVG格式保存后得到的结果.注意颜色和分辨率失真.另外,我在感兴趣的特征周围绘制了三个红色圆圈.

(3)这是我将这个数字导出到EPS文件时得到的结果.人们可以注意到三个红色圆圈中的一个消失了:只留下两个圆圈!

谢谢!

latex eps inkscape cairo

7
推荐指数
2
解决办法
1万
查看次数

标签 统计

arrays ×1

cairo ×1

eps ×1

inkscape ×1

latex ×1

memory-leaks ×1

numpy ×1

python ×1