Skip to content

Commit 7a21cc0

Browse files
author
dobener
committed
Adds export functions for decorators (fixes #36)
1 parent 79f52e2 commit 7a21cc0

File tree

6 files changed

+153
-35
lines changed

6 files changed

+153
-35
lines changed

examples/SiO2_Si Mueller Matrix/SiO2_Si Mueller Matrix.ipynb

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
{
4747
"data": {
4848
"application/vnd.jupyter.widget-view+json": {
49-
"model_id": "2c9b20db144043b9b3a4576021bb5c7b",
49+
"model_id": "7869aa4a5e2a4d669019f040ba1222e9",
5050
"version_major": 2,
5151
"version_minor": 0
5252
},
@@ -78,20 +78,20 @@
7878
},
7979
{
8080
"cell_type": "code",
81-
"execution_count": 69,
81+
"execution_count": 5,
8282
"id": "dc1ca09c-b0a6-4ce5-8715-fed86f1da48f",
8383
"metadata": {},
8484
"outputs": [
8585
{
8686
"data": {
8787
"text/html": [
88-
"<h2>Fit Statistics</h2><table><tr><td>fitting method</td><td>leastsq</td><td></td></tr><tr><td># function evals</td><td>98</td><td></td></tr><tr><td># data points</td><td>22336</td><td></td></tr><tr><td># variables</td><td>7</td><td></td></tr><tr><td>chi-square</td><td> 4.15193667</td><td></td></tr><tr><td>reduced chi-square</td><td> 1.8594e-04</td><td></td></tr><tr><td>Akaike info crit.</td><td>-191860.730</td><td></td></tr><tr><td>Bayesian info crit.</td><td>-191804.632</td><td></td></tr></table><h2>Variables</h2><table><tr><th> name </th><th> value </th><th> standard error </th><th> relative error </th><th> initial value </th><th> min </th><th> max </th><th> vary </th></tr><tr><td> SiO2_n0 </td><td> 1.46444761 </td><td> 7.0599e-04 </td><td> (0.05%) </td><td> 1.452 </td><td> -100.000000 </td><td> 100.000000 </td><td> True </td></tr><tr><td> SiO2_n1 </td><td> -0.13383336 </td><td> 0.58947808 </td><td> (440.46%) </td><td> 36.0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_n2 </td><td> 15.9280047 </td><td> 0.28218991 </td><td> (1.77%) </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_k0 </td><td> 0.01718283 </td><td> 6.4320e-04 </td><td> (3.74%) </td><td> 0 </td><td> -100.000000 </td><td> 100.000000 </td><td> True </td></tr><tr><td> SiO2_k1 </td><td> -24.0903682 </td><td> 1.03845809 </td><td> (4.31%) </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_k2 </td><td> 9.17505029 </td><td> 0.41326998 </td><td> (4.50%) </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_d </td><td> 104.067145 </td><td> 0.10335035 </td><td> (0.10%) </td><td> 120 </td><td> 0.00000000 </td><td> 40000.0000 </td><td> True </td></tr></table><h2>Correlations (unreported correlations are < 0.100)</h2><table><tr><td>SiO2_k1</td><td>SiO2_k2</td><td>-0.9764</td></tr><tr><td>SiO2_k0</td><td>SiO2_k1</td><td>-0.9640</td></tr><tr><td>SiO2_n0</td><td>SiO2_d</td><td>-0.9557</td></tr><tr><td>SiO2_n1</td><td>SiO2_n2</td><td>-0.9513</td></tr><tr><td>SiO2_k0</td><td>SiO2_d</td><td>0.9464</td></tr><tr><td>SiO2_n0</td><td>SiO2_k0</td><td>-0.9044</td></tr><tr><td>SiO2_k0</td><td>SiO2_k2</td><td>0.8935</td></tr><tr><td>SiO2_k1</td><td>SiO2_d</td><td>-0.8400</td></tr><tr><td>SiO2_n0</td><td>SiO2_k1</td><td>0.8028</td></tr><tr><td>SiO2_k2</td><td>SiO2_d</td><td>0.7319</td></tr><tr><td>SiO2_n0</td><td>SiO2_k2</td><td>-0.6995</td></tr><tr><td>SiO2_n1</td><td>SiO2_d</td><td>-0.2971</td></tr><tr><td>SiO2_n1</td><td>SiO2_k0</td><td>-0.2812</td></tr><tr><td>SiO2_n1</td><td>SiO2_k1</td><td>0.2496</td></tr><tr><td>SiO2_n1</td><td>SiO2_k2</td><td>-0.2175</td></tr><tr><td>SiO2_n0</td><td>SiO2_n2</td><td>0.2059</td></tr></table>"
88+
"<h2>Fit Statistics</h2><table><tr><td>fitting method</td><td>leastsq</td><td></td></tr><tr><td># function evals</td><td>107</td><td></td></tr><tr><td># data points</td><td>22336</td><td></td></tr><tr><td># variables</td><td>7</td><td></td></tr><tr><td>chi-square</td><td> 3.00724141</td><td></td></tr><tr><td>reduced chi-square</td><td> 1.3468e-04</td><td></td></tr><tr><td>Akaike info crit.</td><td>-199065.245</td><td></td></tr><tr><td>Bayesian info crit.</td><td>-199009.148</td><td></td></tr></table><h2>Variables</h2><table><tr><th> name </th><th> value </th><th> standard error </th><th> relative error </th><th> initial value </th><th> min </th><th> max </th><th> vary </th></tr><tr><td> SiO2_n0 </td><td> 1.45271092 </td><td> 5.7283e-04 </td><td> (0.04%) </td><td> 1.452 </td><td> -100.000000 </td><td> 100.000000 </td><td> True </td></tr><tr><td> SiO2_n1 </td><td> 30.7219120 </td><td> 0.55071825 </td><td> (1.79%) </td><td> 36.0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_n2 </td><td> 3.41046425 </td><td> 0.25306938 </td><td> (7.42%) </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_k0 </td><td> 0.00393829 </td><td> 5.7854e-04 </td><td> (14.69%) </td><td> 0 </td><td> -100.000000 </td><td> 100.000000 </td><td> True </td></tr><tr><td> SiO2_k1 </td><td> -6.96288298 </td><td> 0.91853048 </td><td> (13.19%) </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_k2 </td><td> 3.16088017 </td><td> 0.36345646 </td><td> (11.50%) </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> SiO2_d </td><td> 103.560409 </td><td> 0.08979888 </td><td> (0.09%) </td><td> 120 </td><td> 0.00000000 </td><td> 40000.0000 </td><td> True </td></tr></table><h2>Correlations (unreported correlations are < 0.100)</h2><table><tr><td>SiO2_k1</td><td>SiO2_k2</td><td>-0.9755</td></tr><tr><td>SiO2_k0</td><td>SiO2_k1</td><td>-0.9639</td></tr><tr><td>SiO2_n1</td><td>SiO2_n2</td><td>-0.9509</td></tr><tr><td>SiO2_k0</td><td>SiO2_d</td><td>0.9506</td></tr><tr><td>SiO2_n0</td><td>SiO2_d</td><td>-0.9496</td></tr><tr><td>SiO2_n0</td><td>SiO2_k0</td><td>-0.9026</td></tr><tr><td>SiO2_k0</td><td>SiO2_k2</td><td>0.8907</td></tr><tr><td>SiO2_k1</td><td>SiO2_d</td><td>-0.8461</td></tr><tr><td>SiO2_n0</td><td>SiO2_k1</td><td>0.8035</td></tr><tr><td>SiO2_k2</td><td>SiO2_d</td><td>0.7348</td></tr><tr><td>SiO2_n0</td><td>SiO2_k2</td><td>-0.6978</td></tr><tr><td>SiO2_n1</td><td>SiO2_d</td><td>-0.4581</td></tr><tr><td>SiO2_n1</td><td>SiO2_k0</td><td>-0.4355</td></tr><tr><td>SiO2_n1</td><td>SiO2_k1</td><td>0.3877</td></tr><tr><td>SiO2_n1</td><td>SiO2_k2</td><td>-0.3367</td></tr><tr><td>SiO2_n2</td><td>SiO2_d</td><td>0.2265</td></tr><tr><td>SiO2_n2</td><td>SiO2_k0</td><td>0.2153</td></tr><tr><td>SiO2_n2</td><td>SiO2_k1</td><td>-0.1916</td></tr><tr><td>SiO2_n2</td><td>SiO2_k2</td><td>0.1664</td></tr><tr><td>SiO2_n0</td><td>SiO2_n1</td><td>0.1663</td></tr></table>"
8989
],
9090
"text/plain": [
91-
"<lmfit.minimizer.MinimizerResult at 0x24dde4b87c8>"
91+
"<lmfit.minimizer.MinimizerResult at 0x28891ca4670>"
9292
]
9393
},
94-
"execution_count": 69,
94+
"execution_count": 5,
9595
"metadata": {},
9696
"output_type": "execute_result"
9797
}
@@ -102,14 +102,14 @@
102102
},
103103
{
104104
"cell_type": "code",
105-
"execution_count": 5,
105+
"execution_count": 6,
106106
"id": "71878507-d611-4507-a011-f5b9029001e9",
107107
"metadata": {},
108108
"outputs": [
109109
{
110110
"data": {
111111
"application/vnd.jupyter.widget-view+json": {
112-
"model_id": "9d6bd609f0ba43879bb29f8d83292817",
112+
"model_id": "1508bca945114e18b0f11ad3af3c608b",
113113
"version_major": 2,
114114
"version_minor": 0
115115
},
@@ -131,17 +131,17 @@
131131
{
132132
"cell_type": "code",
133133
"execution_count": null,
134-
"id": "86384356-dfdb-4033-946f-976620006609",
134+
"id": "7de31826-3e98-4ade-9359-01ae9239b849",
135135
"metadata": {},
136136
"outputs": [],
137137
"source": []
138138
}
139139
],
140140
"metadata": {
141141
"kernelspec": {
142-
"display_name": "Python 3 (ipykernel)",
142+
"display_name": "Python (elli)",
143143
"language": "python",
144-
"name": "python3"
144+
"name": "myenv"
145145
},
146146
"language_info": {
147147
"codemirror_mode": {

examples/TiO2 Fit/TiO2 Multilayerfit.ipynb

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"cells": [
33
{
44
"cell_type": "code",
5-
"execution_count": 1,
5+
"execution_count": 24,
66
"id": "complimentary-longer",
77
"metadata": {},
88
"outputs": [],
@@ -23,7 +23,7 @@
2323
},
2424
{
2525
"cell_type": "code",
26-
"execution_count": 2,
26+
"execution_count": 25,
2727
"id": "elect-disorder",
2828
"metadata": {},
2929
"outputs": [],
@@ -42,7 +42,7 @@
4242
},
4343
{
4444
"cell_type": "code",
45-
"execution_count": 3,
45+
"execution_count": 26,
4646
"id": "9f600c98-dbc9-4772-9d5f-8ed74c997b91",
4747
"metadata": {},
4848
"outputs": [],
@@ -68,14 +68,14 @@
6868
},
6969
{
7070
"cell_type": "code",
71-
"execution_count": 4,
71+
"execution_count": 27,
7272
"id": "f432f126-b688-426a-8b94-abedd44f0e78",
7373
"metadata": {},
7474
"outputs": [
7575
{
7676
"data": {
7777
"application/vnd.jupyter.widget-view+json": {
78-
"model_id": "efc67653182646d9899bb1729821c731",
78+
"model_id": "2361aeeab1924bd48c742d28f932f7aa",
7979
"version_major": 2,
8080
"version_minor": 0
8181
},
@@ -127,20 +127,20 @@
127127
},
128128
{
129129
"cell_type": "code",
130-
"execution_count": 7,
130+
"execution_count": 28,
131131
"id": "822af8b9",
132132
"metadata": {},
133133
"outputs": [
134134
{
135135
"data": {
136136
"text/html": [
137-
"<h2>Fit Statistics</h2><table><tr><td>fitting method</td><td>leastsq</td><td></td></tr><tr><td># function evals</td><td>31</td><td></td></tr><tr><td># data points</td><td>1852</td><td></td></tr><tr><td># variables</td><td>4</td><td></td></tr><tr><td>chi-square</td><td> 0.04559962</td><td></td></tr><tr><td>reduced chi-square</td><td> 2.4675e-05</td><td></td></tr><tr><td>Akaike info crit.</td><td>-19645.1968</td><td></td></tr><tr><td>Bayesian info crit.</td><td>-19623.1007</td><td></td></tr></table><h2>Variables</h2><table><tr><th> name </th><th> value </th><th> standard error </th><th> relative error </th><th> initial value </th><th> min </th><th> max </th><th> vary </th></tr><tr><td> SiO2_n0 </td><td> 1.45200000 </td><td> 0.00000000 </td><td> (0.00%) </td><td> 1.452 </td><td> -100.000000 </td><td> 100.000000 </td><td> False </td></tr><tr><td> SiO2_n1 </td><td> 36.0000000 </td><td> 0.00000000 </td><td> (0.00%) </td><td> 36.0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_n2 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_k0 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -100.000000 </td><td> 100.000000 </td><td> False </td></tr><tr><td> SiO2_k1 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_k2 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_d </td><td> 276.360000 </td><td> 0.00000000 </td><td> (0.00%) </td><td> 276.36 </td><td> 0.00000000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> TiO2_n0 </td><td> 2.23183168 </td><td> 0.00494640 </td><td> (0.22%) </td><td> 2.236 </td><td> -100.000000 </td><td> 100.000000 </td><td> True </td></tr><tr><td> TiO2_n1 </td><td> 449.068377 </td><td> 23.2018459 </td><td> (5.17%) </td><td> 451 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> TiO2_n2 </td><td> 199.772645 </td><td> 26.9846271 </td><td> (13.51%) </td><td> 251 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> TiO2_k0 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -100.000000 </td><td> 100.000000 </td><td> False </td></tr><tr><td> TiO2_k1 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> TiO2_k2 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> TiO2_d </td><td> 24.8772291 </td><td> 0.01058302 </td><td> (0.04%) </td><td> 20 </td><td> 0.00000000 </td><td> 40000.0000 </td><td> True </td></tr></table><h2>Correlations (unreported correlations are < 0.100)</h2><table><tr><td>TiO2_n0</td><td>TiO2_n1</td><td>-0.9910</td></tr><tr><td>TiO2_n1</td><td>TiO2_n2</td><td>-0.9879</td></tr><tr><td>TiO2_n0</td><td>TiO2_n2</td><td>0.9640</td></tr></table>"
137+
"<h2>Fit Statistics</h2><table><tr><td>fitting method</td><td>leastsq</td><td></td></tr><tr><td># function evals</td><td>31</td><td></td></tr><tr><td># data points</td><td>1852</td><td></td></tr><tr><td># variables</td><td>4</td><td></td></tr><tr><td>chi-square</td><td> 0.04559962</td><td></td></tr><tr><td>reduced chi-square</td><td> 2.4675e-05</td><td></td></tr><tr><td>Akaike info crit.</td><td>-19645.1968</td><td></td></tr><tr><td>Bayesian info crit.</td><td>-19623.1007</td><td></td></tr></table><h2>Variables</h2><table><tr><th> name </th><th> value </th><th> standard error </th><th> relative error </th><th> initial value </th><th> min </th><th> max </th><th> vary </th></tr><tr><td> SiO2_n0 </td><td> 1.45200000 </td><td> 0.00000000 </td><td> (0.00%) </td><td> 1.452 </td><td> -100.000000 </td><td> 100.000000 </td><td> False </td></tr><tr><td> SiO2_n1 </td><td> 36.0000000 </td><td> 0.00000000 </td><td> (0.00%) </td><td> 36.0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_n2 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_k0 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -100.000000 </td><td> 100.000000 </td><td> False </td></tr><tr><td> SiO2_k1 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_k2 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> SiO2_d </td><td> 276.360000 </td><td> 0.00000000 </td><td> (0.00%) </td><td> 276.36 </td><td> 0.00000000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> TiO2_n0 </td><td> 2.23183197 </td><td> 0.00494641 </td><td> (0.22%) </td><td> 2.236 </td><td> -100.000000 </td><td> 100.000000 </td><td> True </td></tr><tr><td> TiO2_n1 </td><td> 449.066997 </td><td> 23.2018577 </td><td> (5.17%) </td><td> 451 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> TiO2_n2 </td><td> 199.774273 </td><td> 26.9846794 </td><td> (13.51%) </td><td> 251 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> True </td></tr><tr><td> TiO2_k0 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -100.000000 </td><td> 100.000000 </td><td> False </td></tr><tr><td> TiO2_k1 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> TiO2_k2 </td><td> 0.00000000 </td><td> 0.00000000 </td><td> </td><td> 0 </td><td> -40000.0000 </td><td> 40000.0000 </td><td> False </td></tr><tr><td> TiO2_d </td><td> 24.8772290 </td><td> 0.01058302 </td><td> (0.04%) </td><td> 20 </td><td> 0.00000000 </td><td> 40000.0000 </td><td> True </td></tr></table><h2>Correlations (unreported correlations are < 0.100)</h2><table><tr><td>TiO2_n0</td><td>TiO2_n1</td><td>-0.9910</td></tr><tr><td>TiO2_n1</td><td>TiO2_n2</td><td>-0.9879</td></tr><tr><td>TiO2_n0</td><td>TiO2_n2</td><td>0.9640</td></tr></table>"
138138
],
139139
"text/plain": [
140-
"<lmfit.minimizer.MinimizerResult at 0x7feb73500af0>"
140+
"<lmfit.minimizer.MinimizerResult at 0x275fd719cd0>"
141141
]
142142
},
143-
"execution_count": 7,
143+
"execution_count": 28,
144144
"metadata": {},
145145
"output_type": "execute_result"
146146
}
@@ -160,14 +160,14 @@
160160
},
161161
{
162162
"cell_type": "code",
163-
"execution_count": 8,
163+
"execution_count": 29,
164164
"id": "d829a852-1e1e-445b-a6b5-eaaa2ebaf47e",
165165
"metadata": {},
166166
"outputs": [
167167
{
168168
"data": {
169169
"application/vnd.jupyter.widget-view+json": {
170-
"model_id": "e27f4a5996174e32ba0990957a68437d",
170+
"model_id": "53536c7d876341f889d915d3130254d2",
171171
"version_major": 2,
172172
"version_minor": 0
173173
},
@@ -187,14 +187,14 @@
187187
},
188188
{
189189
"cell_type": "code",
190-
"execution_count": 7,
190+
"execution_count": 30,
191191
"id": "cc3cdccd",
192192
"metadata": {},
193193
"outputs": [
194194
{
195195
"data": {
196196
"application/vnd.jupyter.widget-view+json": {
197-
"model_id": "2e4045c458da4f47b2612a7a53785ed2",
197+
"model_id": "705d9b025e8f4dac9e3ca691bc05b3b9",
198198
"version_major": 2,
199199
"version_minor": 0
200200
},
@@ -215,7 +215,7 @@
215215
{
216216
"cell_type": "code",
217217
"execution_count": null,
218-
"id": "c379e71a",
218+
"id": "2a81819c-56b5-4b21-954d-0013f693e946",
219219
"metadata": {},
220220
"outputs": [],
221221
"source": []
@@ -229,9 +229,9 @@
229229
"formats": "ipynb,md"
230230
},
231231
"kernelspec": {
232-
"display_name": "elli",
232+
"display_name": "Python (elli)",
233233
"language": "python",
234-
"name": "elli"
234+
"name": "myenv"
235235
},
236236
"language_info": {
237237
"codemirror_mode": {

examples/TiO2 Fit/TiO2 Multilayerfit.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,9 @@ jupyter:
88
format_version: '1.3'
99
jupytext_version: 1.11.4
1010
kernelspec:
11-
display_name: Python 3 (ipykernel)
11+
display_name: Python (elli)
1212
language: python
13-
name: python3
13+
name: myenv
1414
---
1515

1616
```python

src/elli/fitting/decorator.py

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
# Encoding: utf-8
33
from abc import ABC, abstractmethod
44
from ipywidgets import widgets
5+
from lmfit import Parameters
6+
import pandas as pd
57
from .params_hist import ParamsHist
68

79

@@ -15,6 +17,50 @@ def __init__(self) -> None:
1517
self.last_params = ParamsHist()
1618
self.param_widgets = {}
1719

20+
@abstractmethod
21+
def get_model_data(self,
22+
params:Parameters=None,
23+
append_exp_data=False) -> pd.DataFrame:
24+
"""Gets the data from the provided model with the provided parameters.
25+
If no parameters are provided, the fitted parameters are used
26+
(which default to the initial parameters if no fit has been triggered).
27+
28+
Args:
29+
params (Parameters, optional):
30+
The parameters to calculate the model with.
31+
If not provided, the fitted parameters are used.
32+
Defaults to None.
33+
append_exp_data (bool, optional):
34+
Appends the experimental data if set to True.
35+
Defaults to False.
36+
37+
Returns:
38+
pd.DataFrame: The model results
39+
"""
40+
...
41+
42+
def to_csv(self,
43+
fname:str,
44+
params:Parameters=None,
45+
append_exp_data:bool=False,
46+
*args,
47+
**kwargs) -> None:
48+
"""Saves the current model to csv. This is just a wrapper to
49+
pandas Dataframe and any argument to pandas to_csv may be passed
50+
as function arguments.
51+
52+
Args:
53+
fname (str): The file name to save the data to.
54+
params (Parameters, optional):
55+
The parameters to calculate the model with.
56+
If not provided, the fitted parameters are used.
57+
Defaults to None.
58+
append_exp_data (bool, optional):
59+
Appends the experimental data if set to True.
60+
Defaults to False.
61+
"""
62+
self.get_model_data(params, append_exp_data).to_csv(fname, *args, **kwargs)
63+
1864
@abstractmethod
1965
def fit(self, method: str = '') -> None:
2066
"""Execute lmfit with the current fitting parameters

0 commit comments

Comments
 (0)