3 次元ボリューム イメージ処理
3 次元ボリューム イメージ (ボリューム) は、高さ、幅、奥行きの 3 つの空間次元でサンプリングされたシーンの明るさや色を表現します。ボリュームは、次のようなさまざまな分野で使用されます。
医用画像診断。体内の構造を解析して異常を検出し、組織の特性を測定します。
製造。商品の品質を検査し、製品設計を改善します。
地質イメージング。環境の非破壊検査を実行し、岩石や化石の特性を調べます。
考古学と美術修復。遺物をデジタルで保存し、考古学的発見物の非侵襲的な解析を実施します。
Image Processing Toolbox™ は、ボリュームを 3 つの空間次元をもつ多次元配列として表現します。グレースケール ボリュームとバイナリ ボリュームは通常 3 次元配列であり、配列の各インデックス (行、列、平面) はボリューム内の 1 つのボクセルに対応します。カラー ボリュームは通常 4 次元配列であり、4 番目の次元にはカラー チャネルの強度値が格納されます。
メモ
Image Processing Toolbox は、イメージ シーケンスを表すために多次元配列も使用します。ボリュームとは異なり、イメージ シーケンスには通常、時間の経過に伴うシーンのサンプルを保存する時間次元があります。一部の関数はボリューム イメージとイメージ シーケンスの両方で機能しますが、他の関数は 1 種類の入力に対してのみ機能します。詳細については、多次元配列としてのイメージ シーケンスの使用を参照してください。
このページでは、Image Processing Toolbox で 3 次元ボリューム イメージをサポートする関数の一覧を示します。
ボリュームのインポートとエクスポート
| 関数 | 説明 |
|---|---|
| ブロック化されたボリューム | |
blockedImage | 小さな個別のブロックから作られた大きなイメージまたは多重解像度のイメージ |
blockedImageDatastore | blockedImage オブジェクトからブロックを読み取るデータストア |
makeMultiLevel3D | 単一レベルのブロック化されたイメージから異なる解像度の 3 次元マルチレベル ブロック化イメージを作成します。 |
| 標準ファイル形式 | |
dicomread | DICOM イメージの読み取り |
dicomreadVolume | DICOM イメージのセットからの 4 次元ボリュームの作成 |
dicomContours | DICOM-RT 構造体セットからの ROI データの抽出 |
niftiinfo | NIfTI ファイルからメタデータの読み取り |
niftiwrite | NIfTI フォーマットを使用したファイルへのボリュームの書き込み |
niftiread | NIfTI イメージの読み取り |
tiffreadVolume | TIFF ファイルからのボリュームの読み取り |
medicalVolume (Medical Imaging Toolbox) | 3 次元医用画像ボクセル データと空間参照情報 (Medical Imaging Toolbox™ が必要) |
表示
| 関数 | 説明 |
|---|---|
| 対話形式でのボリュームの表示と探索 | |
| ボリューム ビューアー | ボリューム データとラベル付きボリューム データを表示し、表示設定を対話形式で調整する |
| 3 次元空間でのボリュームのレンダリング | |
viewer3d | シーンレベルのコントロールを備えた 3 次元ビューアーを作成する |
volshow | 3 次元ビューアーでボリュームを表示する |
Surface | 3 次元ビューアーで表面を表示する |
| 2 次元断面 (スライス) の表示 | |
montage | 複数のイメージ スライスを四角形のモンタージュとして表示する |
sliceViewer | グレースケールまたは RGB ボリュームでイメージ スライスを参照する |
orthosliceViewer | グレースケール ボリュームまたは RGB ボリュームの直交スライスの参照 |
obliqueslice | ボリュームからオブリーク スライスを抽出する |
以下の関連する例を参照してください。
幾何学的変換とレジストレーション
| 関数 | 説明 |
|---|---|
| ボリュームのサイズ変更、回転、およびトリミング | |
imresize3 | 3 次元グレースケール ボリュームのサイズ変更 |
imrotate3 | 3 次元グレースケール ボリュームの回転 |
imcrop3 | 3 次元ボリュームのトリミング |
| 3 次元幾何学的変換の作成と適用 | |
imwarp | 幾何学的変換を適用します |
transltform3d | 3 次元平行移動幾何学的変換 |
rigidtform3d | 3 次元剛体幾何学的変換 |
simtform3d | 3 次元相似幾何学的変換 |
affinetform3d | 3 次元アフィン幾何学的変換 |
randomAffine3d | ランダム化された 3 次元アフィン幾何学的変換 |
transformPointsForward | 順方向の幾何学的変換の適用 |
transformPointsInverse | 逆方向の幾何学的変換の適用 |
| 3 次元ボリュームのレジストレーション | |
imregister | 強度ベースのボリューム レジストレーション |
imregdemons | 2 つのボリュームを位置合わせさせる変位場の推定 |
| 医用レジストレーション推定器 (Medical Imaging Toolbox) | 医用レジストレーション推定器アプリを使用してボリュームを対話形式でレジストレーションする (Medical Imaging Toolbox が必要) |
| 3 次元空間参照の保存 | |
imref3d | 参照ボリュームからワールド座標 |
affineOutputView | 変換されたボリュームの空間範囲 |
例については、マルチモーダル 3 次元医用画像のレジストレーションを参照してください。
フィルター処理と強調
| 関数 | 説明 |
|---|---|
| ボリュームへのフィルターの適用 | |
imfilter | 多次元ボリュームへの ND フィルターの適用 |
fspecial3 | 事前定義型の 3 次元フィルターの作成 |
medfilt3 | 3 次元のメディアン フィルター処理 |
imgaussfilt3 | 3 次元ガウス フィルター処理 |
imboxfilt3 | 3 次元ボックス フィルター処理 |
imnoise | ボリュームへのノイズ付加 |
integralBoxFilter3 | 3 次元積分ボリュームのボックス フィルター処理 |
integralImage3 | 3 次元積分ボリューム |
fibermetric | Frangi 血管強調フィルターを使用したボリューム内の細長い構造またはチューブ状構造の強調 |
padarray | 配列のパディング |
| コントラスト調整 | |
histeq | ヒストグラム均等化を使用したコントラストの強調 |
imadjustn | 強度値の調整 |
imhistmatchn | ボリュームのヒストグラムを参照ヒストグラムと一致するように調整する |
| ボリュームのブレ除去 | |
deconvblind | ブラインド デコンボリューションを使用したボリュームのブレ除去 |
deconvlucy | ルーシー・リチャードソン法を使用したボリュームのブレ除去 |
deconvreg | 正則化フィルターを使用したボリュームのブレ除去 |
deconvwnr | ウィーナー フィルターを使用したボリュームのブレ除去 |
edgetaper | ボリューム エッジに沿って不連続部分を次第に小さくする |
otf2psf | 光学伝達関数を点像分布関数に変換 |
psf2otf | 点像分布関数を光学伝達関数に変換 |
セグメンテーション
イメージおよびボリュームのセグメンテーション手法の詳細については、Get Started with Image Segmentationを参照してください。
| 関数 | 説明 |
|---|---|
| 対話形式によるボリュームのセグメント化 | |
| ボリュームの領域分割 | ボリュームの領域分割アプリを使用して、ボリューム内のオブジェクトを対話形式でセグメント化し、セグメンテーション マスクを調整する |
| 医用画像ラベラー (Medical Imaging Toolbox) | 深層学習ネットワークを含む手動、半自動、自動の手法を使用して、対話形式でボリュームにラベルを付ける (Medical Imaging Toolbox が必要) |
| バイナリ ボリューム セグメンテーション | |
activecontour | 動的輪郭 (snakes) 領域拡張法を使用した前景と背景へのグレースケール ボリュームのセグメント化 |
lazysnapping | グラフに基づくセグメンテーションを使用した前景と背景へのグレースケール ボリュームのセグメント化 |
grabcut | グラフに基づく反復セグメンテーションを使用した前景と背景へのグレースケール ボリュームのセグメント化 |
adaptthresh | 局所的な 1 次統計量を使用する適応的なボリュームのしきい値 |
graythresh | Otsu 法を使用するグローバル ボリュームしきい値 |
gradientweight | ボリュームの勾配に基づくボクセルの重みの計算 |
graydiffweight | グレースケール強度の差に基づくイメージ ピクセルの重み計算 |
grayconnected | 塗りつぶし手法の使用による類似した濃淡値の連続ボリューム領域の選択 |
imbinarize | しきい値処理によるボリュームの 2 値化 |
imsegfmm | 高速マーチング法を使用したバイナリ ボリューム セグメンテーション |
| ボリュームからラベル付きボリュームへのセグメンテーション | |
imsegkmeans3 | k-means クラスタリング ベースのボリューム セグメンテーション |
superpixels3 | ボリュームの 3 次元スーパーピクセル オーバーセグメンテーション |
watershed | Watershed 変換 |
| セグメンテーションの結果の評価 | |
bfscore | 輪郭マッチングスコア |
dice | Sørensen-Dice 類似度係数 |
jaccard | Jaccard 類似度係数 |
以下の関連する例を参照してください。
モルフォロジー
ボリュームがイメージ シーケンスではなく必ずボリュームとして処理されるようにするには、3 次元構造化要素を使用します。
| 関数 | 説明 |
|---|---|
| モルフォロジー演算 | |
bwmorph3 | バイナリ ボリュームのモルフォロジー演算 |
imclose | ボリュームのモルフォロジー クロージング |
imdilate | ボリュームの膨張 |
imerode | ボリュームの収縮 |
imopen | ボリュームのモルフォロジー オープニング |
imbothat | ボトム ハット フィルター処理 |
imtophat | トップ ハット フィルター処理 |
bwskel | すべてのオブジェクトをバイナリ ボリュームの行に縮小 |
bwhitmiss | バイナリ ヒットミス演算 |
bwperim | バイナリ ボリュームのオブジェクトの周囲の検出 |
imclearborder | ボリューム境界と連結している明るい構造の非表示 |
imkeepborder | ボリューム境界と連結している明るい構造の保持 |
bwulterode | 最終的な収縮 |
imfill | ボリューム内の領域と穴の塗りつぶし |
padarray | ボリュームのパディング |
| モルフォロジー再構成 | |
imreconstruct | モルフォロジー再構成 |
imregionalmax | 局所的な最大値 |
imregionalmin | 局所的な最小値 |
imextendedmax | 拡張 maxima 変換 |
imextendedmin | 拡張 minima 変換 |
imhmax | H-maxima 変換を使用した局所的な最大値の抑制 |
imhmin | H-minima 変換を使用した局所的な最小値の抑制 |
imimposemin | 最小値を挿入 |
| 構造化要素 | |
strel | バイナリ ボリュームのモルフォロジー構造化要素 |
offsetstrel | グレースケール ボリュームのモルフォロジー オフセット構造化要素 |
conndef | 連結性配列の作成 |
イメージとオブジェクトの解析
| 関数 | 説明 |
|---|---|
| オブジェクトの解析 | |
regionprops3 | 3 次元領域のプロパティの計測 |
bwselect3 | バイナリ ボリュームのオブジェクトを選択 |
bwconncomp | バイナリ ボリューム内の連結要素の検出とカウント |
bwareaopen | バイナリ ボリュームからの小さなオブジェクトの削除 |
| 画質の評価 | |
immse | 平均二乗誤差 |
psnr | ピーク S/N 比 (PSNR) |
ssim | 構造的類似性 (SSIM) 指数 |
multissim3 | マルチスケール構造的類似性 (MS-SSIM) 指数 |
| イメージ プロパティの測定 | |
imhist | ボリューム データのヒストグラム |
bwdist | バイナリ ボリュームの距離変換 |
bwdistgeodesic | バイナリ ボリュームの測地線距離変換 |
graydist | グレーで重み付けされた距離変換 |
| エッジの検出 | |
edge3 | グレースケール ボリューム内のエッジの検出 |
imgradient3 | ボリュームの勾配の大きさと方向の検出 |
imgradientxyz | ボリュームの方向勾配の検出 |
| テクスチャの測定 | |
entropy | グレースケール ボリュームのエントロピー |
entropyfilt | グレースケール ボリュームの局所的なエントロピー |
rangefilt | ボリュームの局所的な範囲 |
stdfilt | ボリュームの局所的な標準偏差 |
ボリュームを使用した深層学習
詳細については、深層学習用イメージ前処理とイメージ拡張の入門 (Computer Vision Toolbox)およびボリュームの深層学習向け前処理 (Deep Learning Toolbox)を参照してください。
| 関数 | 説明 |
|---|---|
| 深層学習のためのデータの読み取りと前処理 | |
blockedImageDatastore | blockedImage オブジェクトからブロックを読み取るデータストア |
randomPatchExtractionDatastore | ボリュームまたはピクセル ラベル ボリュームから 3 次元のランダム パッチを抽出するデータストア |
randomAffine3d | ランダムな 3 次元アフィン変換 |
centerCropWindow3d | 直方体の中央トリミング ウィンドウ |
randomCropWindow3d | ランダムな直方体のトリミング ウィンドウ |
| 深層ニューラル ネットワークの作成 | |
resize3dLayer | ニューラル ネットワークの 3 次元層のサイズ変更 (Deep Learning Toolbox™ が必要) |
dlresize | dlarray オブジェクトの空間次元のサイズ変更 (Deep Learning Toolbox が必要) |
例については、深層学習を使用した脳腫瘍の 3 次元セグメンテーションを参照してください。
算術
| 関数 | 説明 |
|---|---|
imabsdiff | 2 つのボリュームの差の絶対値 |
imadd | 2 つのボリュームを追加する、または定数をボリュームに追加する |
imdivide | あるボリュームで別のボリュームを除算する、またはボリュームを定数で除算する |
immultiply | 2 つのボリュームを乗算する、またはボリュームと定数を乗算する |
imsubtract | あるボリュームを他のボリュームから減算する、またはボリュームから定数を減算する |