private void OnAddMetric() { DVHMetric dvh_temp = new DVHMetric { StructureId = SelectedStructure, DoseMetric = SelectedMetric, OutputValue = "N/A" }; Structure s = _planSetup.StructureSet.Structures.FirstOrDefault(x => x.Id == SelectedStructure); DVHData dvh = _planSetup.GetDVHCumulativeData( s, VMS.TPS.Common.Model.Types.DoseValuePresentation.Absolute, VMS.TPS.Common.Model.Types.VolumePresentation.Relative, 1); if (dvh != null) { switch (Metrics.IndexOf(SelectedMetric)) { case (int)MetricType.Max: dvh_temp.OutputValue = dvh.MaxDose.ToString(); break; case (int)MetricType.Min: dvh_temp.OutputValue = dvh.MinDose.ToString(); break; case (int)MetricType.Mean: dvh_temp.OutputValue = dvh.MeanDose.ToString(); break; case (int)MetricType.Volume: dvh_temp.OutputValue = s.Volume.ToString("F2") + "cc"; break; case (int)MetricType.VolA_at_DoseA: DoseValue dv = new DoseValue(Convert.ToDouble(CustomMetric), DoseValue.DoseUnit.cGy); double volume = _planSetup.GetVolumeAtDose(s, dv, VolumePresentation.AbsoluteCm3); dvh_temp.OutputValue = volume.ToString("F2") + "cc"; dvh_temp.DoseMetric = $"Volume at {dv}"; break; } } DQPs.Add(dvh_temp); }
private void OnAddMetric() { DVHMetric dvhTmp = new DVHMetric() { StructureId = SelectedStructure, DoseMetric = SelectedMetric, OutputValue = "#N/A" }; Structure s = _planSetup.StructureSet.Structures.FirstOrDefault(x => x.Id == SelectedStructure); DVHData dvhData = _esapi.GetDVH(_planSetup, s); if (dvhData != null) { switch (Metrics.IndexOf(SelectedMetric)) { case (int)MetricType.Max: dvhTmp.OutputValue = dvhData.MaxDose.ToString(); break; case (int)MetricType.Min: dvhTmp.OutputValue = dvhData.MinDose.ToString(); break; case (int)MetricType.Mean: dvhTmp.OutputValue = dvhData.MeanDose.ToString(); break; case (int)MetricType.Volume: dvhTmp.OutputValue = s.Volume.ToString("F2") + " cc"; break; } DQPs.Add(dvhTmp); } }