private static void AssertBlock(BlockBase block) { var blockList = new BlockList { block }; foreach (var inputNode in block.InputNodes) { var signalBlock = new GenerateSignalBlock { TemplateName = "Binary", Start = 0, Finish = 4, SamplingRate = 1, IgnoreLastSample = true }; signalBlock.OutputNodes[0].ConnectTo(inputNode); blockList.Add(signalBlock); } blockList.ExecuteAll(); var clone = block.CloneWithLinks(); foreach (var outputNode in clone.OutputNodes) { Assert.IsNotNull(outputNode.Object[0].Samples); } Assert.IsNotNull(block.Name); Assert.IsNotNull(block.Description); Assert.IsNotNull(block.ProcessingType); }
public void OpenFileByPath(string filename) { try { Cursor = Cursors.WaitCursor; if (!Path.IsPathRooted(filename)) { filename = Path.Combine(WaveletStudio.Utils.AssemblyDirectory, filename); } var documentModel = new DocumentSerializer().Load(filename); documentModel.OnSaveChanged = OnSavedChanged; var diagramForm = Designer.Document.Elements.Count > 0 ? new DiagramForm() : this; diagramForm.Cursor = Cursors.WaitCursor; diagramForm.DocumentModel = documentModel; diagramForm.Designer.SetDocument(documentModel.Document); diagramForm.CurrentFile = filename; diagramForm.Show(); diagramForm.Focus(); diagramForm.ConfigureDesigner(); diagramForm.ZoomTrackBar.Value = Convert.ToInt32(Designer.Document.Zoom * 10); AddRecentFile(filename, diagramForm.Designer); var blockList = new BlockList(); foreach (var element in diagramForm.Designer.Document.Elements) { if (element is DiagramBlock == false) { continue; } var block = (BlockBase)((DiagramBlock)element).State; block.CurrentDirectory = CurrentDirectory; blockList.Add(block); } blockList.ExecuteAll(); diagramForm.Cursor = Cursors.Default; } catch (Exception exception) { MessageBox.Show(string.Format("{0}:{1}{2}", DesignerResources.FileCouldntBeOpened, Environment.NewLine, exception.Message), DesignerResources.Error, MessageBoxButtons.OK, MessageBoxIcon.Error); } finally { Cursor = Cursors.Default; } }
public double Run(double[] data, int detailLevel) { var sb = new StringBuilder(); for (int i = 0; i < data.Length; i++) { sb.Append(data[i]); if (i < data.Length - 1) { sb.Append(","); } } string datastring = sb.ToString(); var textBlock = new ImportFromTextBlock { Text = datastring, ColumnSeparator = ",", SignalStart = 0, SignalNameInFirstColumn = false }; var dwtBlock = new DWTBlock { WaveletName = "db10", Level = detailLevel, ExtensionMode = SignalExtension.ExtensionMode.ZeroPadding }; var b = new BlockList(); b.Add(textBlock); b.Add(dwtBlock); textBlock.ConnectTo(dwtBlock); b.ExecuteAll(); int length = dwtBlock.OutputNodes[dwtBlock.OutputNodes.Count - 1].Object[detailLevel - 1].Samples.Length; double val = dwtBlock.OutputNodes[dwtBlock.OutputNodes.Count - 1].Object[detailLevel - 1].Samples[length - 1]; return(val); }
public double Run(double[] data, int detailLevel) { var sb = new StringBuilder(); for (int i = 0; i < data.Length; i++) { sb.Append(data[i]); if (i < data.Length - 1) sb.Append(","); } string datastring = sb.ToString(); var textBlock = new ImportFromTextBlock { Text = datastring, ColumnSeparator = ",", SignalStart = 0, SignalNameInFirstColumn = false }; var dwtBlock = new DWTBlock { WaveletName = "db10", Level = detailLevel, ExtensionMode = SignalExtension.ExtensionMode.ZeroPadding }; var b = new BlockList(); b.Add(textBlock); b.Add(dwtBlock); textBlock.ConnectTo(dwtBlock); b.ExecuteAll(); int length = dwtBlock.OutputNodes[dwtBlock.OutputNodes.Count-1].Object[detailLevel - 1].Samples.Length; double val = dwtBlock.OutputNodes[dwtBlock.OutputNodes.Count-1].Object[detailLevel - 1].Samples[length - 1]; return val; }
public static List<double> FFTTransform(List<double> serie) { //Declaring the blocks var inputSeriesBlock = new InputSeriesBlock(); inputSeriesBlock.SetSeries(serie); var outputSeriesBlock = new OutputSeriesBlock(); var fFTBlock = new FFTBlock { Mode = ManagedFFTModeEnum.UseLookupTable }; //Connecting the blocks inputSeriesBlock.OutputNodes[0].ConnectTo(fFTBlock.InputNodes[0]); fFTBlock.OutputNodes[1].ConnectTo(outputSeriesBlock.InputNodes[0]); //Appending the blocks to a block list and execute all var blockList = new BlockList(); blockList.Add(inputSeriesBlock); blockList.Add(fFTBlock); blockList.Add(outputSeriesBlock); blockList.ExecuteAll(); return outputSeriesBlock.GetSeries(); }
public void TestBlockList() { var signalBlock1 = new GenerateSignalBlock { Cascade = false, Offset = 1, TemplateName = "Binary", Start = 0, Finish = 3, SamplingRate = 1 }; var signalBlock2 = new GenerateSignalBlock { Cascade = false, Offset = 2, TemplateName = "Binary", Start = 0, Finish = 3, SamplingRate = 1 }; var signalBlock3 = new GenerateSignalBlock { Offset = 3, TemplateName = "Binary", Start = 0, Finish = 3, SamplingRate = 1 }; var convolutionBlock1 = new ConvolutionBlock(); var convolutionBlock2 = new ConvolutionBlock(); var blockList = new BlockList { signalBlock1, signalBlock2, signalBlock3, convolutionBlock1, convolutionBlock2 }; signalBlock1.ConnectTo(convolutionBlock1); signalBlock2.ConnectTo(convolutionBlock1); convolutionBlock1.ConnectTo(convolutionBlock2); signalBlock2.ConnectTo(convolutionBlock2); blockList.ExecuteAll(); Assert.AreEqual("4 20 45 78 111 114 103 74 33 18", convolutionBlock2.OutputNodes[0].Object.ToString(0)); convolutionBlock1 = new ConvolutionBlock(); convolutionBlock1.InputNodes.Clear(); signalBlock1.ConnectTo(convolutionBlock1); signalBlock1.Execute(); Assert.AreEqual(0, convolutionBlock1.OutputNodes[0].Object.Count); convolutionBlock1 = new ConvolutionBlock(); signalBlock1 = new GenerateSignalBlock(); signalBlock2.OutputNodes.Clear(); signalBlock2.ConnectTo(convolutionBlock1); signalBlock1.ConnectTo(convolutionBlock1); signalBlock1.Execute(); Assert.AreEqual(0, convolutionBlock1.OutputNodes[0].Object.Count); }
private List<double> processOneSeries(List<double> serie) { //Declaring the blocks var inputSeriesBlock = new InputSeriesBlock(); inputSeriesBlock.SetSeries(serie); var dWTBlock = new DWTBlock { WaveletName = "Daubechies 10 (db10)", Level = 1, Rescale = false, ExtensionMode = WaveletStudio.SignalExtension.ExtensionMode.AntisymmetricWholePoint }; var outputSeriesBlock = new OutputSeriesBlock(); //Connecting the blocks inputSeriesBlock.OutputNodes[0].ConnectTo(dWTBlock.InputNodes[0]); dWTBlock.OutputNodes[1].ConnectTo(outputSeriesBlock.InputNodes[0]); //Appending the blocks to a block list and execute all var blockList = new BlockList(); blockList.Add(inputSeriesBlock); blockList.Add(dWTBlock); blockList.Add(outputSeriesBlock); blockList.ExecuteAll(); return outputSeriesBlock.GetSeries(); }
public static List<double> WaveletTransform(List<double> serie) { //Declaring the blocks var inputSeriesBlock = new InputSeriesBlock(); inputSeriesBlock.SetSeries(serie); var dWTBlock = new DWTBlock { WaveletName = "coif4", Level = 1, Rescale = false, ExtensionMode = SignalExtension.ExtensionMode.AntisymmetricWholePoint }; var outputSeriesBlock = new OutputSeriesBlock(); //Connecting the blocks inputSeriesBlock.OutputNodes[0].ConnectTo(dWTBlock.InputNodes[0]); // dWTBlock.OutputNodes[1].ConnectTo(dWTBlock2.InputNodes[0]); dWTBlock.OutputNodes[1].ConnectTo(outputSeriesBlock.InputNodes[0]); //Appending the blocks to a block list and execute all var blockList = new BlockList(); blockList.Add(inputSeriesBlock); blockList.Add(dWTBlock); //blockList.Add(dWTBlock2); blockList.Add(outputSeriesBlock); blockList.ExecuteAll(); return outputSeriesBlock.GetSeries(); }