12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485 |
- import unittest
- import McsPy.McsCMOS
- import os
- import numpy
- FILENAME = os.path.join(os.path.dirname(__file__), 'TestData\\CMOSTestRec.h5')
- class TestMcsCMOS(unittest.TestCase):
- def setUp(self):
- self.test_file=McsPy.McsCMOS.CMOSData(FILENAME)
- def test_CMOSData_meta(self):
- #File Meta
- self.assertEqual(self.test_file.meta["McsHdf5ProtocolType"], "RawData")
- self.assertEqual(self.test_file.meta["McsHdf5ProtocolVersion"], 1)
- # Data Meta
- self.assertEqual(self.test_file.meta["ProgramName"].strip(), "CMOS-MEA-Control")
- self.assertEqual(self.test_file.meta["ProgramVersion"].strip(), "0.7.0.0")
- self.assertEqual(self.test_file.meta["MeaName"].strip(), "nMos32?")
- self.assertEqual(self.test_file.meta["MeaLayout"], "")
- self.assertEqual(self.test_file.meta["MeaSN"].strip(), "unknown")
- self.assertEqual(self.test_file.meta["Date"].strip(), "Tuesday, November 04, 2014")
- self.assertEqual(self.test_file.meta["DateInTicks"], 635506934728348929)
- self.assertEqual(self.test_file.meta["FileGUID"], "67ced1bf-c1a7-4a3d-9df3-2e56fd459cbd")
- self.assertEqual(self.test_file.meta["Comment"], "")
- # InfoFrame Meta
- self.assertEqual(self.test_file.meta["FrameID"], 1)
- self.assertEqual(self.test_file.meta["FrameDataID"], 0)
- self.assertEqual(self.test_file.meta["GroupID"], 1)
- self.assertEqual(self.test_file.meta["Label"], "ROI 1")
- self.assertEqual(self.test_file.meta["RawDataType"], "Short")
- self.assertEqual(self.test_file.meta["Unit"], "V")
- self.assertEqual(self.test_file.meta["Exponent"], -9)
- self.assertEqual(self.test_file.meta["ADZero"], 0)
- self.assertEqual(self.test_file.meta["Tick"], 50)
- self.assertEqual(self.test_file.meta["HighPassFilterType"], "")
- self.assertEqual(self.test_file.meta["HighPassFilterCutOffFrequency"], "-1")
- self.assertEqual(self.test_file.meta["HighPassFilterOrder"], -1)
- self.assertEqual(self.test_file.meta["LowPassFilterType"], "")
- self.assertEqual(self.test_file.meta["LowPassFilterCutOffFrequency"], "-1")
- self.assertEqual(self.test_file.meta["LowPassFilterOrder"], -1)
- self.assertEqual(self.test_file.meta["SensorSpacing"], 1)
- self.assertEqual(self.test_file.meta["FrameLeft"], 1)
- self.assertEqual(self.test_file.meta["FrameTop"], 1)
- self.assertEqual(self.test_file.meta["FrameRight"], 65)
- self.assertEqual(self.test_file.meta["FrameBottom"], 65)
- self.assertEqual(self.test_file.meta["ReferenceFrameLeft"], 1)
- self.assertEqual(self.test_file.meta["ReferenceFrameTop"], 1)
- self.assertEqual(self.test_file.meta["ReferenceFrameRight"], 65)
- self.assertEqual(self.test_file.meta["ReferenceFrameBottom"], 65)
- def test_CMOSData_data(self):
- # Dataset Dimensions
- self.assertEqual(self.test_file.raw_data.shape[0],65)
- self.assertEqual(self.test_file.raw_data.shape[1],65)
- self.assertEqual(self.test_file.raw_data.shape[2],2000)
- #Some Random Datapoints
- self.assertEqual(self.test_file.raw_data[56,45,33],10)
- self.assertEqual(self.test_file.raw_data[1,11,203],-3)
- self.assertEqual(self.test_file.raw_data[23,64,870],0)
- def test_CMOSData_conversion_factors(self):
- self.assertEqual(self.test_file.conv_factors[56,45],6456)
- self.assertEqual(self.test_file.conv_factors[1,11],1)
- self.assertEqual(self.test_file.conv_factors[23,64],1)
- def test_CMOSData_conversion_proxy(self):
- #Data Access
- self.assertEqual(self.test_file.conv_data[56,45,33],64560)
- self.assertEqual(self.test_file.conv_data[1,11,203],-3)
- self.assertEqual(self.test_file.conv_data[23,64,870],0)
- #Attribute proxy
- self.assertEqual(self.test_file.conv_data.dtype,numpy.int32)
- self.assertEqual(self.test_file.conv_data[23,64,870].dtype,numpy.int32)
- if __name__ == '__main__':
- unittest.main()
|