Source code for BGlib.gmode.translators.df_utils.gmode_utils

# -*- coding: utf-8 -*-
"""
Created on Fri Mar 04 11:16:20 2016

@author: Suhas Somnath
"""

from __future__ import division, print_function, absolute_import, unicode_literals
from scipy.io.matlab import loadmat  # To load parameters stored in Matlab .mat file
import numpy as np


[docs] def readGmodeParms(parm_path): """ Translates the parameters stored in a G-mode parms.mat file into a python dictionary Parameters ------------ parm_path : String / unicode Absolute path of the parms.mat file Returns ---------- parm_dict : Dictionary dictionary of relevant parameters neatly formatted with units """ parm_data = loadmat(parm_path, squeeze_me=True, struct_as_record=True) parm_dict = dict() IO_parms = parm_data['IOparms'] parm_dict['IO_samp_rate_[Hz]'] = np.int32(IO_parms['sampRate'].item()) parm_dict['IO_down_samp_rate_[Hz]'] = np.int32(IO_parms['downSampRate'].item()) parm_dict['IO_AO0_amp'] = np.int32(IO_parms['AO0_amp'].item()) parm_dict['IO_AO1_amp'] = np.int32(IO_parms['AO1_amp'].item()) parm_dict['IO_AI_chans'] = np.int32(parm_data['aiChans']) env_parms = parm_data['envParms'] parm_dict['envelope_mode'] = np.int32(env_parms['envMode'].item()) parm_dict['envelope_type'] = np.int32(env_parms['envType'].item()) parm_dict['envelope_smoothing'] = np.int32(env_parms['smoothing'].item()) forc_parms = parm_data['forcParms'] parm_dict['FORC_V_high_1_[V]'] = np.float(forc_parms['vHigh1'].item()) parm_dict['FORC_V_high_2_[V]'] = np.float(forc_parms['vHigh2'].item()) parm_dict['FORC_V_low_1_[V]'] = np.float(forc_parms['vLow1'].item()) parm_dict['FORC_V_low_2_[V]'] = np.float(forc_parms['vLow2'].item()) gen_sig = parm_data['genSig'] parm_dict['wfm_f_fast_[Hz]'] = np.float(gen_sig['fFast'].item()) parm_dict['wfm_d_fast_[s]'] = np.float(gen_sig['dFast'].item()) parm_dict['wfm_p_slow_[s]'] = np.float(gen_sig['pSlow'].item()) parm_dict['wfm_n_cycles'] = np.int32(gen_sig['nCycles'].item()) parm_dict['wfm_swap_mode'] = np.int32(gen_sig['swapMode'].item()) parm_dict['wfm_reps'] = np.int32(gen_sig['mReps'].item()) scl_parms = parm_data['sclParms'] parm_dict['wfm_amp_tip_fast_[V]'] = np.float(scl_parms['ampTipFast'].item()) parm_dict['wfm_off_tip_fast_[V]'] = np.float(scl_parms['offTipFast'].item()) parm_dict['wfm_amp_tip_slow_[V]'] = np.float(scl_parms['ampTipSlow'].item()) parm_dict['wfm_off_tip_slow_[V]'] = np.float(scl_parms['offTipSlow'].item()) parm_dict['wfm_amp_BD_fast_[V]'] = np.float(scl_parms['ampBDfast'].item()) parm_dict['wfm_off_BD_fast_[V]'] = np.float(scl_parms['offBDfast'].item()) parm_dict['grid_num_rows'] = parm_data['numrows'] parm_dict['grid_num_cols'] = parm_data['numcols'] return parm_dict