示例#1
0
        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);
        }
示例#2
0
        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);
            }
        }