Skip to content

Instantly share code, notes, and snippets.

@abalijepalli
Last active August 29, 2015 14:16
Show Gist options
  • Save abalijepalli/975148996058ee10d4d7 to your computer and use it in GitHub Desktop.
Save abalijepalli/975148996058ee10d4d7 to your computer and use it in GitHub Desktop.
A Python gist to convert any data type supported by MOSAIC (https://github.com/usnistgov/mosaic) to a simple binary format.
"""
Extend the MOSAIC ConvertToCSV class to export arbitrary binary files.
:Created: 02/25/2015
:Author: Arvind Balijepalli <[email protected]>
:ChangeLog:
.. line-block::
02/25/15 AB Initial version
"""
import mosaic.ConvertToCSV as conv
import mosaic.binTrajIO as bin
import mosaic.settings as sett
import numpy as np
from mosaic.metaTrajIO import EmptyDataPipeError
class ConvertToBin(conv.ConvertToCSV):
def Convert(self, blockSize, binType):
"""
Start converting data
:Parameters:
- `blockSize` : number of data points to convert.
- `binType` : Numpy binary type.
"""
try:
while(True):
np.array( self.trajDataObj.popdata(blockSize), dtype=binType ).tofile(self._filename())
except EmptyDataPipeError:
pass
if __name__ == '__main__':
s={
"AmplifierOffset": 0.0,
"SamplingFrequency": 250000,
"AmplifierScale": "1.0",
"ColumnTypes": "[('curr_pA', '>f8'), ('volts', '>f8')]",
"dcOffset": 0.0,
"filter": "*.bin",
"start": 0.0,
"HeaderOffset": 0,
"IonicCurrentColumn": "curr_pA"
}
ConvertToBin(
bin.binTrajIO(dirname=".", **s ),
outdir="convert",
extension="bin"
).Convert(blockSize=10000000, binType='f4')
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment