コード例 #1
0
        public static bool MetricUsesGy(string metricName)
        {
            if (metricName == null)
            {
                return(false);
            }

            //first find if in custom metrics
            CustomMetricsConfiguration config = Myconfig.GetCustomMetricsSection();

            foreach (CustomMetricElement custMetric in config.Metrics)
            {
                if (custMetric.Name == metricName)
                {
                    if (custMetric.Base.Contains("Gy"))
                    {
                        return(true);
                    }
                    else
                    {
                        return(false);
                    }
                }
            }

            //not a custom metric
            if (metricName.Contains("Gy") || metricName.Contains("Mean"))
            {
                return(true);
            }
            else
            {
                return(false);
            }
        }
コード例 #2
0
ファイル: Calc.cs プロジェクト: zhafr/Varian-Code-Samples
        public static double CustomMetric(Structure structure, VMMetric metric, PlanSetup plan, bool useRapPlanEstimate)
        {
            CustomMetricsConfiguration config = Myconfig.GetCustomMetricsSection();

            foreach (CustomMetricElement custMetric in config.Metrics)
            {
                if (metric.Name == custMetric.Name)
                {
                    if (custMetric.Base == "D#%(Gy)")
                    {
                        return(GetDoseToVolume(structure, plan, custMetric.Parameter, DoseValuePresentation.Absolute, VolumePresentation.Relative, metric, useRapPlanEstimate));
                    }
                    else if (custMetric.Base == "D#%(%)")
                    {
                        return(GetDoseToVolume(structure, plan, custMetric.Parameter, DoseValuePresentation.Relative, VolumePresentation.Relative, metric, useRapPlanEstimate));
                    }
                    else if (custMetric.Base == "D#cc(Gy)")
                    {
                        return(GetDoseToVolume(structure, plan, custMetric.Parameter, DoseValuePresentation.Absolute, VolumePresentation.AbsoluteCm3, metric, useRapPlanEstimate));
                    }
                    else if (custMetric.Base == "D#cc(%)")
                    {
                        return(GetDoseToVolume(structure, plan, custMetric.Parameter, DoseValuePresentation.Relative, VolumePresentation.AbsoluteCm3, metric, useRapPlanEstimate));
                    }
                    else if (custMetric.Base == "V#%(cc)")
                    {
                        return(GetVolumeWithDose(structure, plan, custMetric.Parameter, DoseValuePresentation.Relative, VolumePresentation.AbsoluteCm3, metric, useRapPlanEstimate));
                    }
                    else if (custMetric.Base == "V#%(%)")
                    {
                        return(GetVolumeWithDose(structure, plan, custMetric.Parameter, DoseValuePresentation.Relative, VolumePresentation.Relative, metric, useRapPlanEstimate));
                    }
                    else if (custMetric.Base == "V#Gy(cc)")
                    {
                        return(GetVolumeWithDose(structure, plan, custMetric.Parameter, DoseValuePresentation.Absolute, VolumePresentation.AbsoluteCm3, metric, useRapPlanEstimate));
                    }
                    else if (custMetric.Base == "V#Gy(%)")
                    {
                        return(GetVolumeWithDose(structure, plan, custMetric.Parameter, DoseValuePresentation.Absolute, VolumePresentation.Relative, metric, useRapPlanEstimate));
                    }
                }
            }

            //not one of the defined custom metric bases
            return(-1);
        }
コード例 #3
0
        //MainControl constructor. This is where execution of this control starts
        public MainControl()
        {
            InitializeComponent();


            _viewModel       = new ViewModel();
            this.DataContext = _viewModel;

            //populate default metric list
            MetricList = new List <string>();
            foreach (Enum dmetric in Enum.GetValues(typeof(DoseMetrics)))
            {
                MetricList.Add(EnumUtils.stringValueOf(dmetric));
            }

            //add custom defined metrics
            CustomMetricsConfiguration config = Myconfig.GetCustomMetricsSection();

            foreach (CustomMetricElement metric in config.Metrics)
            {
                MetricList.Add(metric.Name);
            }
        }