我有一个矩阵,想要将它映射到一个圆形框架。矩阵中的每个元素都应映射到圆形框架上的预定义位置。我真正要做的是处理从安装在头骨上的不同电极记录的人脑信号。这是我想得到的最后一个情节: http ://www.ihr.mrc.ac.uk/img/research/2009/3/scan-banner.jpg
有什么建议吗?
我有一个矩阵,想要将它映射到一个圆形框架。矩阵中的每个元素都应映射到圆形框架上的预定义位置。我真正要做的是处理从安装在头骨上的不同电极记录的人脑信号。这是我想得到的最后一个情节: http ://www.ihr.mrc.ac.uk/img/research/2009/3/scan-banner.jpg
有什么建议吗?
如果我错了,请纠正我。我不知道这些电极能够检索什么样的数据,但无论如何,我认为您可以从两种不同的性质来查看它们:首先,采样数据(一个封装通过一个特定电极收集的所有信息的类)和第二,地理映射对象,将每个电极的数据绑定到一个特定位置。
至于第一部分,您可以根据需要设计任何您想要的类。这个类可能只有一个双精度值(如强度或电平,或其他)或一组完整的变量,甚至是其他类,以表示您需要的方式排列。
至于第二部分,由于要将每个电极检索到的数据映射到圆形区域中的预定点,我认为具有水平和垂直定位值的类是好的。这可以是 java.awt.Point(可以映射到您希望的点的实际 X 和 Y 位置)或具有两个 X 和 Y 变量的自定义类(与任何域无关),可以转换为最终图像中的真实 X 和 Y 坐标。
类似的东西
public class Position {
private int x;
private int y;
public Position(int x, int y) {
this.x = x;
this.y = y;
}
public int getX() {
return x;
}
public int getY() {
return y;
}
}
和
public class Sample {
private double electricalLevel;
private Position position;
public double getElectricalLevel() {
return electricalLevel;
}
public void setElectricalLevel(double electricalLevel) {
this.electricalLevel = electricalLevel;
}
public Position getPosition() {
return position;
}
public void setPosition(Position position) {
this.position = position;
}
}
类似的东西。
然后您必须实例化每个 Sample,将其映射到 Position 实例并不断更新值。
至于到正确位置的映射,您可以预先计算所有位置并将其作为文字输入,或从定位函数计算。我认为预先计算的位置是可以的,因为它们不容易改变......
然后你会有类似的东西:
Sample s1 = new Sample();
s1.setPosition(new Position(100, 100));
Sample s2 = new Sample();
s2.setPosition(new Position(150, 80));
依此类推,对于每个电极。
至于绘图本身,您将不得不深入研究 java 成像。这不会那么简单,因为您实际上不仅仅是在绘制点本身。实际上,如果我是正确的,每个点及其周围区域的颜色将是采样数据的函数,因为颜色似乎反映了来自该大脑区域的采样数据。
更糟糕的是,多个点之间的边界区域会相互影响,从而产生颜色渐变。
我建议您首先关注给定的场景,然后在其他问题中询问绘画和 Java 成像问题。
抱歉,这是一个非常笼统的答案,但据我所知,我可以进行许多假设并且不知道您到底在处理什么。不过,我希望它有所帮助。