小编Vis*_*hnu的帖子

使用 Visual Studio Code 远程启动 Singularity 容器

我知道您可以在 VSCode 中远程启动 docker 容器。是否可以对奇点容器做同样的事情?

remote-access visual-studio visual-studio-code singularity-container

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

Sympy 到 numpy 会导致 AttributeError: 'Symbol' object has no attribute 'cos'

我正在尝试使用 sympy 进行偏导数,我想将其转换为函数,以便我可以替换值并估计 t_1、t_2 的某些值的导数。我使用的代码如下:

import sympy as sp
import numpy as np
from sympy import init_printing
init_printing()
t_1,t_2,X_1,X_2,Y_1,Y_2,X_c1,X_c2,Y_c1,Y_c2,a_1,a_2,psi_1,psi_2,b_1,b_2= sp.symbols('t_1 t_2 X_1 X_2 Y_1 Y_2 X_c1 X_c2 Y_c1 Y_c2 a_1 a_2 psi_1 psi_2 b_1 b_2')

X_1=X_c1 + (a_1 * sp.cos(t_1) * sp.cos(psi_1)) - ((b_1) * sp.sin(t_1)* sp.sin(psi_1))

X_2=X_c2 + (a_2 * sp.cos(t_2) * sp.cos(psi_2)) - ((b_2) * sp.sin(t_2)* sp.sin(psi_2))

Y_1=Y_c1 + (a_1 * sp.cos(t_1) * sp.sin(psi_1)) + ((b_1) * sp.sin(t_1)* sp.cos(psi_1))

Y_2=Y_c2 + (a_2 * sp.cos(t_2) * sp.sin(psi_2)) + ((b_2) …
Run Code Online (Sandbox Code Playgroud)

numpy sympy derivative python-3.x lambdify

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

skimage调整大小更改数组的总和

我想以适合的格式将图像调整为较小的尺寸。例如,我想将100x100像素的图像调整为58x58像素的图像。数组的值是强度或通量值。我希望在变换后保留图像的总强度。这不适用于skimage调整大小。我的总价值会根据我放大或缩小的因素而减少。我在下面显示了到目前为止尝试过的代码。

import numpy as np
from skimage.transform import resize


image=fits.open(directory+file1)
cutout=image[0].data
out = resize(cutout, (58,58), order=1, preserve_range=True)
print(np.sum(out),np.sum(cutout))
Run Code Online (Sandbox Code Playgroud)

我的输出是:

0.074657436655 0.22187 (I want these two values to be equal)
Run Code Online (Sandbox Code Playgroud)

如果我使用以下方法将其缩放到相同的尺寸:

out = resize(cutout, (100,100), order=1, preserve_range=True)
print(np.sum(out),np.sum(cutout))
Run Code Online (Sandbox Code Playgroud)

我的输出非常接近我想要的:

0.221869631852 0.22187
Run Code Online (Sandbox Code Playgroud)

如果我也尝试增加图像尺寸,也会遇到同样的问题。

out = resize(cutout, (200,200), order=1, preserve_range=True)
print(np.sum(out),np.sum(cutout))
Run Code Online (Sandbox Code Playgroud)

输出:

0.887316320731 0.22187
Run Code Online (Sandbox Code Playgroud)

我想知道是否有解决此问题的方法。

编辑1:

我只是意识到,如果我将图像乘以要增加或减小图像尺寸的比例的平方,那么我的总和就是保守的。

例如:

x=58
out = resize(cutout, (x,x), order=1, preserve_range=True)
test=out*(100/x)**2
print(np.sum(test),np.sum(cutout))
Run Code Online (Sandbox Code Playgroud)

我的输出非常接近我想要的输出,但略高一些:

0.221930548915 0.22187
Run Code Online (Sandbox Code Playgroud)

我尝试了不同的尺寸,除了很小的值外,它都可以工作。任何人都可以解释为什么这种关系是正确的还是仅仅是统计上的巧合。

python numpy image-resizing python-3.x scikit-image

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