Source code for pylablib.aux_libs.file_formats.zi

"""
Files generated by the Zurich Instruments ziControl (old LabView version).
"""

from ...core.fileio import loadfile  #@UnresolvedImport

import os.path
import numpy as np


[docs]def load_spectr_file(path, result_format="xy"): """ Load a single demod scope (demod samples vs. time) file. """ data=loadfile.load(path) if data.shape[1]==7: del data.c[4] data.set_column_names(["Time","X","Y","Freq","AuxIn1","AuxIn2"]) data["Time"]-=data["Time",0] if result_format=="comp": data.c.insert("X",data["X"]+1j*data["Y"],"C") del data.c[["X","Y"]] elif result_format!="xy": raise ValueError("unrecognized format: {}".format(result_format)) else: raise ValueError("unexpected number of columns: {}".format(data.shape[1])) return data
[docs]def load_spectr_folder(path, result_format="xy"): """ Load a folder containing demod scope files. Return a list of 6 elements (one pere demod), which are either ``None``, if there's not data for this demod, or contain that demod's trace. """ data=[] for demod in range(1,7): file_path=os.path.join(path,"Freq{}.csv".format(demod)) if os.path.exists(file_path): data.append(load_spectr_file(file_path,result_format=result_format)) else: data.append(None) return data
[docs]def load_sweep_file(path, result_format="xy"): """ Load a single sweep file (demod samples vs. drive frequency). """ data=loadfile.load(path) if data.shape[1]==8: del data.c[4:] data.set_column_names(["Freq","R","Theta","Bandwidth"]) data["Theta"]*=np.pi/180. if result_format=="comp": data.c.insert("R",data["R"]*np.exp(1j*data["Theta"]),"C") elif result_format=="xy": data.c.insert("R",data["R"]*np.cos(data["Theta"]),"X") data.c.insert("R",data["R"]*np.sin(data["Theta"]),"Y") else: raise ValueError("unrecognized format: {}".format(result_format)) del data.c[["R","Theta"]] else: raise ValueError("unexpected number of columns: {}".format(data.shape[1])) return data
[docs]def load_sweep_folder(path, result_format="xy"): """ Load a folder containing a demod sweep file. """ return load_sweep_file(os.path.join(path,"Data.csv"),result_format=result_format)