michael-betz/readTrc

Little Python class to read .trc binary files from LeCroy Oscilloscopes

★ 30Forks 15PythonGitHub ↗Compare

README

readTrc

Little Python helper class to read .trc binary files from LeCroy Oscilloscopes. Tested on Python3.

Installation

Just copy the readTrc.py file in your python path.

Usage

from readTrc import Trc
trc = Trc()
fName = "./C1_00000.trc"
datX, datY, d = trc.open(fName)
plot(datX, datY)
print(d)
# Or alternatively
plot(trc.x, trc.y)
print(trc.d)

Note that in the above example d is a dictionary which contains the metadata. For example:

{'ACQ_DURATION': 0.0,
 'ACQ_VERT_OFFSET': 0.0,
 'BANDWIDTH_LIMIT': 'off',
 'FIRST_POINT': 0,
 'FIRST_VALID_PNT': 0,
 'FIXED_VERT_GAIN': '50_mV/div',
 'HORIZ_INTERVAL': 1.6666699270695418e-11,
 'HORIZ_OFFSET': -0.000100000004229008,
 'HORIZ_UNCERTAINTY': 9.999999960041972e-13,
 'HORUNIT': 'S',
 'INSTRUMENT_NAME': 'LECROYSDA18000',
 'INSTRUMENT_NUMBER': 15238,
 'LAST_VALID_PNT': 12000001,
 'MAX_VALUE': 22914.0,
 'MIN_VALUE': -23170.0,
 'NOMINAL_BITS': 8,
 'NOM_SUBARRAY_COUNT': 1,
 'PAIR_OFFSET': 0,
 'PIXEL_OFFSET': -0.0001,
 'PNTS_PER_SCREEN': 12000000,
 'POINTS_PER_PAIR': 0,
 'PROBE_ATT': 1.0,
 'PROCESSING_DONE': 'no_processing',
 'RECORD_TYPE': 'single_sweep',
 'RIS_SWEEPS': 1,
 'SEGMENT_INDEX': 0,
 'SPARSING_FACTOR': 1,
 'SUBARRAY_COUNT': 1,
 'SWEEPS_PER_ACQ': 1,
 'TIMEBASE': '20_us/div',
 'TRACE_LABEL': '',
 'TRIGGER_TIME': datetime.datetime(2015, 9, 10, 17, 5, 19, 127343),
 'USER_TEXT': '',
 'VERTICAL_GAIN': 8.631759556010365e-06,
 'VERTICAL_OFFSET': 0.0,
 'VERTICAL_VERNIER': 1.0,
 'VERTUNIT': 'V',
 'VERT_COUPLING': 'DC_50_Ohms',
 'WAVE_ARRAY_COUNT': 12000002,
 'WAVE_SOURCE': 0}

See here for more details.

Contributors

michael-betz

Issues