このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。
dicomreadVolume
DICOM イメージのセットからの 4 次元ボリュームの作成
構文
説明
は、V
= dicomreadVolume(sourcetable
)sourcetable
にリストされている入力ファイルから 4 次元 DICOM ボリュームを作成します。この table には DICOM ボリュームのメタデータを指定する 1 行のみが含まれていなければなりません。
は、複数行 table の V
= dicomreadVolume(sourcetable
,rowname
)rowname
にリストされている入力ファイルから 4 次元 DICOM ボリュームを作成します。sourcetable
が複数の行を含む場合、この構文を使用します。
例
DICOM ファイルからのボリューム イメージの作成
DICOM イメージ ファイルを含むフォルダーからボリューム データを読み込みます。関数 squeeze
を使用して、大きさが 1 の次元を削除します。
[V,spatial,dim] = dicomreadVolume( ... fullfile(matlabroot,"toolbox","images","imdata","dog")); V = squeeze(V);
4 次元 DICOM ボリュームを表示します。磁気共鳴 (MR) イメージのカラーマップと透明度マップを生成します。
intensity = [0 20 40 120 220 1024]; alpha = [0 0 0.15 0.3 0.38 0.5]; color = ([0 0 0; 43 0 0; 103 37 20; 199 155 97; 216 213 201; 255 255 255])/ 255; queryPoints = linspace(min(intensity),max(intensity),256); amap = interp1(intensity,alpha,queryPoints)'; cmap = interp1(intensity,color,queryPoints);
カスタムのカラーマップと透明度マップを使用してボリュームを表示します。
volshow(V,Colormap=cmap,Alphamap=amap);
dicomreadVolume
から返された空間構造体を表示します。この構造体には、入力 DICOM イメージ ファイルに関する空間情報が含まれています。
spatial
spatial = struct with fields:
PatientPositions: [22×3 double]
PixelSpacings: [22×2 double]
PatientOrientations: [2×3×22 double]
ImageSize: [512 512 22]
dicomreadVolume
の次元情報を表示します。この値は、スライス オフセットが "z" 次元に沿って最大であることを示します。
dim
dim = 3
等方性 4 次元 DICOM ボリュームの作成
関数 dicomCollection
を使用して、フォルダーに含まれる DICOM ファイルの詳細を収集します。この関数は、使用可能な DICOM メタデータの詳細を table 形式で返します。
sourcetable = dicomCollection( ... fullfile(matlabroot,"toolbox","images","imdata"));
table を表示します。この table には複数の行があり、各行には、指定されたフォルダーに存在する DICOM イメージ セットのメタデータが含まれています。
sourcetable
sourcetable=6×13 table
StudyDateTime SeriesDateTime PatientName PatientSex Modality Rows Columns Channels Frames StudyDescription SeriesDescription StudyInstanceUID SeriesInstanceUID
________________________ ________________________ _______________ __________ __________ ____ _______ ________ ______ ________________ _________________ __________________________________________________________________ __________________________________________________________________
s1 {0×0 double } {0×0 double } "" "" "RTSTRUCT" 0 0 0 1 "" "" "1.2.826.0.1.3680043.8.274.1.1.2729954696.96242.3632970675.507" "1.2.826.0.1.3680043.8.274.1.1.7145442384.75872.7982248107.258"
s2 {[30-Apr-1993 11:27:24]} {[30-Apr-1993 11:27:24]} "Anonymized" "" "CT" 512 512 1 1 "RT ANKLE" "" "1.2.840.113619.2.1.1.322987881.621.736170080.681" "1.2.840.113619.2.1.2411.1031152382.365.736169244"
s3 {[14-Dec-2013 15:47:31]} {[14-Dec-2013 15:54:33]} "GORBERG MITZI" "F" "MR" 512 512 1 22 "CSP" "AX T2" "1.2.840.113619.2.244.3596.11880862.13689.1386517653.214" "1.2.840.113619.2.244.3596.11880862.13689.1386517653.217"
s4 {[03-Oct-2011 19:18:11]} {[03-Oct-2011 18:59:02]} "" "M" "MR" 512 512 1 1 "RIGHT KNEE" "" "1.3.6.1.4.1.9590.100.1.2.320418845013189618318250681693358291211" "1.3.6.1.4.1.9590.100.1.2.287740981712351622214874344032214809569"
s5 {[03-Oct-2011 19:18:11]} {[03-Oct-2011 19:05:04]} "" "M" "MR" 512 512 1 1 "RIGHT KNEE" "" "1.3.6.1.4.1.9590.100.1.2.320498134711034521212730362051554545799" "1.3.6.1.4.1.9590.100.1.2.316302984111738034326701385064023497963"
s6 {[30-Jan-1994 11:25:01]} {0×0 double } "Anonymized" "" "US" 430 600 1 10 "Echocardiogram" "PS LAX MR & AI" "999.999.3859744" "999.999.94827453"
table 内の DICOM イメージ セットから 4 次元 DICOM ボリュームを作成します。目的の DICOM イメージ セットを含む行名を指定します。等方性ボリュームを作成するには、名前と値の引数 MakeIsotropic
を true
に設定します。関数 squeeze
を使用して、大きさが 1 の次元を削除します。
V = dicomreadVolume(sourcetable,"s3",MakeIsotropic=true);
V = squeeze(V);
関数 volshow
を使用して、等方性 4 次元 DICOM ボリュームを表示します。MRI イメージのカラーマップと透明度マップを生成します。
intensity = [0 20 40 120 220 1024]; alpha = [0 0 0.15 0.3 0.38 0.5]; color = ([0 0 0; 43 0 0; 103 37 20; 199 155 97; 216 213 201; 255 255 255])/255; queryPoints = linspace(min(intensity),max(intensity),256); amap = interp1(intensity,alpha,queryPoints)'; cmap = interp1(intensity,color,queryPoints);
カスタムのカラーマップと透明度マップを使用してボリュームを表示します。
vol = volshow(V,Colormap=cmap,Alphamap=amap);
入力引数
source
— ボリューム データ フォルダーまたはファイル
string スカラー | 文字ベクトル | string 配列 | 文字ベクトルの cell 配列
ボリューム データのフォルダーまたはファイル。string スカラー、文字ベクトル、string 配列、または文字ベクトルの cell 配列として指定します。
データ型: char
| string
sourcetable
— DICOM ファイル メタデータのコレクション
table
DICOM ファイル メタデータのコレクション。dicomCollection
が返すテーブルとして指定します。
データ型: table
rowname
— table 行の名前
string スカラー | 文字ベクトル
table 行の名前。string スカラーまたは文字ベクトルとして指定します。この名前は、sourcetable
で指定された複数行 table の行の 1 つを識別します。
データ型: char
| string
tf
— 等方性ボリュームの作成
false
または 0
(既定値) | true
または 1
等方性ボリュームの作成。logical の 0
(false
) または 1
(true
) として指定します。
false
または 0 — 入力データから 4 次元 DICOM ボリュームを作成します。true
または 1 — 等方性 4 次元 DICOM ボリュームを作成します。
source
によって指定される入力データは、等方性または異方性 DICOM データのいずれかです。
出力引数
V
— 4 次元 DICOM ボリューム
数値配列
4 次元 DICOM ボリューム。数値配列として返されます。
V
の次元は [rows, columns, samples, slices] です。ここで、samples はボクセルあたりのカラー チャネルの数です。たとえば、グレースケール ボリュームにはサンプルが 1 つ含まれ、RGB ボリュームにはサンプルが 3 つ含まれます。関数 squeeze
を使用して、サンプルが 1 などの大きさが 1 の次元を削除します。
spatial
— 入力 DICOM イメージの位置、解像度、および方向
構造体
入力 DICOM イメージのメタデータから収集されたスライスの位置、解像度、および方向。以下のフィールドをもつ構造体として返されます。
フィールド | 説明 |
---|---|
PatientPositions | 各スライスの最初のピクセルの座標 (x, y, z)。スキャナーの座標系の原点からミリメートル単位で測定されます。 |
PixelSpacings | 各スライス内の近傍の行と列の間の距離 (ミリメートル単位)。 |
PatientOrientations | 患者位置に対する各スライスの行と列の方向を指定する方向コサイン 3 成分ペア。 |
DICOM 属性の詳細については、DICOM 標準の Part 3、C.7.6.2 セクションを参照してください。
dim
— オフセットが最大の次元
1
| 2
| 3
オフセットが最大の次元。1
、2
、または 3
として返されます。値は、入力 DICOM データ内の隣接するスライス間のオフセットの量が最大になる、3 次元座標系内の次元を示します。
最大オフセットが "x" 次元に沿っている場合、
dim
は1
です。最大オフセットが "y" 次元に沿っている場合、
dim
は2
です。最大オフセットが "z" 次元に沿っている場合、
dim
は3
です。
バージョン履歴
R2017b で導入
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)