| | import av |
| | import os |
| | import sys |
| | import streamlit as st |
| | from streamlit_webrtc import VideoHTMLAttributes, webrtc_streamer |
| | from aiortc.contrib.media import MediaRecorder |
| | from streamlit_lottie import st_lottie |
| | import json |
| | import requests |
| | import pandas as pd |
| |
|
| |
|
| | BASE_DIR = os.path.abspath(os.path.join(__file__, '../../')) |
| | sys.path.append(BASE_DIR) |
| |
|
| | |
| | |
| | |
| |
|
| |
|
| |
|
| |
|
| | def get(path: str): |
| | with open(path, "r") as p: |
| | return json.load(p) |
| |
|
| |
|
| | |
| | |
| |
|
| | joints = ["left_shoulder", "right_shoulder", "left_hip", |
| | "right_hip", "left_knee", "right_knee", |
| | "left_elbow", "right_elbow"] |
| | page_title = "مقدار زوایای مورد نظر را برای هر مفصل انتخاب کنید " |
| | page_icon = "📝" |
| | layout = "centered" |
| | |
| |
|
| | st.set_page_config(page_title=page_title, page_icon=page_icon, layout=layout) |
| | st.title(page_title + " " + page_icon) |
| |
|
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | values = [] |
| |
|
| |
|
| | options = st.multiselect('مفاصل', |
| | ["گردن", |
| | "شانه چپ", |
| | "شانه راست", |
| | "آرنج چپ", |
| | "آرنج راست", |
| | "مچ چپ", |
| | "مچ راست", |
| | "ران جپ", |
| | "ران راست", |
| | "زانو چپ", |
| | "زانو راست", |
| | "مچ پای چپ", |
| | "مچ پای راست"] |
| | ) |
| | for option in options: |
| | value = st.slider(option, 0, 180, (50, 100)) |
| | values.append(value) |
| |
|
| | with st.form("entry_form", clear_on_submit=True): |
| | with st.expander("راهنما"): |
| | st.text("""باتوجه به ورزش مورد نظر خود بازه زوایا را مشخص کنید""") |
| | submitted = st.form_submit_button("ذخیره دادهها") |
| | if submitted: |
| | data = [] |
| | for i in range(len(options)): |
| | row = [options[i], values[i][0], values[i][1]] |
| | data.append(row) |
| | df = pd.DataFrame(data, columns=['مفصل', 'حداقل زاویه', 'حداکثر زاویه']) |
| | st.write(df) |
| | df.to_csv('data.csv', index=False) |