P-unit_model/save_model_fits_as_csv.py
2020-09-04 17:54:29 +02:00

46 lines
1.0 KiB
Python

from ModelFit import get_best_fit, ModelFit
import os
def main():
dir = "results/final_1/"
cells = []
eod_freqs = []
parameters = []
for cell in sorted(os.listdir(dir)):
cell_dir = dir + cell
model = get_best_fit(cell_dir, use_comparable_error=False)
cells.append(cell)
eod_freqs.append(model.get_cell_data().get_eod_frequency())
parameters.append(model.get_final_parameters())
save_csv(dir + "models.csv", cells, eod_freqs, parameters)
def save_csv(file, cells, eod_freqs, parameters):
keys = sorted(parameters[0].keys())
with open(file, "w") as file:
header = "cell,eod_frequency"
for k in keys:
header += ",{}".format(k)
file.write(header + "\n")
for i in range(len(cells)):
line = "{},{:.2f}".format(cells[i], eod_freqs[i])
for k in keys:
line += ",{}".format(parameters[i][k])
file.write(line + "\n")
if __name__ == '__main__':
main()