Sfoglia il codice sorgente

front.py: calculations and plotting done

ricet8ur 2 anni fa
parent
commit
f654207c7c
3 ha cambiato i file con 58 aggiunte e 13 eliminazioni
  1. 0 0
      source/__init__.py
  2. 0 0
      source/frontend/__init__.py
  3. 58 13
      source/frontend/front.py

+ 0 - 0
source/__init__.py


+ 0 - 0
source/frontend/__init__.py


+ 58 - 13
source/frontend/front.py

@@ -9,20 +9,12 @@ absolute_path = os.path.abspath(__file__)
 # print("Full path: " + absolute_path)
 # print("Directory Path: " + os.path.dirname(absolute_path))
 
-# adding /backend to use functions from it here
-sys.path.insert(0, "/".join(os.path.dirname(absolute_path).split('/')[:-1]))
-from ..backend.calc import *
-
-# ../../resource/data/1_M450.MEA
-with open("/".join(os.path.dirname(absolute_path).split('/')[:-2]) + "/resource/data/1_M450.MEA") as f:
-    row = f.readlines()
-    f, r, i = [], [], []
-    for x in row:
-        a, b, c = (float(y) for y in x.split())
-        f.append(a)  # frequency
-        r.append(b)  # Re of something
-        i.append(c)  # Im of something
+# adding /backend to use its functions here
+sys.path.append("/".join(os.path.dirname(absolute_path).split('/')[:-1]))
+# print("/".join(os.path.dirname(absolute_path).split('/')[:-1]))
+from backend.calc import *
 
+def plot_data(r,i):
     # unit circle
     unit_circle_x = []
     unit_circle_y = []
@@ -50,3 +42,56 @@ with open("/".join(os.path.dirname(absolute_path).split('/')[:-2]) + "/resource/
     ax.set_yticks(np.arange(-1, 1.2, 0.2))
     ax.set_yticks(np.arange(-1, 1.2, 0.2))
     st.pyplot(fig)
+
+
+# ../../resource/data/1_M450.MEA
+# with open("/".join(os.path.dirname(absolute_path).split('/')[:-2]) + "/resource/data/1_M450.MEA") as f:
+#     row = f.readlines()
+#     f, r, i = [], [], []
+#     for x in row:
+#         a, b, c = (float(y) for y in x.split())
+#         f.append(a)  # frequency
+#         r.append(b)  # Re of something
+#         i.append(c)  # Im of something
+#     plot_data(r,i)
+
+
+data = []
+uploaded_file = st.file_uploader('Upload a csv')
+if uploaded_file is not None:
+    data = uploaded_file.readlines()
+
+
+col1, col2 = st.columns(2)
+
+select_data_format = col1.selectbox('Choose data format from a list',['Frequency, Re(S11), Im(S11)','Frequency, Re(Zin), Im(Zin)'])
+
+select_separator = col2.selectbox('Choose separator',['","' ,'" "','";"'])
+
+
+def unpack_data(data):
+    f, r, i = [], [], []  
+    for x in data:
+        a, b, c = (float(y) for y in x.split())
+        f.append(a)  # frequency
+        r.append(b)  # Re of something
+        i.append(c)  # Im of something
+    return f, r, i, 'very nice'
+
+validator_status = 'nice'
+# calculate
+if len(data) > 0:
+    f,r,i,validator_status = unpack_data(data)
+    
+    calc_data = prepare_data(f, r, i)
+    a = solution(calc_data)
+    Q = q_factor(a)
+    st.write(Q)
+
+
+st.write(validator_status)
+
+if len(data) > 0:
+    f,r,i,validator_status = unpack_data(data)
+    plot_data(r,i)
+