diff --git a/mbtrack2/utilities/read_impedance.py b/mbtrack2/utilities/read_impedance.py index 3d1ba4b1617d4e13ee9015ae4caa2215609cf636..bd3fe6ee4f1e5e91a47414e62279a887e15d0c5a 100644 --- a/mbtrack2/utilities/read_impedance.py +++ b/mbtrack2/utilities/read_impedance.py @@ -412,39 +412,32 @@ def read_wakis(file, component_type='long', divide_by=None, imp=True): comment="#", header=None, sep=r'\s+', - names=["Frequency", "Z"]) # read as string - + names=["Frequency","Z"]) df["Frequency"] = df["Frequency"].apply(lambda x: complex(x.strip( - "()"))) # Convert both columns from strings to complex numbers + "()"))) df["Z"] = df["Z"].apply(lambda x: complex(x.strip("()"))) df["Frequency"] = df["Frequency"].apply( lambda z: z.real - ) # Remove imaginary parts from frequency column (they're all 0j) - if divide_by is not None: # Normalize if needed + ) + if divide_by is not None: df["Z"] = df["Z"] / divide_by if component_type == 'long': df["Z"] = df["Z"].apply(lambda z: complex(abs(z.real), z.imag)) - df.set_index("Frequency", inplace=True) - result = Impedance(variable=df.index, function=df["Z"], component_type=component_type) else: - df = pd.read_csv(file, comment="#", header=None, sep=r'\s+', - names=["Distance", "Wake"]) - + names=["Distance", "Wake"]) df["Time"] = df["Distance"] / c df["Wake"] = df["Wake"] * 1e12 if divide_by is not None: - df["Wake"] = df["Wake"] / divide_by - - df.set_index("Time", inplace=True) - + df["Wake"] = df["Wake"] / divide_by + df.set_index("Time", inplace=True) result = WakeFunction(variable=df.index, function=df["Wake"], component_type=component_type)