コード例 #1
0
ファイル: DVHAnalysis.cs プロジェクト: bcatt09/DVHAnalysis
        /// <summary>
        /// Starts execution of script. This method can be called directly from PluginTester or indirectly from Eclipse
        /// through the Execute method.
        /// </summary>
        /// <param name="patient">Opened patient</param>
        /// <param name="PItemsInScope">Planning Items in scope</param>
        /// <param name="pItem">Opened Planning Item</param>
        /// <param name="currentUser">Current user</param>
        /// <param name="window">WPF window</param>
        public static void Start(Patient pat, List <PlanningItem> PItemsInScope, PlanningItem pItem, Course course, StructureSet ss, User currentUser, Window window)
        {
            if (pat == null || pItem == null)
            {
                MessageBox.Show("Please open a plan or plan sum before running this script", "No Active Plan", MessageBoxButton.OK, MessageBoxImage.Error);
                throw new ApplicationException("Please open a plan or a plan sum before running this script");
            }
            window.Title         = "DVH Analysis - " + pat.LastName + ", " + pat.FirstName + " (" + pat.Id + ")";
            window.SizeToContent = SizeToContent.WidthAndHeight;

            DVHViewModel viewModel   = new DVHViewModel(pat, pItem, course, ss, currentUser);
            MainWindow   userControl = new MainWindow(viewModel);

            window.Content     = userControl;
            window.DataContext = viewModel;
            userControl.PlanInfoListBox.DataContext = viewModel.Plans;
            userControl.DVHDataGrid.DataContext     = viewModel.DVHTable;
        }
コード例 #2
0
        public DVHTableRow(XElement constraint, DVHViewModel viewModel)
        {
            _viewModel = viewModel;

            //set structures
            Structure         = constraint.Parent.Attribute("name").Value;
            SelectedStructure = GetBestStructureMatch(Structure);

            //get info from xml
            ConstraintText          = constraint.Attribute("constraint").Value;
            VariationConstraintText = constraint.Attribute("variation-constraint") == null ? "" : constraint.Attribute("variation-constraint").Value;
            LimitText           = constraint.Attribute("goal").Value == "greater" ? "> " + constraint.Attribute("limit").Value : "< " + constraint.Attribute("limit").Value;
            VariationLimitText  = constraint.Attribute("variation-limit") == null ? "" : constraint.Attribute("goal").Value == "greater" ? "> " + constraint.Attribute("variation-limit").Value : "< " + constraint.Attribute("variation-limit").Value;
            ConstraintType      = GetConstraintType(constraint);
            Constraint          = (ConstraintType == ConstraintType.Dose || ConstraintType == ConstraintType.Volume || ConstraintType == ConstraintType.ColdVolume || ConstraintType == ConstraintType.CI) ? ConstraintParsing.ExtractNumber(constraint.Attribute("constraint").Value) : -1;
            VariationConstraint = constraint.Attribute("variation-constraint") == null ? -1 : ConstraintParsing.ExtractNumber(constraint.Attribute("variation-constraint").Value);
            ConstraintUnits     = (ConstraintType == ConstraintType.Dose || ConstraintType == ConstraintType.Volume || ConstraintType == ConstraintType.ColdVolume || ConstraintType == ConstraintType.CI) ? ConstraintParsing.ExtractUnits(constraint.Attribute("constraint").Value) : "";
            GoalGreaterThan     = ConstraintList.GetConstraintGoal(constraint);
            Limit          = ConstraintParsing.ExtractNumber(constraint.Attribute("limit").Value);
            VariationLimit = constraint.Attribute("variation-limit") == null ? -1 : ConstraintParsing.ExtractNumber(constraint.Attribute("variation-limit").Value);
            LimitUnits     = ConstraintParsing.ExtractUnits(constraint.Attribute("limit").Value);
            Endpoint       = constraint.Attribute("endpoint") == null ? "" : "Endpoint: " + constraint.Attribute("endpoint").Value;
            Reference      = constraint.Attribute("reference") == null ? "" : "Reference: " + constraint.Attribute("reference").Value;

            if (Endpoint != "" && Reference != "")
            {
                Reference += "\n";
            }

            try
            {
                //compute results
                ComputePlanValues();
                ComputePlanResult();
            }
            catch { }

            //only show the selected structure dropdown if it's the first time that it's being listed so far in the table
            StructureVisibility = viewModel.DVHTable.Where(s => s.Structure == Structure).Count() > 0 ? Visibility.Hidden : Visibility.Visible;
        }
コード例 #3
0
 public MainWindow(DVHViewModel viewModel)
 {
     _vm = viewModel;
     InitializeComponent();
 }