public MainWindow() { InitializeComponent(); this.Title = "MultiCanvasDemo"; #region Engine setup insilico.bShowAnimations = true; // Enable node-physics and smooth display transitions insilico.Start(); // Start the background thread (for animations and physics) insilico.bEnableSimulatedData = true; // <------------------ Enable/Disable simulated data here #endregion #region Display Objects EEG eeg1 = new EEG(100); eeg1.TargetCanvas = RedCanvas; eeg1.Layout = Layouts.Spartan; insilico.displays.Add(eeg1); eeg1.max = 7; eeg1.min = 0; eeg1.Activate(); EEG eeg0 = new EEG(30); eeg0.TargetCanvas = BlueCanvas; eeg0.Layout = Layouts.Spartan; insilico.displays.Add(eeg0); eeg0.max = 10; eeg0.min = 0; eeg0.Activate(); Graph graph = new Graph(); graph.TargetCanvas = BlackCanvas; graph.DefaultVertexStyleTemplate = Styles.Green_VertexStyle; graph.DefaultEdgeStyleTemplate = Styles.GreenGlass_EdgeStyle; graph.DefaultVertexStyleTemplate.vertexColor = Cached.BrushLimeGreen; graph.DefaultVertexStyleTemplate.vertexOpacity = 0.7; insilico.displays.Add(graph); graph.Activate(); EEG eeg3 = new EEG(30); eeg3.TargetCanvas = GreenCanvas; eeg3.Layout = Layouts.Spartan; insilico.displays.Add(eeg3); eeg3.max = 10; eeg3.min = 0; eeg3.Activate(); EEG eeg4 = new EEG(30); eeg4.TargetCanvas = YellowCanvas; eeg4.Layout = Layouts.Spartan; insilico.displays.Add(eeg4); eeg4.max = 10; eeg4.min = 0; eeg4.Activate(); #endregion }
public MainWindow() { InitializeComponent(); this.Title = "EvolutionDemo (Nucleo)"; #region Engine setup insilico.bShowAnimations = true; // Enable node-physics and smooth display transitions insilico.Start(); // Start the background thread (for animations and physics) insilico.bEnableSimulatedData = false; // <------------------ Enable/Disable simulated data here #endregion #region Display Objects (LinePlots, Histograms, VitalIndicators, EEGs, Networks, etc) EEG eeg = new EEG(30); insilico.displays.Add(eeg); eeg.TargetCanvas = MyCanvas; eeg.Height = 300; eeg.Width = 800; eeg.yo = 90; eeg.xo = 125; eeg.max = 40; eeg.min = 0; eeg.Activate(); #endregion #region Set up evolutionary optimizer EvolutionarySimulation evo = new EvolutionarySimulation() { reqGenerations = 10000, initialPopCount = 100, indFitCutoff = 0.5, popFitCutoff = 0.5, geneCount = 3, FitnessTest = SolveSystemOf_3Equations, acceptedDistance = 0.01, bJournalingEnabled = true, endCondition = SimEndCondition.StopOnFirstSolution, mutationRegime = MutationRegime.LinearDecrease, bCheckMeanPopDiv = false }; #endregion #region Set up data source (feed from the evolutionary optimizer) DataSource myDataSource = new DataSource(); myDataSource.simulation = evo; myDataSource.eeg = eeg; myDataSource.canvasWidth = 450.0f; myDataSource.canvasHeight = 1033.0f; myDataSource.Start(); evo.StartSim(); #endregion }
public MainWindow() { InitializeComponent(); this.Title = "InsilicoDemo"; canvas.Background = Cached.DarkestBrown; #region Engine setup int tier = RenderCapability.Tier >> 16; // RenderOptions.ProcessRenderMode = RenderMode.SoftwareOnly; // Example graph //Graph myGraph = new Graph(); //GraphLayout myLayout = new GraphLayout(); //myGraph.DefaultVertexStyleTemplate = Styles.Green_VertexStyle; //myGraph.DefaultEdgeStyleTemplate = Styles.GreenGlass_EdgeStyle; //insilico.displays.Add(myGraph); //myGraph.drawEdgeArrows = false; //Cached.graph = insilico.graph; //insilico.graph = myGraph; //Cached.graph = myGraph; insilico.canvas = canvas; insilico.bShowAnimations = true; //insilico.layout = myLayout; insilico.bPrintEdgeNode = false; insilico.bSizeVertexToText = true; insilico.bShowObjectCoordinates = false; insilico.bShowAnimations = true; insilico.bCompressLeaves = false; insilico.bShowEdges = true; insilico.bEnableSimulatedData = true; // <------------------ Enable/Disable simulated data here insilico.Start(); #endregion #region Displays Graph graph = new Graph(); graph.TargetCanvas = canvas; graph.DefaultVertexStyleTemplate = Styles.Green_VertexStyle; graph.DefaultEdgeStyleTemplate = Styles.GreenGlass_EdgeStyle; graph.DefaultVertexStyleTemplate.vertexColor = Cached.BrushLimeGreen; graph.DefaultVertexStyleTemplate.vertexOpacity = 0.7; insilico.displays.Add(graph); graph.Height = 400; graph.Width = 250; graph.yo = 300; graph.xo = 650; graph.Activate(); VitalIndicator vital0 = new VitalIndicator(); insilico.displays.Add(vital0); vital0.TargetCanvas = canvas; vital0.Height = 400; vital0.Width = 20; vital0.yo = 300; vital0.xo = 50; //vital0.elementColor = Cached.BrushRed; vital0.Activate(); VitalIndicator vital1 = new VitalIndicator(); insilico.displays.Add(vital1); vital1.TargetCanvas = canvas; vital1.Height = 400; vital1.Width = 20; vital1.yo = 300; vital1.xo = 110; vital1.Layout = Layouts.DefaultLayout; vital1.Activate(); VitalIndicator vital2 = new VitalIndicator(); insilico.displays.Add(vital2); vital2.TargetCanvas = canvas; vital2.Height = 400; vital2.Width = 20; vital2.yo = 300; vital2.xo = 170; vital2.Activate(); LinePlot lp1 = new LinePlot(10); insilico.displays.Add(lp1); lp1.TargetCanvas = canvas; lp1.Height = 200; lp1.Width = 300; lp1.yo = 50; lp1.xo = 50; lp1.Activate(); LinePlot lp2 = new LinePlot(10); lp2.Layout = Layouts.LinePlotBlue; insilico.displays.Add(lp2); lp2.TargetCanvas = canvas; lp2.Height = 200; lp2.Width = 600; lp2.yo = 50; lp2.xo = 750; lp2.Activate(); Histogram h3 = new Histogram(25); h3.TargetCanvas = canvas; h3.Height = 200; h3.Width = 300; h3.xo = 400; h3.yo = 50; insilico.displays.Add(h3); h3.Activate(); EEG e0 = new EEG(15); e0.TargetCanvas = canvas; e0.Height = 400; e0.Width = 350; e0.xo = 250; e0.yo = 300; insilico.displays.Add(e0); e0.stepCount = 15; e0.Layout.bShowPoints = false; e0.min = -1; e0.Activate(); EEG e1 = new EEG(100); e1.TargetCanvas = canvas; e1.Height = 400; e1.Width = 400; e1.xo = 950; e1.yo = 300; insilico.displays.Add(e1); e1.Layout.bShowPoints = false; e1.stepCount = 400; e1.min = -1; e1.handle = "test"; e1.Activate(); EEG e2 = new EEG(100); e2.TargetCanvas = canvas; e2.Height = 150; e2.Width = 1300; e2.xo = 50; e2.yo = 750; insilico.displays.Add(e2); e2.Layout.bShowPoints = false; e2.Layout.lineColor = Cached.BrushRed; e2.stepCount = 400; e2.min = -1; e2.Activate(); #endregion #region Graph Test /* Vertex v0 = new Vertex(); v0.label = "Neuron_49586F"; Vertex v1 = new Vertex(); v1.label = "Subsystem-9"; Vertex v2 = new Vertex(); v2.label = "Output_Signal"; v0.type = 5; v1.type = 6; v2.type = 7; v0.attachedDisplay = h0; //v1.attachedDisplay = lp1; //v2.attachedDisplay = lp0; myGraph.Add(v0); myGraph.Add(v1); myGraph.Add(v2); myGraph.Root = v0; myGraph.CreateUnidirectionalEdge(v0, v1, insilico.DefaultEdgeStyleTemplate); myGraph.CreateUnidirectionalEdge(v1, v2, insilico.DefaultEdgeStyleTemplate); //insilico.GenerateLabels(); //insilico.Compute_RadialExpansionLayout(insilico.graph, 0, 0, (float)canvas.ActualWidth, (float)canvas.ActualHeight); //insilico.RequestCompute(); v0.coordinates = Engine.ToWPFCoords(new Point(rand.Next(-50, 50), rand.Next(-50, 50)), 1100, 800); v1.coordinates = Engine.ToWPFCoords(new Point(rand.Next(-50, 50), rand.Next(-50, 50)), 1100, 800); v2.coordinates = Engine.ToWPFCoords(new Point(rand.Next(-50, 50), rand.Next(-50, 50)), 1100, 800); */ #endregion // Simulated data source to feed the various display objects in the rendering engine /* SimulatedData myDataSource = new SimulatedData(); myDataSource.canvasWidth = 1100.0f; myDataSource.canvasHeight = 800.0f; //myDataSource.graph = myGraph; myDataSource.Start(); * */ }