问题标签 [spectral]
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 - 如何通过 python 脚本而不是 ipython 使用 SPy 显示高光谱图像?
当我使用脚本时,窗口闪烁然后消失,所以我只想知道如何让它保持很长时间?非常感谢!你可以得到这个python包形式
arrays - 排除某些列 IDL 的数组的平均值
嗨,我正在尝试使用 if 循环编写简单的 for 循环,以仅计算数组列的平均值(所以我最终只得到一个行数组作为平均值),列号 1051 和 1552 除外。这里输入数组有2151 列和 12 行。平均数组的结果应该是 2149 列和 12 行。这是我写的代码
如何使用 else 将空格分配给 0?任何人都可以在这里帮助我,因为我对 IDL 很陌生
machine-learning - 如何制作/创建用于训练高光谱图像数据的地面实况图像文件?
需要训练高光谱数据,如何从 scracth 和地面实况数组/图像构建训练数据集以用于相同的目的?Spectral python 不支持通过 png 文件进行训练。
python - 如何将 matplotlib 注释操作嵌入到函数中?
使用 matplotlib,您可以与绘制的图像进行交互,例如用于注释。然后,您会在交互后获得一些您通常喜欢保存的数据。我想将所有这些都合并到一个函数中,但我不知道该怎么做。光谱模块说明了我的问题,但我之前遇到过这个问题。
这是一些代码:
如果我调用 Annotator An=Annotator(some data file)
,然后调用查看器并注释
results = An.viewer
然后 python 立即解析到最后,并给出一个空的非类型对象作为结果。我希望代码中断,以便我可以获取注释并将其保存在同一个函数调用中。
所以我的问题是,我该怎么做?
matlab - Matlab:从谱密度到方差
我试图了解时间序列的谱密度与其方差之间的关系。据我了解,光谱密度的积分应该等于方差。至少根据诸如此类的大多数讲义。
然而,我正在努力复制这一发现。假设我生成了一个自回归系数为 0.9 的简单 AR(1) 系列。
然后我继续计算谱密度(autocov 与信号工具箱中的 xcov 做同样的事情,我没有。它是贬低序列的协方差,方差在向量的中间)
sdb 是功率密度函数,肯定是 AR(1) 的正确形状,向低频加权: 在此处输入图像描述。但功率谱之和为 54.5,而模拟 AR(1) 系列的方差约为 5。
我错过了什么?我将光谱密度理解为系列的方差如何分布在整个光谱中。我不确定我是否误解了理论或犯了编码错误。任何好的参考资料将不胜感激。
编辑:我意识到显然对“sdb”系列求和并不是积分。要在 {-pi,pi} 之间进行积分,我应该对 sdb*(2*pi/130) 或等效的 sdb*(pi/65) 求和,因为我只查看 {+pi} 段并且 sdb 是对称的负值。然而,我似乎仍然得到一个大于方差的数字(甚至重新模拟多次)......我仍然错过了什么吗?上面的 sdb 行变为
python - 有效地将具有嵌入式数组的字典列表转换为 DataFrame
我有一个字典列表,其中包含响应字段中的光谱数据。我还有用于标记光谱数据列的波长阵列。列表/输入如下所示:
以及要匹配的波长的列名:
我想将此列表转换为两个熊猫数据框;
- 一个平均响应元组中的数组,以及
- 一个它们是分开的,其中包含响应中元组中的第一个数字。
两者的所需输出如下:
在熊猫中最有效的方法是什么?
r - 使用 R 在一张图中绘制光谱数据
我有多个数据框,其中第一列(最后用 NA 填充)是波数,其他列是我的多个观察的特定波数的变量。
是否有可能以我的第一列包含 x 轴的变量而另一列与它们各自的 y 值绘制成一个大图的方式来绘制列?
我已经尝试过“matplot”(导致“数字”而不是点),
不同的“xyplot”集(不可能给出一个以上的 y 值),但似乎都不起作用(根据我对 R 的知识水平)。
最终结果应如下所示:
谢谢你的帮助!
r - R中EEG数据的巴特沃斯过滤
我对 R 和 EEG 信号非常陌生,所以如果问题的答案很明显,请原谅。
我正在尝试对 EEG 信号执行巴特沃斯滤波器以提取 Alpha 波段。当我执行过滤器时,生成的信号看起来很奇怪,完全不是我所期望的,在时间框架的开始有一个异常大的峰值。我尝试使用 eegfilter 和 bwfilter 来查看代码是否存在问题,但是当我绘制结果时两者之间几乎没有区别。我无法解释最终结果,如果有人可以向我解释特殊的最终结果,我将不胜感激。
这是我正在查看的数据中的一个示例: https ://ufile.io/1ji48wg6
采样率为 512。
我想提取 alpha 波段,所以频率在 8 到 12 Hz 之间
这是绘制时的数据图片。最左边的图像是原始数据。中心图是使用 eegfilter 应用 Butterworth 滤波器的结果。右图是使用 bwfilter 应用巴特沃斯滤波器的结果。
数据集的标题:
脑电图
-8438.876837
-8442.718979
-8441.877183
-8439.974768
-8443.436883
-8448.900711
-8452.433874
-8441.616546
python - 在python中匹配相似光谱中的峰
我有一系列与实验的不同重复相对应的数千个(1D)光谱。对于每次重复,两个不同的仪器记录了相同的数据——所以我有两个非常相似的光谱,每个光谱都由几百个单独的峰/事件组成。这些仪器具有不同的分辨率、精度和可能的检测效率,因此每对光谱不相同但相似 - 用肉眼仔细观察它们可以自信地匹配每个光谱中的许多峰。我希望能够自动且可靠地匹配每对光谱的两个光谱,即自信地说出哪个峰对应于哪个峰。这可能会涉及“丢弃”一些无法可靠匹配的数据(例如,两个仪器中只有一个检测到事件)。
我附上了一张数据在整个光谱上的样子的图像,并放大到一个相对稀疏的区域。红色光谱基本上已经找到峰值,因此除了真实事件所在的位置之外,它在任何地方都是 0。我在蓝色轨迹上使用了 scipy.signal.find_peaks() 并绘制了发现的峰值,这似乎效果很好。
现在我只需要找到一种可靠的方法来匹配光谱之间的峰值。我已经尝试通过仅将彼此最接近的峰配对来匹配峰 - 但是由于两个光谱中都不存在某些峰,这会遇到重大问题。我可以添加关于必须匹配多近峰的限制,但我认为可能有更好的方法。红色轨迹的分辨率低于蓝色轨迹也会产生问题。我希望那里有最适合这个的模式查找算法/python 包 - 但这远离我的专业领域,所以我真的不知道从哪里开始。提前致谢。
生成用于绘制光谱的示例代码: