Ejemplo n.º 1
0
        protected PlotModel LoadPlotModel(List <RegionalStrengthViewModel> rsvms, Func <ROI, double> horizSelector, Func <ROI, double> vertSelector)
        {
            var model = new PlotModel()
            {
                IsLegendVisible = false
            };

            model.PlotMargins = new OxyThickness(0, 0, 0, 0);
            model.PlotType    = PlotType.Cartesian;

            var ba = new LinearAxis(AxisPosition.Bottom)
            {
            };
            var la = new LinearAxis(AxisPosition.Left)
            {
            };

            ba.MinimumPadding = 0.1;
            ba.MaximumPadding = 0.1;
            la.MinimumPadding = 0.1;
            la.MaximumPadding = 0.1;

            model.Axes.Add(ba);
            model.Axes.Add(la);

            var s1 = new BrainScatterSeries
            {
                MarkerType = MarkerType.Circle,
                MarkerSize = 7,
                MarkerFill = OxyColor.FromAColor(125, OxyColors.Gray),
            };

            var s2 = new BrainScatterSeries
            {
                MarkerType   = MarkerType.Circle,
                MarkerSize   = 7,
                MarkerFill   = OxyColor.FromAColor(125, OxyColors.Red),
                MarkerStroke = OxyColors.Black,
            };

            foreach (var rsvm in rsvms)
            {
                if (rsvm.Significant)
                {
                    s2.Points.Add(new BrainDataPoint(horizSelector(rsvm.ROI), vertSelector(rsvm.ROI), rsvm.ROI));
                }
                else
                {
                    s1.Points.Add(new BrainDataPoint(horizSelector(rsvm.ROI), vertSelector(rsvm.ROI), rsvm.ROI));
                }
            }

            model.Series.Add(s1);
            model.Series.Add(s2);

            return(model);
        }
Ejemplo n.º 2
0
        protected PlotModel LoadPlotModel(List <RegionalViewModel> rsvms, Func <ROI, double> horizSelector, Func <ROI, double> vertSelector)
        {
            var model = new PlotModel()
            {
                IsLegendVisible = false
            };

            model.PlotMargins         = new OxyThickness(0, 0, 0, 0);
            model.PlotAreaBorderColor = OxyColors.White;
            model.PlotType            = PlotType.Cartesian;

            var ba = new LinearAxis(AxisPosition.Bottom)
            {
                AxislineColor = OxyColors.White, TextColor = OxyColors.White, MajorGridlineColor = OxyColors.White, TicklineColor = OxyColors.White
            };
            var la = new LinearAxis(AxisPosition.Left)
            {
                AxislineColor = OxyColors.White, TextColor = OxyColors.White, TicklineColor = OxyColors.White
            };

            ba.MinimumPadding = 0.1;
            ba.MaximumPadding = 0.1;
            la.MinimumPadding = 0.1;
            la.MaximumPadding = 0.1;

            model.Axes.Add(ba);
            model.Axes.Add(la);

            var s1 = new BrainScatterSeries
            {
                MarkerType = MarkerType.Circle,
                MarkerSize = 7,
                MarkerFill = OxyColor.FromAColor(125, OxyColors.White),
            };

            foreach (var rsvm in rsvms)
            {
                s1.Points.Add(new BrainDataPoint(horizSelector(rsvm.ROI), vertSelector(rsvm.ROI), rsvm.ROI));
            }

            model.Series.Add(s1);

            return(model);
        }
Ejemplo n.º 3
0
        protected PlotModel LoadGraph(List <RegionalViewModel> rsvms, Dictionary <int, int> nodes, List <GraphEdge> edges, Func <ROI, double> horizSelector, Func <ROI, double> vertSelector)
        {
            var model = new PlotModel()
            {
                IsLegendVisible = false
            };

            model.PlotAreaBorderColor = OxyColors.White;
            model.PlotType            = PlotType.Cartesian;
            model.PlotMargins         = new OxyThickness(0, 0, 0, 0);
            model.Padding             = new OxyThickness(0, 0, 0, 0);

            var ba = new InvisibleAxis()
            {
                IsAxisVisible = false, Position = AxisPosition.Bottom
            };
            var la = new InvisibleAxis()
            {
                IsAxisVisible = false, Position = AxisPosition.Left
            };

            ba.MinimumPadding = 0.1;
            ba.MaximumPadding = 0.1;
            la.MinimumPadding = 0.1;
            la.MaximumPadding = 0.1;

            model.Axes.Add(ba);
            model.Axes.Add(la);

            var nonSigNodes = new BrainScatterSeries
            {
                MarkerType = MarkerType.Circle,
                MarkerSize = 7,
                MarkerFill = OxyColor.FromAColor(125, OxyColors.Gray),
            };

            var sigNodes = new BrainScatterSeries
            {
                MarkerType = MarkerType.Circle,
                MarkerSize = 7,
                MarkerFill = OxyColor.FromAColor(125, OxyColors.Green),
            };

            var sigEdges = new LineSeries
            {
                Color = OxyColor.FromAColor(125, OxyColors.Green),
            };

            if (edges != null && edges.Count > 0)
            {
                foreach (var edge in edges)
                {
                    var v1 = rsvms[edge.V1];
                    var v2 = rsvms[edge.V2];

                    sigEdges.Points.Add(new DataPoint(Double.NaN, Double.NaN));
                    sigEdges.Points.Add(new DataPoint(horizSelector(v1.ROI), vertSelector(v1.ROI)));
                    sigEdges.Points.Add(new DataPoint(horizSelector(v2.ROI), vertSelector(v2.ROI)));
                    sigEdges.Points.Add(new DataPoint(Double.NaN, Double.NaN));
                }
            }

            foreach (var rsvm in rsvms)
            {
                if (nodes.ContainsKey(rsvm.ROI.Index))
                {
                    sigNodes.Points.Add(new BrainDataPoint(horizSelector(rsvm.ROI), vertSelector(rsvm.ROI), rsvm.ROI));
                }
                else
                {
                    nonSigNodes.Points.Add(new BrainDataPoint(horizSelector(rsvm.ROI), vertSelector(rsvm.ROI), rsvm.ROI));
                }
            }

            model.Series.Add(nonSigNodes);

            if (edges != null && edges.Count > 0)
            {
                model.Series.Add(sigEdges);
            }

            model.Series.Add(sigNodes);

            return(model);
        }