MATLAB Answers

肺を3D化した際、部​分的に色を変更する方​法について

2 views (last 30 days)
Satoshi Onodera
Satoshi Onodera on 9 Dec 2019
Commented: Satoshi Onodera on 17 Dec 2019
肺を3D化した際に、部分的に色を変更したいのですが方法がわかりません。
「ボリュームビューアーアプリを使用した3次元ラベル付きボリュームデータの調査」にある脳の3Dモデルのように肺に色をつけたいです。
よろしくお願いいたします。

  0 Comments

Sign in to comment.

Answers (1)

Etsuo Maeda
Etsuo Maeda on 13 Dec 2019
回答がついていないようなので
の例題のデータをよくみてください。
load(fullfile(toolboxdir('images'),'imdata','BrainMRILabeled','labels','label_001.mat'));
240x240x155 uint8 になっているはずです。labelは0, 1, 2, 3 が付けられています。
つまり、何も無い場所に0を、ラベル1に対応する場所に1をラベル2に対応する場所に2を・・・という順に値を格納するだけです。
例えば
V = zeros(10, 10, 10);
V(1:5, 1:5, 1:5) = 1;
V(1:5, 6:10, 6:10) = 2;
V(6:10, 6:10, 6:10) = 3;
のようにすれば、色付きのボリュームデータが表示されます。

  3 Comments

Satoshi Onodera
Satoshi Onodera on 13 Dec 2019
ご回答ありがとうございます。
重ねての質問なのですが,私の使用しているデータはMRIデータではなくCTデータであり,classをsingleとしているのですが,例題と同じようなコマンドで使用できるのでしょうか?
また,回答していただいた以下のコマンドの値がどのような意味があるのか教えて頂ければ幸いです.
V = zeros(10, 10, 10);
V(1:5, 1:5, 1:5) = 1;
V(1:5, 6:10, 6:10) = 2;
V(6:10, 6:10, 6:10) = 3;
Etsuo Maeda
Etsuo Maeda on 13 Dec 2019
"例題と同じようなコマンド" が何かよくわかっていませんが、doubleでもsingleでもラベリングさえされていれば、volumeViewerは色分けして表示します。
V = zeros(10, 10, 10);
V(1:5, 1:5, 1:5) = 1;
V(1:5, 6:10, 6:10) = 2;
V(6:10, 6:10, 6:10) = 3;
の意味が分からないというのは、どのあたりが分からないでしょうか?
zerosの意味がわからないのであれば、以下のコマンドで確認してみてください。
help zeros
doc zeros
V(1:5, 1:5, 1:5) = 1 の意味がわからないのであれば、以下のドキュメンテーションや、MATLAB入門を確認してみてください。
HTH
Satoshi Onodera
Satoshi Onodera on 17 Dec 2019
教えていただいたURLにより,コマンドの意味を理解することができました.ありがとうございます。
作成した肺の3Dモデル「segmentedImage」をラベル1とし,色を変更したい部分「BW,BW1,BW2...」をラベル2とした2色にしたいのですが,この場合どのようなコマンドが最適なのでしょうか?

Sign in to comment.

Categories

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!