小编man*_*off的帖子

只需一个文件的Git pull请求

我对Git存储库中的两个文件进行了多处更改(具体来说,添加了两个brew公式).

我个别提交了更改:

git commit file1
git commit file2
Run Code Online (Sandbox Code Playgroud)

然后我向GitHub推了一下:

git push git@github.com:myname/homebrew.git
Run Code Online (Sandbox Code Playgroud)

我现在想向上游存储库发送两个pull请求,一个用于file1,一个用于file2.这可能吗?

git homebrew github pull-request

22
推荐指数
2
解决办法
4万
查看次数

如何在matplotlib中调整(偏移)colorbar标题

给出以下代码:

imshow(np.arange(16*16).reshape(16,16))
cb = colorbar()
cb.set_label("Foo")
cb.set_ticks([0,255])
Run Code Online (Sandbox Code Playgroud)

哪个产生:

在此输入图像描述

如何调整颜色条文本"Foo",使其向左偏移,在0和255之间,更接近颜色条,减少不需要的空白?

matplotlib alignment colorbar

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

Numpy和16位PGM

使用numpy在Python中读取16位PGM图像的有效且清晰的方法是什么?

由于PIL错误,我无法使用PIL加载16位PGM图像.我可以使用以下代码读取标题:

dt = np.dtype([('type', 'a2'),
               ('space_0', 'a1', ),
               ('x', 'a3', ),
               ('space_1', 'a1', ),
               ('y', 'a3', ),
               ('space_2', 'a1', ),
               ('maxval', 'a5')])
header = np.fromfile( 'img.pgm', dtype=dt )
print header
Run Code Online (Sandbox Code Playgroud)

这打印出正确的数据:('P5', ' ', '640', ' ', '480', ' ', '65535')但我感觉这不是最好的方式.除此之外,我无法弄清楚如何在x的y(在这种情况下为640x480)中读取以下数据,读取偏移量为16位size(header).

编辑:图像添加

读取和显示图像的MATLAB代码是:

I = imread('foo.pgm'); 
imagesc(I);
Run Code Online (Sandbox Code Playgroud)

看起来像这样:

在此输入图像描述

python numpy pgm 16-bit

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

Python和16位Tiff

如何在Python中转换和保存16位单通道TIF?

我可以毫无问题地加载16位和32位图像,并看到32位图像是模式F,16位图像是模式I;16S:

import Image
i32 = Image.open('32.tif')
i16 = Image.open('16.tif')
i32
# <TiffImagePlugin.TiffImageFile image mode=F size=2000x1600 at 0x1098E5518>
i16
# <TiffImagePlugin.TiffImageFile image mode=I;16S size=2000x1600 at 0x1098B6DD0>
Run Code Online (Sandbox Code Playgroud)

但我在使用16位图像时遇到问题.如果我想保存为PNG,我不能直接这样做:

i32.save('foo.png')
# IOError: cannot write mode F as PNG
i16.save('foo.png')
# ValueError: unrecognized mode
Run Code Online (Sandbox Code Playgroud)

如果我转换32位图像,我可以保存它:

i32.convert('L').save('foo.png')
Run Code Online (Sandbox Code Playgroud)

但是相同的命令不适用于16位图像:

i16.convert('L').save('foo.png')
# ValueError: unrecognized mode
Run Code Online (Sandbox Code Playgroud)

python tiff 16-bit

13
推荐指数
3
解决办法
2万
查看次数

Python Matplotlib线图与contour/imshow对齐

如何使用Python和Matplotlib将一个子图的视觉宽度设置为等于另一个子图的宽度?第一个图具有固定的宽高比和imshow的正方形像素.然后我想在它下面放一个线条图,但我不能这样做并让一切都对齐.

我很确定该解决方案涉及此转换教程页面上的信息.我尝试过使用fig.transFigure,ax.transAxes,ax.transData等,但还没有成功.我需要在上面板中找到轴的宽度和高度以及偏移,然后能够在下面板中设置轴的宽度,高度和偏移.不应包括轴标签和刻度线等,也不应更改对齐方式.

例如,以下代码

fig = plt.figure(1)
fig.clf()

data = np.random.random((3,3))
xaxis = np.arange(0,3)
yaxis = np.arange(0,3)

ax = fig.add_subplot(211)
ax.imshow(data, interpolation='none')
c = ax.contour(xaxis, yaxis, data, colors='k')

ax2 = fig.add_subplot(212)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述

python matplotlib

9
推荐指数
2
解决办法
3550
查看次数

如何在MATLAB中设置自定义默认色彩映射?

有人问这个问题,在其他地方,被告知有一个"暗示" 在这里,但我很新的MATLAB并没有看到如何使用提示.

我有一个文件cmap.mat.我加载它并更新colormap如下:

load cmap.mat;
colormap(cmap);
Run Code Online (Sandbox Code Playgroud)

但它只适用于当前的数字.我希望所有的数字都能使用这个色彩图.

matlab default properties colors

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

Python和16位PGM

我有16位PGM图像,我试图用Python阅读.似乎(?)像PIL不支持这种格式?

import Image
im = Image.open('test.pgm')
im.show()
Run Code Online (Sandbox Code Playgroud)

大致显示图像,但它不对.整个都有暗带,据报道img有mode=L.我认为这与我早期关于16位TIFF文件的问题有关.PIL只是不支持它的16位是罕见的吗?有什么建议我如何使用PIL或其他标准库或本土代码读取Python中的16位PGM文件?

python pgm 16-bit python-imaging-library

5
推荐指数
1
解决办法
5728
查看次数

我可以装饰显式函数调用,如np.sqrt()

我对python函数装饰器有一点了解.我认为我的问题的答案是否定的,但我想确定.有了装饰器和numpy数组,x = np.array([1,2,3])我可以覆盖x.sqrt()并改变行为.有什么方法可以np.sqrt(x)在Python中覆盖?

使用案例:处理数量包.希望能够在不改变当前使用的代码库的情况下获取不确定数量的平方根np.sqrt().

编辑:

我想np.sqrtquantities包中修改以便以下代码可以工作(所有三个应该打印相同的结果,注意使用时的0不确定性np.sqrt()).我希望不要求最终用户修改他们的代码,但在quantities包中正确包装/装饰np.sqrt().目前有许多numpy函数被装饰(参见https://github.com/python-quantities/python-quantities/blob/ca87253a5529c0a6bee37a9f7d576f1b693c0ddd/quantities/quantity.py),但似乎只在x.func()调用时才起作用,而不是numpy.func(x).

import numpy as np
import quantities as pq
x = pq.UncertainQuantity(2, pq.m, 2)
print x.sqrt()
>>> 1.41421356237 m**0.5 +/- 0.707106781187 m**0.5 (1 sigma)
print x**0.5
>>> 1.41421356237 m**0.5 +/- 0.707106781187 m**0.5 (1 sigma)
print np.sqrt(x)
>>> 1.41421356237 m**0.5 +/- 0.0 dimensionless (1 sigma)
Run Code Online (Sandbox Code Playgroud)

python numpy decorator python-decorators

3
推荐指数
1
解决办法
352
查看次数

每y秒运行python子进程x秒

我想从Python中控制一个bash程序.我想每隔x秒运行一次外部命令,持续y秒,然后在y秒后将其命中.我在线程,睡眠和等待等方面遇到了一些麻烦,我想知道是否有人可以发布一个简单的例子.

例如,从CLI可以使用

./foo.py --runfor=10 --runevery=60
Run Code Online (Sandbox Code Playgroud)

意思foo.py是每60秒运行一次10秒(而不是60秒).如果它关闭一秒钟或几分之一秒即可.我可以通过生成一个阻塞的进程,然后做一些数学来设置计时器来做到这一点,但我认为线程可能有一个更优雅的方式.

python sleep subprocess wait

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