6

同じサイズの100 個の2 次元画像スライスのセットがあります。MATLAB を使用してそれらをスタックし、ボリューム データを作成しました。2-D スライスのサイズは 480x488 ピクセルですが、画像が積み重ねられる方向は、投影時に異なる方向でボリュームを視覚化するのに十分な幅ではありません。視覚化のサイズを大きくするには、スライスに沿って補間する必要があります。

誰かがそれを行う方法についてのアイデアやヒントを教えてもらえますか?

編集:注釈付き投影顕微鏡画像

顔を見て

一般的な見解

図 1 は、投影されたボリュームの上面図です。

図 2 は、投影されたボリュームの側面図です。

回転角度を変更し、側面図 (図 2) などの別の方向でボリュームを視覚化しようとすると、図 2 のように表示されます。

画像スライスに沿って補間して、側面図を拡大したいと考えています。

4

3 に答える 3

3

MATLAB にはinterp3、データが一様に離散化されていると仮定して、内挿に使用できる関数があります。

ドキュメントを確認してください。

お役に立てれば。

編集: MATLAB 関数interp3は次のように機能します。

vi = interp3(x, y, z, v, xi, yi, zi);

スライスの「スタック」は、配列を配列x, y, z, vとして定義すると仮定します3D。ここx, yで、平面内のピクセルの座標は、z各スライスの「高さ」でvあり、実際の画像スライスであり、ピクセルの「強度」値である可能性があります.

中間値で新しい画像スライスを補間したい場合は、これらのレベルを配列zで指定できます。zi配列xi, yiは、平面内のピクセルの座標を表します。

于 2011-07-21T06:03:57.903 に答える
0

画像スライスに沿って補間する関数を作成しました。以下はコードです:

    function res = interp_along_slices( vol, scale )
    % Interpolation along the image slices

    % Get the size of the volume
      [r c p] = size(vol);

    % Pre-allocate the array:
    % the third dimension is scale times the p
      vol_interp = zeros(r,c,scale*p);

    % interpolate along the image slices 
      for inr = 1:r;
          for jnr = 1:c;
              xi = vol(inr,jnr,:);
              vol_interp(inr,jnr,:) = interp(xi, scale); 
          end;
      end;

      res = vol_interp;

    end
于 2011-10-31T13:20:57.057 に答える