7.2 患者体位のチェック¶
目的¶
患者のCT撮影体位、プランでの体位がHead First Supineになっているか確認します。
必要な情報¶
CT撮影時およびプラン時の患者体位
与えられている引数¶
PlanSetup
クラスのインスタンスplan
必要な情報へのアクセス方法¶
プランで使用されるCT画像へのアクセス
1 | var image = plan.StructureSet.Image; |
CT画像の体位を文字列で取得
1 | var orientation = image.ImagingOrientation.ToString(); |
プランの体位を文字列で取得
1 | var planOrientation = plan.TreatmentOrientation.ToString(); |
必要な情報の表示¶
Exercise_PlanCheck_Ex1.3.cs
を開き、関数CheckImageFunc
内に以下のコードを記述します。
1 2 3 4 5 | var image = plan.StructureSet.Image; var orientation = image.ImagingOrientation.ToString(); var planOrientation = plan.TreatmentOrientation.ToString(); MessageBox.Show(string.Format("CT Orientation: {0}\nPlan Orientation: {1}", orientation, planOrientation)); |
Eclipseと同様の結果となっているか確認してみてください。
実装¶
Exercise_PlanCheck_Ex1.3.cs
のCheckImageFunc
関数内の2箇所をコメントアウトします。
1 2 3 4 5 6 7 | // Check PatientOrientation checkName = "PatientOrientation"; // ココ ~~CT画像の体位を確認~~ // Matching between ImagingOrientation and TreatmentOrientation checkName = "MatchOrientation(Image-Plan)"; // ココ ~~CT画像とプランの体位を確認~~ |
まずはCT画像の体位が Head First Supine であることを確認しましょう。
1 2 3 4 5 6 7 8 9 10 | string PatientOrientation = "HeadFirstSupine"; if (image.ImagingOrientation.ToString() == PatientOrientation) { oText += MakeFormatText(true, checkName, ""); } else { oText += MakeFormatText(false, checkName, image.ImagingOrientation.ToString() + " --> " + PatientOrientation); } |
続いて、CT画像とプランの体位が同一であることを確認します。
1 2 3 4 5 6 7 8 | if (image.ImagingOrientation.ToString() == plan.TreatmentOrientation.ToString()) { oText += MakeFormatText(true, checkName, ""); } else { oText += MakeFormatText(false, checkName, image.ImagingOrientation.ToString() + " <-> " + plan.TreatmentOrientation.ToString()); } |