import os import gradio as gr from PIL import Image import sympy as sp from sympy.parsing.latex import parse_latex import re try: from pix2tex.cli import LatexOCR if os.path.exists("trained_model"): model = LatexOCR(weights="trained_model") else: model = None except Exception as e: model = None def preprocess_handwritten_image(pil_img): return pil_img.convert('RGB') def clean_latex(latex): latex = re.sub(r'\\(cal|mathcal)\s*X', 'x', latex) latex = latex.replace('{', '').replace('}', '') latex = latex.strip().rstrip(',.') latex = re.sub(r'(\d+)\s*\\pi', r'(\1*3.1416)', latex) latex = latex.replace(r'\pi', '3.1416') latex = re.sub(r'(\d+)\s*e', r'(\1*2.7183)', latex) latex = re.sub(r'(?