マトリックスがあり、それを円形フレームにマップしたい。行列の各要素は、円形フレームの事前定義された位置にマップする必要があります。私が実際に行っているのは、頭蓋骨の上に取り付けられたさまざまな電極から記録された人間の脳信号を扱うことです。これは私が取得したい最終的なプロットです: 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
何か提案はありますか?
私が間違っている場合は、私を修正してください。これらの電極がどのような種類のデータを取得できるかはわかりませんが、いずれにせよ、それらを 2 つの異なる性質で表示できると思います。まず、サンプリングされたデータ (1 つの特定の電極を通じて収集されたすべての情報をカプセル化するクラス) と次に、地理的にマッピングされたオブジェクトで、各電極からのデータを 1 つの特定の場所にバインドします。
最初の部分については、必要に応じて、希望するクラスを設計できます。このクラスには、単一の double 値 (強度や電気レベルなど) や変数の完全なセット、または必要なものを表すように配置された他のクラスしかない場合があります。
2番目の部分については、各電極から取得したデータを円形領域内の所定の点にマッピングしたいので、水平方向と垂直方向の位置値を持つクラスが良いと思います. これは、java.awt.Point (希望するポイントの実際の X および Y 位置にマップできる) またはカスタム クラス (どのドメインにも関係しない) で、2 つの 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;
}
}
そんな感じ。
次に、各サンプルをインスタンス化し、それを Position インスタンスにマップして、値を更新し続ける必要があります。
正しい位置へのマッピングに関しては、すべての位置を事前に計算してリテラルとして入力するか、位置関数から計算することができます。事前に計算された位置は、変化しにくいので問題ないと思います...
次に、次のようなものがあります。
Sample s1 = new Sample();
s1.setPosition(new Position(100, 100));
Sample s2 = new Sample();
s2.setPosition(new Position(150, 80));
など、各電極について。
図面自体については、Java イメージングを掘り下げる必要があります。ポイント自体をプロットするだけではないため、これはそれほど単純ではありません。実際、各点とその周辺領域の色は、私が正しければ、サンプリングされたデータの関数になります。色はその脳領域からサンプリングされたデータを反映しているように見えるからです。
さらに悪いことに、複数のポイント間の境界領域が互いに影響し合い、色のグラデーションが生成されます。
最初に特定のシナリオに焦点を当て、別の質問で絵画と Java の画像処理の問題について質問することをお勧めします。
申し訳ありませんが、これは非常に一般的な答えですが、多くの仮定を使用して、正確に何を扱っているかを知らずに行くことができる限りです. しかし、それが役立つことを願っています。