问题标签 [spectral-python]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 如何正交化时间序列
我正在处理 MEG 信号并解决空间泄漏问题,我想执行时间序列的正交化。为了更好地理解,我开始使用正弦信号。我在 python 中编写了一个代码并正交化我在 [spectral python][1] 模块中使用了一个函数。如果您运行以下代码并绘制信号,您会发现如附图所示的内容。我认为正交化信号也应该看起来像原始信号。它不应该发生巨大变化。请让我知道是否有更好的方法来正交化信号。[在此处输入图像描述][2] 这是我的代码:
satellite-image - 在 python 中读取 Hyperion Satellite E-01 数据集(.L1R 文件)
我正在尝试找到一种方法来在 python 中读取具有 .L1R 文件扩展名的 hyperion e-01 卫星数据(高光谱数据)。请建议任何库在 python 中读取这些数据。
satellite-image - 如何从光谱python库中的env文件中读取波长信息?
我正在研究 envi 格式的高光谱图像。我已经使用光谱 python 库成功阅读了它。现在,我想得到每个波段(波长中心)。请建议此任务的方法。
python - 无法在 python 中对高光谱数据执行光谱角映射器 (SAM) 进行目标检测
我正在研究高光谱卫星图像,我正在尝试在我的数据集上实现 SAM 算法。我正在尝试使用光谱 python 库中提供的spectral_angle 和 msam 函数。我正在使用以下命令。预处理后的数据集有维度(2000,2000,20)
签名=image_cube[300,500,:] mmn=spectral_angles(image_cube,signature.reshape(1,20))
我得到一个包含所有值'Nan'的numpy数组。
python - imshow() 中的 RGB 数据限制
我正在尝试探索高光谱图像以及如何打开、阅读和展示它们。为此,我正在使用 Spectral Python (SPy)。当我打电话时,imshow()
我得到 RGB 数据限制。这些限制代表什么,它们与图像本身的强度有什么关系?
输出:
python - 数据校准
我正在尝试使用标准参考对大小的高光谱图像进行数据校准,例如,(400,400,150)ie,(行。列,波段)......大小的暗图像(100,400,150)和大小的白色图像(200,400,150) ,
Calibrated_Data = (Image_data - 深色图像) / (白色图像 - 深色图像)
我正在使用 python,尝试使用 numpy 但出现错误,
“操作数无法与形状 (400,400,150) (100,400,150) 一起广播”
还有另一种方法可以做到这一点,但不确定如何使用不同大小的矩阵进行编码,
Calibrated_data(x,y,波长)=数据(x,y,波长)-暗(x,波长)/白色(x, 波长) - 黑暗(x, 波长)
寻找一些见解来解决这个问题。
谢谢你。
spectral-python - Spectral Python imshow 显示乱码图像
我正在学习 Spectral Python 并使用他们自己的文档和示例图像文件将多光谱图像显示为 RGB。然而,由于某种原因,我的形象似乎被打乱了。我已经通过在 MultiSpec 中打开它来测试图像文件,它看起来应该如此,所以我认为文件没有损坏。我的代码如下:
输出如下:
python - 多项式变换的图像变形
大纲
我正在尝试通过基于与图像相关联的一些“质心”数据(每个时间步的峰值)生成多项式来扭曲图像(时间序列中的光谱峰值,但这并不重要)和增加多项式。这些原始多项式和增强多项式分别构成了我的“源”和“目标”点,我试图使用 skimage.transform.warp() 来扭曲图像。
这种扭曲的目标是产生两个扭曲的图像(即重复该过程两次)。然后,这些图像将彼此正相关,或者如果要水平翻转两个扭曲图像中的一个,则这些图像将彼此负相关(同样,这里并不重要)。
(请注意,多项式增强是通过在每个多项式峰/谷处添加/减去噪声来执行的,与每个点的幅度(像素)成正比,然后通过这些增强点生成一个相同阶的新多项式,并在其中添加固定点防止增广多项式反转的地方)。
代码片段
我通过创建 GeometricTransform 并将其作为 inverse_map 应用到 warp() 在代码中实现了这一点,如下所示:
问题
由此产生的扭曲有两个主要问题:
- 由于图像扭曲,会留下空白。我知道这可以通过将模式
transform.warp()
从 from更改为'constant'
来解决'reflect'
,例如。但是,这会重复现有数据,这与我的下一个问题有关...... - 假设我已经正确实现了扭曲,它似乎已经将在时间步 60 看到的“之字形”特征提高到了 ~50(红色圆圈)。我的变形目标是水平变形图像,使每个特征保持在其自己的时间步长内(可能给予或接受非常小的数量),但它们的“像素”位置(x 轴)被增强。这也是为什么我不确定在 中使用
'reflect'
或其他模式的原因transform.warp()
,因为这会人为地添加更多数据,这会在我的管道后期导致问题,我比较成对的扭曲图像以查看它们是如何相关的(回到我的第二段在大纲中)。
我的尝试
我曾尝试使用 RANSAC,正如在这个问题中使用的那样,它也使用多项式变换:Robustly estimate Polynomial geometry transformation with scikit-image and RANSAC in order to improve the warping。我曾希望这种方法只会留下较小的空白,然后我会满意地切换到 内的另一种模式transform.warp()
,但是,这并不能解决我的任何一个问题,因为性能大致相同。
我还研究了使用分段仿射变换和 Delaunay 三角剖分(使用cv2
)作为既保留正确图像尺寸(不重复数据)又具有最小 y 分量翘曲的方法。结果确实解决了上述两个问题,但是翘曲效果几乎无法察觉,我不确定我是否应该通过添加更多三角形并尝试更多分离的源点和目标点继续沿着这条路走(尽管这种思路可能需要另一个邮政)。
概括
我想要一种使用多项式变换水平扭曲图像的方法(也欢迎任何其他关于变换方法的建议!),它尽最大努力在原始时间步内保留图像的特征。
感谢您的时间。
编辑
这是一个指向共享 google 驱动器目录的链接,其中包含运行此过程示例所需的 .py 文件和数据。
python - 去除多列的基线
我有一个包含 300 行和 666 列的数据框。每行基本上是一个频谱。如何为整个数据集应用基线删除包或任何其他方法?
任何与该问题相关的建议都将不胜感激。
提前致谢。