既にプロットするデータセットと、それをプロットするマップがあると仮定すると、強度マップを作成することから開始できます。十分に小さく、1:1で十分でしょう)。配列全体を0に初期化します。
次に、プロットする各ポイントを歩いて、強度マップの座標空間にマッピングし(通常は単純なスケール操作である必要があります)、その位置を中心に強度マップに「ブリップ」をプロットします。
基本的な「ブリップ」は、ブリップポイントの強度と若干の半径を少し増やすだけで構成できます。より複雑な実装では、既存の強度を読み取ることができ、ブリップポイントが既に強いほど大きな減衰半径を使用できます。ブリッププロッターを試して、好みの実装を見つけることができます。
強度マップを作成したら、個々のポイントの強度をカラーグラデーションの1Dルックアップとして使用できます。これにより、目的の視覚的インパクトを得ることができます(これにより、マルチカラーの結果を得ることができます)最も一般的に見られる)。強度マップを最終プロットに転送するときに、このカラールックアップを実行する必要があります(強度マップと最終画像のサイズの違いを考慮して、必要に応じて再スケーリングします)。
基本的な実装にはこれで十分ですが、最適化の余地があります。たとえば、強度マップは正規化されないため、個々の強度の繰り込みを同時に実行できるように、各ブリップをプロットするときに、強度マップを再正規化する(おそらく遅い)か、最大強度を追跡する必要がある場合がありますあなたは色変更を行っています。さらに、マップの座標空間全体を保存することはメモリ効率が悪いため、値の分布が大きくなる可能性があります。また、大量のメモリを事前に割り当てる必要のない代替ソリューションを使用することもできます。それはほとんど空になります。
データセットに表示されると予想される最小および最大強度を照会するのに十分なデータが事前にある場合、基本的に(X、Y、Z)の数とその時点で発生したプロットされたデータのヒット」- これは、マッピング部分の最適化に役立つデータを収集するシステムに組み込むことができるものです。
強度マップは本質的にはグレースケール画像であるため、強度マップにビットマップを使用してこの種のシステムをプロトタイプ化し、System.Drawing
部分的に透明な円をプロットするために選択した描画API(C#など)を使用する非常に簡単な方法です強度マップを作成します。見た目は良くありませんが、機能的です。