Loading galaxy/tools/neutrons/mlsans_fit_Yukawa_sq.xml +10 −10 Original line number Diff line number Diff line <tool id="mlsans_fit_Yukawa_sq" name="fit_IQ" profile="22.04" version="0.1.1"> <tool id="mlsans_fit_Yukawa_sq" name="fit_IQ" profile="22.04" version="0.1.2"> <description></description> <requirements> <container type="docker">code.ornl.gov:4567/ndip/tool-sources/ml-assisted-sans-data-analysis/fit_yukawa_sq:c841403a</container> <container type="docker">code.ornl.gov:4567/ndip/tool-sources/ml-assisted-sans-data-analysis/fit_yukawa_sq:93a0fde1</container> </requirements> <command detect_errors="exit_code"><![CDATA[ python3 /src/curvefit.py -i $input $C $I_inc $sigma $d_sigma $phi $kappa $A || echo python finished python3 /src/curvefit.py -i $input $C $I_inc $sigma $d_sigma $phi $kappa $A || echo python finished && mv output.png $output ]]></command> <inputs> <param name="input" type="text" value="/src/example_IQ.csv" optional="false" label="ASCII data"/> <param name="C" type="text" value="5000 1000 8000" label="C" optional="false" help="Contrast"/> <param name="I_inc" type="text" value="0.2 0.1 0.5" label="I_inc" optional="false" help="Incoherent background"/> <param name="C" type="text" value="4000 3500 4500" label="C" optional="false" help="Contrast"/> <param name="I_inc" type="text" value="0.5 0.1 2" label="I_inc" optional="false" help="Incoherent background"/> <param name="sigma" type="text" value="1 0.9 1.1" label="σ" optional="false" help="Particle diameter"/> <param name="d_sigma" type="text" value="0.05 0.01 0.1" label="d_σ" optional="false" help="Particle size polydispersity"/> <param name="phi" type="text" value="0.2 0.1 0.5" label="Φ" optional="false" help="Volume fraction"/> <param name="kappa" type="text" value="0.1 0.01 0.5" label="1/κD" optional="false" help="Screening constant"/> <param name="d_sigma" type="text" value="0.07 0.02 0.1" label="d_σ" optional="false" help="Particle size polydispersity"/> <param name="phi" type="text" value="0.1 0.05 0.25" label="Φ" optional="false" help="Volume fraction"/> <param name="kappa" type="text" value="0.2 0.1 0.3" label="1/κD" optional="false" help="Screening constant"/> <param name="A" type="text" value="10 1 20" label="βA" optional="false" help="Repulsion strength"/> </inputs> <outputs> <data name="output" format="txt" label="fitting results"> <data name="output" format="png" label="fitting results"> </data> </outputs> <help><![CDATA[ Fit the input I(Q) curve Fit the input I(Q) curve. Initial guess, lower bound and upper bound are separated using spaces. ]]></help> </tool> src/curvefit.py +3 −3 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ def fit(initial_guess, file_name): ax = plt.subplot(1, 1, 1) ax.plot(QD_exp,IQ_exp,'.b',label='SANS data') ax.plot(QD_exp,IQ_th(result.params, QD),'-r',label='SANS data') ax.plot(QD_exp,IQ_th(result.params, QD),'-r',label='NN') ax.set_yscale('log') ax.set_xscale('log') Loading @@ -132,12 +132,12 @@ def fit(initial_guess, file_name): ax.set_ylabel(r'$I(QD)$',fontsize=20) ax.tick_params(direction='in', axis='both', which='both', labelsize=18, pad=10) ax.legend(fontsize=16,frameon=False) plt.savefig('output.png') plt.savefig('/src/output.png') # plt.show() # print the result print('Printing results to output.txt') with open('/src/output.txt', 'w') as f: with open('/src/output.txt', 'a') as f: for param in result.params.values(): if param.stderr is None: string = "%s: %f +/- undetermined (init = %f)" % (param.name, param.value, param.init_value) Loading Loading
galaxy/tools/neutrons/mlsans_fit_Yukawa_sq.xml +10 −10 Original line number Diff line number Diff line <tool id="mlsans_fit_Yukawa_sq" name="fit_IQ" profile="22.04" version="0.1.1"> <tool id="mlsans_fit_Yukawa_sq" name="fit_IQ" profile="22.04" version="0.1.2"> <description></description> <requirements> <container type="docker">code.ornl.gov:4567/ndip/tool-sources/ml-assisted-sans-data-analysis/fit_yukawa_sq:c841403a</container> <container type="docker">code.ornl.gov:4567/ndip/tool-sources/ml-assisted-sans-data-analysis/fit_yukawa_sq:93a0fde1</container> </requirements> <command detect_errors="exit_code"><![CDATA[ python3 /src/curvefit.py -i $input $C $I_inc $sigma $d_sigma $phi $kappa $A || echo python finished python3 /src/curvefit.py -i $input $C $I_inc $sigma $d_sigma $phi $kappa $A || echo python finished && mv output.png $output ]]></command> <inputs> <param name="input" type="text" value="/src/example_IQ.csv" optional="false" label="ASCII data"/> <param name="C" type="text" value="5000 1000 8000" label="C" optional="false" help="Contrast"/> <param name="I_inc" type="text" value="0.2 0.1 0.5" label="I_inc" optional="false" help="Incoherent background"/> <param name="C" type="text" value="4000 3500 4500" label="C" optional="false" help="Contrast"/> <param name="I_inc" type="text" value="0.5 0.1 2" label="I_inc" optional="false" help="Incoherent background"/> <param name="sigma" type="text" value="1 0.9 1.1" label="σ" optional="false" help="Particle diameter"/> <param name="d_sigma" type="text" value="0.05 0.01 0.1" label="d_σ" optional="false" help="Particle size polydispersity"/> <param name="phi" type="text" value="0.2 0.1 0.5" label="Φ" optional="false" help="Volume fraction"/> <param name="kappa" type="text" value="0.1 0.01 0.5" label="1/κD" optional="false" help="Screening constant"/> <param name="d_sigma" type="text" value="0.07 0.02 0.1" label="d_σ" optional="false" help="Particle size polydispersity"/> <param name="phi" type="text" value="0.1 0.05 0.25" label="Φ" optional="false" help="Volume fraction"/> <param name="kappa" type="text" value="0.2 0.1 0.3" label="1/κD" optional="false" help="Screening constant"/> <param name="A" type="text" value="10 1 20" label="βA" optional="false" help="Repulsion strength"/> </inputs> <outputs> <data name="output" format="txt" label="fitting results"> <data name="output" format="png" label="fitting results"> </data> </outputs> <help><![CDATA[ Fit the input I(Q) curve Fit the input I(Q) curve. Initial guess, lower bound and upper bound are separated using spaces. ]]></help> </tool>
src/curvefit.py +3 −3 Original line number Diff line number Diff line Loading @@ -121,7 +121,7 @@ def fit(initial_guess, file_name): ax = plt.subplot(1, 1, 1) ax.plot(QD_exp,IQ_exp,'.b',label='SANS data') ax.plot(QD_exp,IQ_th(result.params, QD),'-r',label='SANS data') ax.plot(QD_exp,IQ_th(result.params, QD),'-r',label='NN') ax.set_yscale('log') ax.set_xscale('log') Loading @@ -132,12 +132,12 @@ def fit(initial_guess, file_name): ax.set_ylabel(r'$I(QD)$',fontsize=20) ax.tick_params(direction='in', axis='both', which='both', labelsize=18, pad=10) ax.legend(fontsize=16,frameon=False) plt.savefig('output.png') plt.savefig('/src/output.png') # plt.show() # print the result print('Printing results to output.txt') with open('/src/output.txt', 'w') as f: with open('/src/output.txt', 'a') as f: for param in result.params.values(): if param.stderr is None: string = "%s: %f +/- undetermined (init = %f)" % (param.name, param.value, param.init_value) Loading