46 lines
1.0 KiB
Python
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()
|
|
|
|
|
|
|
|
|