Commit fff94100 authored by Peter Jansweijer's avatar Peter Jansweijer

adding statistics to curve fitted line

parent e93c6d63
......@@ -509,7 +509,12 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
# first order linear fit:
popt_clean, pcov_clean = curve_fit(line, x_clean, y_clean)
#perr_clean = numpy.sqrt(numpy.diag(pcov_clean))
#print("a =", popt_clean[0], "+/-", pcov_clean[0,0]**0.5)
#print("b =", popt_clean[1], "+/-", pcov_clean[1,1]**0.5)
tangent = popt_clean[0] # in [ps]/[nm]
tangent_stdev = pcov_clean[0,0]**0.5 # in [ps]/[nm]
tangent_array = numpy.append(tangent_array,tangent)
# for this particular tangent measurement, take the mean value of the
# temperatures during the measurement.
......@@ -567,11 +572,11 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
if use_itu_channels:
ax.set_title("CRTT versus ITU Channel number")
ax.set_xlabel('ITU Channel number')
ax.text(0.01, 0.85, "1st order linear tangent: " + str(tangent) + " [ps/ITU channel]", transform=ax.transAxes)
ax.text(0.01, 0.85, "1st order linear tangent: " + '{:5.3f}'.format(tangent) + " +/- " + '{:5.3f}'.format(tangent_stdev) + " [ps/ITU channel]", transform=ax.transAxes)
else:
ax.set_title("CRTT versus wavelength")
ax.set_xlabel('Wavelenth [nm]')
ax.text(0.01, 0.85, "1st order linear tangent: " + str(tangent) + " [ps/nm]", transform=ax.transAxes)
ax.text(0.01, 0.85, "1st order linear tangent: " + '{:5.3f}'.format(tangent) + " +/- " + '{:5.3f}'.format(tangent_stdev) + " [ps/nm]", transform=ax.transAxes)
with_tolerances = False
ax.text(0.01, 0.95, str(insitu_file), transform=ax.transAxes)
......@@ -739,7 +744,7 @@ def analyze_plot(insitu_file, analyse_single, x, y, name, tolerance, use_itu_cha
alpha_file.write("file: " + insitu_file + "\n")
alpha_file.write("reference file/directory: " + ref_name + "\n")
alpha_file.write("outlier-count: " + str(outlier_cnt) + "\n")
alpha_file.write("first order linear fit tangent: " + str(tangent)+ " [ps]/[nm]\n")
alpha_file.write("first order linear fit tangent: " + '{:5.3f}'.format(tangent) + " +/- " + '{:5.3f}'.format(tangent_stdev) + " [ps]/[nm]\n")
alpha_file.write("============================\n")
alpha_file.write("ITU_Channel, Lambda, alpha_sellmeier, aplha_sellmeier(SPEC format), alpha_tangent, alpha_sellmeier-alpha_tangent, temperature\n")
for i in range(len(x_clean)):
......@@ -1036,6 +1041,7 @@ if __name__ == "__main__":
if ref_name != '':
y = crtt_array - ref_crtt_array
y_stdev = numpy.sqrt(crtt_array_std**2 + ref_crtt_array_std**2)
else:
y = crtt_array
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment