import os
import sys
from matplotlib import pyplot as plt


filebody = sys.argv[1]
itxpath = f"{filebody}.itx"
csvpath = f"{filebody}.csv"


figsize = (8, 4)
fontsize        = 16



print("")
print(f"Read ITX file from {itxpath}")

fp = open(itxpath, 'r')
sample = fp.readline().strip()
ndata, Q0, Qstep, npeaks = fp.readline().split()
ndata = int(ndata)
Q0 = float(Q0)
Qstep = float(Qstep)

Q = []
I = []
c = 0
while 1:
    if c >= ndata:
        break

    if not fp:
        break

    line = fp.readline()
    if not line:
        break
    
    a = line.split()
    for s in a:
        Q.append(Q0 + c * Qstep)
        I.append(float(s))
        c += 1

        if c >= ndata:
            break

fp.close()

#print("Q=", Q)
#print("I=", I)
print("")
print(f"Save CSV file to {csvpath}")
out = open(csvpath, 'w')
out.write("2Theta(deg),Intensity\n")
for i in range(ndata):
    out.write(f"{Q[i]},{I[i]}\n")


print("")
print("Plot")

fig = plt.figure(figsize = figsize)
ax1 = fig.add_subplot(1, 1, 1)

ax1.plot(Q, I)
ax1.set_xlabel("2$\\theta$ (deg)",    fontsize = fontsize)
ax1.set_ylabel("intensity", fontsize = fontsize)

plt.tight_layout()

plt.pause(0.1)
print("")
input("Press ENTER to exit>>")
            