private void eventXml() { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens("C:\\TestData"); EventEntry ee = u.createEventEntry("event.xml", 1000); ee.setFileFormat(ee.createXmlFileFormat()); ee.append(new Event(124, "N", "NORMAL")); ee.append(new Event(346, "N", "NORMAL")); ee.append(new Event(523, "V", "PVC")); u.save(); u.closeAll(); }
public static void setUpBeforeClass(TestContext testContext) { String TestLocation = CopyExampleToTest(EXAMPLE2); factory = UnisensFactoryBuilder.createFactory(); unisens = factory.createUnisens(TestLocation); valuesEntry = (ValuesEntry)unisens.getEntry("bloodpressure.csv"); expectedArray = new Value[] { new Value(0, new short[] { 123, 82 }), new Value(600, new short[] { 124, 87 }), new Value(1200, new short[] { 130, 67 }), new Value(1800, new short[] { 118, 78 }), new Value(2400, new short[] { 142, 92 }) }; expectedValueList = new ValueList(); expectedValueList.setSamplestamps(new long[] { 0, 600, 1200, 1800, 2400 }); expectedValueList.setData(new short[][] { new short[] { 123, 82 }, new short[] { 124, 87 }, new short[] { 130, 67 }, new short[] { 118, 78 }, new short[] { 142, 92 } }); tempValuesEntry = unisens.createValuesEntry("temp_values.csv", new String[] { "a", "b" }, DataType.INT16, 400); }
private void valuesXml() { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens("C:\\TestData"); ValuesEntry ve = u.createValuesEntry("values.xml", new String[] { "A", "B" }, DataType.INT16, 250); ve.setFileFormat(ve.createXmlFileFormat()); ve.append(new Value(1320, new short[] { 1, 4 })); ve.append(new Value(22968, new short[] { 2, 5 })); ve.append(new Value(30232, new short[] { 3, 6 })); u.save(); u.closeAll(); }
public void testAppendEvent() { Event newEvent = new Event(6000, "A7", "liegen"); expected.Add(newEvent); eventEntry.append(newEvent); assertEventList(expected, eventEntry.read(0, 7)); expected.Remove(newEvent); eventEntry.empty(); eventEntry.append(expected); assertEventList(expected, eventEntry.read(0, 6)); unisens.closeAll(); unisens = factory.createUnisens(EXAMPLE2); }
public static void setUpBeforeClass(TestContext testContext) { String TestLocation = CopyExampleToTest(EXAMPLE2); factory = UnisensFactoryBuilder.createFactory(); unisens = factory.createUnisens(TestLocation); eventEntry = (EventEntry)unisens.getEntry("events.csv"); expected = new List <Event>(); expected.Add(new Event(30, "A1", "liegen")); expected.Add(new Event(500, "A2", "sitzen")); expected.Add(new Event(1343, "A3", "stehen")); expected.Add(new Event(3200, "A4", "gehen")); expected.Add(new Event(5600, "A5", "treppe hoch")); expected.Add(new Event(5600, "A6", "")); }
private void eventBin() { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens("C:\\TestData"); EventEntry ee = u.createEventEntry("event.bin", 1000); ee.setFileFormat(ee.createBinFileFormat()); ee.setCommentLength(6); ee.setTypeLength(1); ee.append(new Event(124, "N", "NORMAL")); ee.append(new Event(346, "N", "NORMAL")); ee.append(new Event(523, "V", "PVC ")); u.save(); u.closeAll(); }
private void signalCsvDouble() { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens("C:\\TestData"); SignalEntry se = u.createSignalEntry("signalD.csv", new String[] { "A", "B" }, DataType.DOUBLE, 250); double[][] A = new double[][] { new double[] { 1.3, 2.5, 3.2 }, new double[] { 4.3, 5.0, 6.123456 } }; CsvFileFormat cff = se.createCsvFileFormat(); cff.setSeparator(";"); cff.setDecimalSeparator(","); se.setFileFormat(cff); se.append(A); u.save(); u.closeAll(); }
private void signalCsv() { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens("C:\\TestData"); SignalEntry se = u.createSignalEntry("signal.csv", new String[] { "A", "B" }, DataType.INT16, 250); short[][] A = new short[][] { new short[] { 1, 2, 3 }, new short[] { 4, 5, 6 } }; CsvFileFormat cff = se.createCsvFileFormat(); cff.setSeparator(";"); cff.setDecimalSeparator(","); se.setFileFormat(cff); se.append(A); u.save(); u.closeAll(); }
private void eventCsv() { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens("C:\\TestData"); EventEntry ee = u.createEventEntry("event.csv", 1000); CsvFileFormat cff = ee.createCsvFileFormat(); cff.setSeparator(";"); cff.setDecimalSeparator("."); ee.setFileFormat(cff); ee.append(new Event(124, "N", "NORMAL")); ee.append(new Event(346, "N", "NORMAL")); ee.append(new Event(523, "V", "PVC")); u.save(); u.closeAll(); }
private void valuesCsv() { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens("C:\\TestData"); ValuesEntry ve = u.createValuesEntry("values.csv", new String[] { "A", "B" }, DataType.INT16, 250); CsvFileFormat cff = ve.createCsvFileFormat(); cff.setSeparator(";"); cff.setDecimalSeparator("."); ve.setFileFormat(cff); ve.append(new Value(1320, new short[] { 1, 4 })); ve.append(new Value(22968, new short[] { 2, 5 })); ve.append(new Value(30232, new short[] { 3, 6 })); u.save(); u.closeAll(); }
public static void setUpBeforeClass(TestContext testContext) { Directory.CreateDirectory(EXAMPLE_TEMP_EVENT_ENTRY); factory = UnisensFactoryBuilder.createFactory(); unisens = factory.createUnisens(EXAMPLE_TEMP_EVENT_ENTRY); timestampStart = new DateTime(); unisens.setTimestampStart(timestampStart); unisens.setMeasurementId("Temp events"); events.Add(new Event(30, "A1", "liegen")); events.Add(new Event(500, "A2", "sitzen")); events.Add(new Event(1343, "A3", "stehen")); events.Add(new Event(3200, "A4", "gehen")); events.Add(new Event(5600, "A5", "treppe hoch")); events.Add(new Event(5600, "A6", "")); events.Add(new Event(int.MaxValue - 1, "A7", "")); events.Add(new Event(0, "A8", "")); }
public void testSaveUnisens() { eventEntry = unisens.createEventEntry("test.bin", sampleRate); eventEntry.setTypeLength(2); eventEntry.setCommentLength(11); eventEntry.setFileFormat(new BinFileFormatImpl()); eventEntry.append(events); unisens.closeAll(); unisens.save(); unisens = factory.createUnisens(EXAMPLE_TEMP_EVENT_ENTRY); Assert.AreEqual(timestampStart.ToString(), unisens.getTimestampStart().ToString()); eventEntry = (EventEntry)unisens.getEntry("test.bin"); Assert.AreEqual("BIN", eventEntry.getFileFormat().getFileFormatName()); Assert.AreEqual(sampleRate, eventEntry.getSampleRate(), 0); Assert.IsTrue(eventEntry.getFileFormat() is BinFileFormat); Assert.AreEqual(Endianess.LITTLE, ((BinFileFormat)eventEntry.getFileFormat()).getEndianess()); }
public void testLsbValueAgain() { double lsbValue = 1.345; System.IO.Directory.CreateDirectory(Test1Location + "_x"); Unisens unisensTest = factory.createUnisens(Test1Location + "_x"); SignalEntry signalEntry = unisensTest.createSignalEntry("lsbtest.bin", new String[] { "c1" }, DataType.INT32, 400); signalEntry.append(new Int32[] { 1, 2, 3, 4 }); signalEntry.setLsbValue(lsbValue); unisensTest.save(); unisensTest.closeAll(); SignalEntry testEntry = (SignalEntry)unisensTest.getEntry("lsbtest.bin"); Assert.AreEqual(testEntry.getLsbValue(), signalEntry.getLsbValue()); Assert.AreEqual(lsbValue, signalEntry.getLsbValue()); }
public void testSampleRateAgain() { double sampleRate = 10.24; System.IO.Directory.CreateDirectory(Test1Location + "_x"); Unisens unisensTest = factory.createUnisens(Test1Location + "_x"); SignalEntry signalEntry = unisensTest.createSignalEntry("sampleratetest.bin", new String[] { "c1" }, DataType.INT32, sampleRate); signalEntry.append(new Int32[] { 1, 2, 3, 4 }); unisensTest.save(); unisensTest.closeAll(); SignalEntry testEntry = (SignalEntry)unisensTest.getEntry("sampleratetest.bin"); Assert.AreEqual(sampleRate, testEntry.getSampleRate()); Assert.AreEqual(sampleRate, signalEntry.getSampleRate()); }
// Testdaten (Matlab): // DATA = [2^32, 0, 2^7-1, 2^15-1, 2^31-1, 2^8-1, 2^16-1, 2^32-1, -2^7, -2^15, -2^31, 123.456]'; /// <summary> /// Unisens library test /// </summary> /// <param name="p">Path for test unisens dataset</param> public Program(string p, string p1) { this.path = p; this.path1 = p1; // string[] fileFormatList = new string[] { "csv", "bin", "xml" }; DataType[] dataTypeList = new DataType[] { DataType.INT8, DataType.UINT8, DataType.INT16, DataType.UINT16, DataType.INT32, DataType.UINT32, DataType.FLOAT, DataType.DOUBLE }; // string[] fileFormatList = new string[] { "csv" }; //DataType[] dataTypeList = new DataType[] { DataType.FLOAT, DataType.DOUBLE }; string[] fileFormatList = new string[] { "csv", "bin" }; //DataType[] dataTypeList = new DataType[] { DataType.INT8 }; foreach (string f in fileFormatList) { foreach (DataType dataType in dataTypeList) { signalTest(f, dataType); } } //signalBin(); //signalCsv(); //signalXml(); //valuesBin(); //valuesCsv(); //valuesXml(); //eventBin(); //eventCsv(); //eventXml(); UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens(path1); List <Entry> listen = u.getEntries(); foreach (Entry en in listen) { String name = en.getId(); ReadFile(name); } }
public void testZSaveUnisens() { unisens.closeAll(); unisens = factory.createUnisens(EXAMPLE_TEMP_SIGNAL_ENTRY); Assert.AreEqual(timestampStart.ToString(), unisens.getTimestampStart().ToString()); signalEntry = (SignalEntry)unisens.createSignalEntry("se_double_be.bin", new String[] { "a", "b" }, DataType.DOUBLE, sampleRate); signalEntryFileFormat = (BinFileFormat)signalEntry.getFileFormat(); signalEntryFileFormat.setEndianess(Endianess.BIG); signalEntry.append(double64); unisens.save(); signalEntry = (SignalEntry)unisens.getEntry("se_double_be.bin"); Assert.AreEqual("BIN", signalEntry.getFileFormat().getFileFormatName()); Assert.AreEqual(DataType.DOUBLE, signalEntry.getDataType()); Assert.AreEqual(sampleRate, signalEntry.getSampleRate(), 0); Assert.IsTrue(signalEntry.getFileFormat() is BinFileFormat); Assert.AreEqual(Endianess.BIG, ((BinFileFormat)signalEntry.getFileFormat()).getEndianess()); unisens.deleteEntry(signalEntry); unisens.save(); }
internal EventEntryImpl(Unisens unisens, XmlNode eventNode) : base(unisens, eventNode) { parse(eventNode); }
internal ValuesEntryImpl(Unisens unisens, XmlNode entryNode) : base(unisens, entryNode) { }
internal CustomEntryImpl(Unisens unisens, XmlNode entryNode) : base(unisens, entryNode) { parse(entryNode); }
internal SignalEntryImpl(Unisens unisens, XmlNode entryNode) : base(unisens, entryNode) { }
internal SignalEntryImpl(Unisens unisens, string id, string[] channelNames, DataType dataType, double sampleRate) : base(unisens, id, channelNames, dataType, sampleRate) { fileFormat = new BinFileFormatImpl(); }
public GroupImpl(Unisens unisens, XmlNode groupNode) { this.unisens = unisens; parse(groupNode); }
public GroupImpl(Unisens unisens, string id, string comment) { this.id = id; this.comment = comment; this.unisens = unisens; }
private void valueTest(string fileFormat, DataType dataType) { UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens(path); string fileName = "value_" + dataType.ToString() + "." + fileFormat; ValuesEntry ve = u.createValuesEntry(fileName, new String[] { "A", "B" }, dataType, 250); switch (fileFormat) { case "bin": // BIN BinFileFormat bff = ve.createBinFileFormat(); bff.setEndianess(Endianess.LITTLE); ve.setFileFormat(bff); break; case "xml": // XML XmlFileFormat xff = ve.createXmlFileFormat(); ve.setFileFormat(xff); break; case "csv": // CSV CsvFileFormat cff = ve.createCsvFileFormat(); cff.setComment("csv , 2 channel "); cff.setSeparator(";"); cff.setDecimalSeparator("."); ve.setFileFormat(cff); break; } var samplestamp = new long[3] { 1320, 22968, 30232 }; switch (dataType) { case DataType.INT8: var A = new sbyte[][] { new sbyte[] { 127, 4 }, new sbyte[] { 2, 5 }, new sbyte[] { 3, 6 } }; ValueList valueList = new ValueList(samplestamp, A); ve.appendValuesList(valueList); break; case DataType.UINT8: var B = new short[][] { new short[] { 255, 4 }, new short[] { 2, 5 }, new short[] { 3, 6 } }; ValueList valueList1 = new ValueList(samplestamp, B); ve.appendValuesList(valueList1); break; case DataType.INT16: var C = new short[][] { new short[] { 32767, 4 }, new short[] { 2, 5 }, new short[] { 3, 6 } }; ValueList valueList2 = new ValueList(samplestamp, C); ve.appendValuesList(valueList2); break; case DataType.UINT16: var D = new int[][] { new int[] { 65535, 4 }, new int[] { 2, 5 }, new int[] { 3, 6 } }; ValueList valueList3 = new ValueList(samplestamp, D); ve.appendValuesList(valueList3); break; case DataType.INT32: var E = new int[][] { new int[] { 2147483647, 4 }, new int[] { 2, 5 }, new int[] { 3, 6 } }; ValueList valueList4 = new ValueList(samplestamp, E); ve.appendValuesList(valueList4); break; //case DataType.UINT32: // var F = new long[][] { new long[] { 4294967295, 4 }, new long[] { 2, 5 }, new long[] { 3, 6 } }; // ValueList valueList5 = new ValueList(samplestamp, F); // ve.appendValuesList(valueList5); // break; case DataType.FLOAT: var G = new float[][] { new float[] { 123.4567F, 4 }, new float[] { 2, 5 }, new float[] { 3, 6 } }; ValueList valueList6 = new ValueList(samplestamp, G); ve.appendValuesList(valueList6); break; case DataType.DOUBLE: var H = new double[][] { new double[] { 123.4567D, 4 }, new double[] { 2, 5 }, new double[] { 3, 6 } }; ValueList valueList7 = new ValueList(samplestamp, H); ve.appendValuesList(valueList7); break; } }
internal CustomEntryImpl(Unisens unisens, string id) : base(unisens, id) { fileFormat = new CustomFileFormatImpl("custom"); }
public MeasurementEntryImpl(Unisens unisens, string id, string[] channelNames, DataType dataType, double sampleRate) : base(unisens, id, sampleRate) { this.channelNames = channelNames; this.dataType = dataType; }
internal MeasurementEntryImpl(Unisens unisens, XmlNode entryNode) : base(unisens, entryNode) { parse(entryNode); }
private void signalTest(string fileFormat, DataType dataType) { string[] Channelnames = { "CH1", "CH2" }; UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens(path); string fileName = "signal_" + dataType.ToString() + "_" + fileFormat + "." + fileFormat.Substring(0, 3); string fileName1 = "value_" + dataType.ToString() + "_" + fileFormat + "." + fileFormat.Substring(0, 3); ValuesEntry ve = u.createValuesEntry(fileName1, new String[] { "A", "B" }, dataType, 250); SignalEntry se = u.createSignalEntry(fileName, new String[] { "A", "B" }, dataType, 250); switch (fileFormat) { case "bin_LITTLE": // BIN BinFileFormat bffsili = se.createBinFileFormat(); bffsili.setEndianess(Endianess.LITTLE); se.setFileFormat(bffsili); BinFileFormat bffva = ve.createBinFileFormat(); bffva.setEndianess(Endianess.LITTLE); ve.setFileFormat(bffva); break; case "bin_BIG": // BIN BinFileFormat bffsibi = se.createBinFileFormat(); bffsibi.setEndianess(Endianess.BIG); se.setFileFormat(bffsibi); BinFileFormat bffvabi = ve.createBinFileFormat(); bffvabi.setEndianess(Endianess.BIG); ve.setFileFormat(bffvabi); break; case "xml": // XML XmlFileFormat xffsi = se.createXmlFileFormat(); se.setFileFormat(xffsi); XmlFileFormat xffva = ve.createXmlFileFormat(); ve.setFileFormat(xffva); break; case "csv": // CSV CsvFileFormat cffsi = se.createCsvFileFormat(); cffsi.setSeparator("\t"); cffsi.setDecimalSeparator(","); se.setFileFormat(cffsi); CsvFileFormat cffva = ve.createCsvFileFormat(); cffva.setComment("csv , 2 channel "); cffva.setSeparator(";"); cffva.setDecimalSeparator("."); ve.setFileFormat(cffva); break; } var samplestamp = new long[3] { 1320, 22968, 30232 }; switch (dataType) { case DataType.INT8: var A = new sbyte[][] { new sbyte[] { -128, 127 }, new sbyte[] { 2, 5 }, new sbyte[] { 3, 6 } }; se.append(A); ValueList valueList = new ValueList(samplestamp, A); ve.appendValuesList(valueList); break; case DataType.UINT8: var B = new byte[][] { new byte[] { 255, 4 }, new byte[] { 2, 5 }, new byte[] { 3, 6 } }; se.append(B); ValueList valueList1 = new ValueList(samplestamp, B); ve.appendValuesList(valueList1); break; case DataType.INT16: var C = new short[][] { new short[] { -32768, 32767 }, new short[] { 2, 5 }, new short[] { 3, 6 } }; se.append(C); ValueList valueList2 = new ValueList(samplestamp, C); ve.appendValuesList(valueList2); break; case DataType.UINT16: var D = new UInt16[][] { new UInt16[] { 65535, 4 }, new UInt16[] { 2, 5 }, new UInt16[] { 3, 6 } }; se.append(D); ValueList valueList3 = new ValueList(samplestamp, D); ve.appendValuesList(valueList3); break; case DataType.INT32: var E = new int[][] { new int[] { -2147483648, 2147483647 }, new int[] { 2, 5 }, new int[] { 3, 6 } }; se.append(E); ValueList valueList4 = new ValueList(samplestamp, E); ve.appendValuesList(valueList4); break; case DataType.UINT32: var F = new UInt32[][] { new UInt32[] { 4294967295, 4 }, new UInt32[] { 2, 5 }, new UInt32[] { 3, 6 } }; se.append(F); ValueList valueList5 = new ValueList(samplestamp, F); ve.appendValuesList(valueList5); break; case DataType.FLOAT: var G = new float[][] { new float[] { 123.4567F, 4 }, new float[] { 2, 5 }, new float[] { 3, 6 } }; se.append(G); ValueList valueList6 = new ValueList(samplestamp, G); ve.appendValuesList(valueList6); break; case DataType.DOUBLE: var H = new double[][] { new double[] { 123.4567D, 4 }, new double[] { 2, 5 }, new double[] { 3, 6 } }; se.append(H); ValueList valueList7 = new ValueList(samplestamp, H); ve.appendValuesList(valueList7); break; } u.save(); //Console.WriteLine("hallo"); //Console.WriteLine(uf.ToString()); //Console.ReadKey(); }
// WRITE private void signalTest(string fileFormat, DataType dataType) { string[] Channelnames = { "CH1", "CH2" }; UnisensFactory uf = UnisensFactoryBuilder.createFactory(); Unisens u = uf.createUnisens(path); string fileName = "signal_" + dataType.ToString() + "." + fileFormat; SignalEntry se = u.createSignalEntry(fileName, new String[] { "A", "B" }, dataType, 250); switch (fileFormat) { case "bin": // BIN BinFileFormat bff = se.createBinFileFormat(); bff.setEndianess(Endianess.LITTLE); se.setFileFormat(bff); break; case "xml": // XML XmlFileFormat xff = se.createXmlFileFormat(); se.setFileFormat(xff); break; case "csv": // CSV CsvFileFormat cff = se.createCsvFileFormat(); cff.setSeparator("\t"); cff.setDecimalSeparator("."); se.setFileFormat(cff); break; } switch (dataType) { case DataType.INT8: var A = new sbyte[][] { new sbyte[] { 127, -128 }, new sbyte[] { 2, 5 }, new sbyte[] { 3, 6 } }; //var A = new byte[][] { new byte[] { 127, 255 }, new byte[] { 1, 0 }, new byte[] { 3, 6 } }; se.append(A); break; case DataType.UINT8: //var B = new short[][] { new short[] { 255, 0 }, new short[] { 2, 5 }, new short[] { 3, 6 } }; var B = new byte[][] { new byte[] { 127, 255 }, new byte[] { 1, 0 }, new byte[] { 3, 6 } }; se.append(B); break; case DataType.INT16: var C = new short[][] { new short[] { 32767, -32768 }, new short[] { 2, 5 }, new short[] { 3, 6 } }; se.append(C); break; case DataType.UINT16: var D = new UInt16[][] { new UInt16[] { 65535, 0 }, new UInt16[] { 2, 5 }, new UInt16[] { 3, 6 } }; se.append(D); break; case DataType.INT32: var E = new int[][] { new int[] { 2147483647, -2147483648 }, new int[] { 2, 5 }, new int[] { 3, 6 } }; se.append(E); break; case DataType.UINT32: var F = new UInt32[][] { new UInt32[] { 4294967295, 0 }, new UInt32[] { 2, 5 }, new UInt32[] { 3, 6 } }; se.append(F); break; case DataType.FLOAT: var G = new float[][] { new float[] { 123.4567F, 4 }, new float[] { 2, 5 }, new float[] { 3, 6 } }; se.append(G); break; case DataType.DOUBLE: var H = new double[][] { new double[] { 123.4567D, 4 }, new double[] { 2, 5 }, new double[] { 3, 6 } }; se.append(H); break; } // Attributes se.setAdcResolution(16); se.setBaseline(0); se.setAdcZero(0); se.setComment("FhG - Elektroden "); se.setContentClass("ECG"); se.setSourceId("ecg_m500_250 .bin "); se.setSource("FhG-Elektroden , ADS8345 "); se.setUnit("uV"); se.setLsbValue(1.8273); se.setSampleRate(250); se.setChannelNames(Channelnames); // Save and close u.save(); u.closeAll(); }
internal EventEntryImpl(Unisens unisens, string id, double sampleRate) : base(unisens, id, sampleRate) { ; fileFormat = new CsvFileFormatImpl(); }