0

我有一个矩阵,想要将它映射到一个圆形框架。矩阵中的每个元素都应映射到圆形框架上的预定义位置。我真正要做的是处理从安装在头骨上的不同电极记录的人脑信号。这是我想得到的最后一个情节: http ://www.ihr.mrc.ac.uk/img/research/2009/3/scan-banner.jpg

有什么建议吗?

4

1 回答 1

0

如果我错了,请纠正我。我不知道这些电极能够检索什么样的数据,但无论如何,我认为您可以从两种不同的性质来查看它们:首先,采样数据(一个封装通过一个特定电极收集的所有信息的类)和第二,地理映射对象,将每个电极的数据绑定到一个特定位置。

至于第一部分,您可以根据需要设计任何您想要的类。这个类可能只有一个双精度值(如强度或电平,或其他)或一组完整的变量,甚至是其他类,以表示您需要的方式排列。

至于第二部分,由于要将每个电极检索到的数据映射到圆形区域中的预定点,我认为具有水平和垂直定位值的类是好的。这可以是 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 成像问题。

抱歉,这是一个非常笼统的答案,但据我所知,我可以进行许多假设并且不知道您到底在处理什么。不过,我希望它有所帮助。

于 2012-08-15T12:40:34.817 回答