-2

matlabで合成血流画像を生成するために、一連の合成/シミュレートされたデータセットを生成/シミュレートしようとしています。しかし、私はどのように、またはどこから始めるべきかわかりません...

メッシュ関数を使用する必要があることはわかっていますが、時間次元になるようにするにはどうすればよいですか?

誰かが私を助けてくれたり、案内してくれたりしたら、とても感謝しています。サイズ 25x25x10x4 のデータセットを生成したいと考えています。これは X x Y xtx V です。画像は次のようになります。

これはおそらく脳内の血管の画像です

またはこのように:

ここに画像の説明を入力

前もって感謝します!

4

2 に答える 2

3

データセット #1:

お気に入りの線表現 (極、線形など) を使用して、線のパラメーターをランダムに生成します。たとえば、 を選択するとy = mx + c、 と がランダムに生成さmcます。線を定義したので、この SO メソッドを使用して画像に線を描画します。

ここに画像の説明を入力

データセット #2:

それらは 2D ガウスのように見えます。以下の方法で使用mvnpdfしてください。

[X Y] = meshgrid(x_range,y_range);
Z = reshape(  mvnpdf([X(:) Y(:)],MU,SIGMA)   ,size(X));
imagesc(Z);

andにあるランダムに生成されたMUand SIGMAsuchを使用します。例えば、MUx_rangey_rangex_range = -3:0.1:3;y_range = x_range;

ム=

0.9575    0.9649

シグマ=

1.2647    0.3760
0.3760    1.0938

ここに画像の説明を入力

于 2012-09-24T18:51:02.317 に答える
1

@Jacob の非常に具体的な回答を補完するために、4DMxNxTxVマトリックスが必要です。この投稿によると、MxNは各画像の次元、Tは時間次元、V は時間フレームあたりのチャネルまたはサンプルの数です (RGB の場合は 3、スペクトル画像の場合は >3)。

  • T ごとに、V イメージを生成します。
  • データセット #1 とデータセット #2 のランダム パラメーターを使用して V イメージをシミュレートします。
  • データセットごとにすべてを 1 つの 4D マトリックスに入れます (つまり、二重の for または連結を使用します)。

@Jacob の提案に従って、以下に置き換えます。つまり、必要なタイプの構造のランダム サンプルを生成する関数rand()です。generate_image()

M = 25; N = 25;
T = 10; V = 4;

DataSet1 = zeros(M,N,T,V);
DataSet2 = zeros(M,N,T,V);

for t = 1:T
   for v = 1:V
        DataSet1(:,:,t,v) = randn(M,N);
        DataSet2(:,:,t,v) = randn(M,N);
    end
end
于 2012-09-24T19:41:31.633 に答える