Spaces:
Runtime error
Runtime error
File size: 2,507 Bytes
b9e2109 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | """
Central configuration module for the Oculus server.
All environment variables and configuration settings are defined here.
"""
import os
from typing import Dict, Any, Tuple
# OCR Configuration
OCR_BACKEND = os.getenv("OCR_BACKEND", "easyocr") # Options: "easyocr" or "google"
OCR_NUM_WORKERS = int(os.getenv("OCR_NUM_WORKERS", "1"))
OCR_CONFIDENCE_THRESHOLD = float(os.getenv("OCR_CONFIDENCE_THRESHOLD", "0.2"))
GOOGLE_APPLICATION_CREDENTIALS = os.getenv("GOOGLE_APPLICATION_CREDENTIALS")
# UI Element Detection Configuration
UI_MODEL_PATH = os.getenv("UI_MODEL_PATH", "weights/best.pt")
# Image Annotation Configuration
ANNOTATION_DIR = os.getenv("ANNOTATION_DIR", "annotated")
FONT_SIZE = int(os.getenv("FONT_SIZE", "30"))
JPEG_QUALITY = int(os.getenv("JPEG_QUALITY", "85"))
# Whether to display code labels/annotations for text (OCR) elements
ANNOTATE_TEXT = os.getenv("ANNOTATE_TEXT", "1").lower() in ("1", "true", "yes", "on")
# Whether to draw bounding boxes around text (OCR) elements
DRAW_TEXT_BOXES = os.getenv("DRAW_TEXT_BOXES", "1").lower() in ("1", "true", "yes", "on")
# Whether to draw arrows from code labels to their bounding boxes
DRAW_ARROWS = os.getenv("DRAW_ARROWS", "1").lower() in ("1", "true", "yes", "on")
# Arrow line width
ARROW_WIDTH = int(os.getenv("ARROW_WIDTH", "2"))
# Element code label border width
LABEL_BORDER_WIDTH = int(os.getenv("LABEL_BORDER_WIDTH", "3"))
# Server Configuration
PORT = int(os.getenv("PORT", "8000"))
WORKERS = int(os.getenv("WORKERS", "1"))
# Hardware Acceleration Settings
PYTORCH_ENABLE_MPS_FALLBACK = os.getenv("PYTORCH_ENABLE_MPS_FALLBACK", "1")
# Ensure annotation directory exists
os.makedirs(ANNOTATION_DIR, exist_ok=True)
def get_all_config() -> Dict[str, Any]:
"""Return all configuration values as a dictionary."""
return {
"OCR_BACKEND": OCR_BACKEND,
"OCR_NUM_WORKERS": OCR_NUM_WORKERS,
"OCR_CONFIDENCE_THRESHOLD": OCR_CONFIDENCE_THRESHOLD,
"GOOGLE_APPLICATION_CREDENTIALS": GOOGLE_APPLICATION_CREDENTIALS,
"UI_MODEL_PATH": UI_MODEL_PATH,
"ANNOTATION_DIR": ANNOTATION_DIR,
"FONT_SIZE": FONT_SIZE,
"JPEG_QUALITY": JPEG_QUALITY,
"ANNOTATE_TEXT": ANNOTATE_TEXT,
"DRAW_TEXT_BOXES": DRAW_TEXT_BOXES,
"DRAW_ARROWS": DRAW_ARROWS,
"ARROW_WIDTH": ARROW_WIDTH,
"LABEL_BORDER_WIDTH": LABEL_BORDER_WIDTH,
"PORT": PORT,
"WORKERS": WORKERS,
"PYTORCH_ENABLE_MPS_FALLBACK": PYTORCH_ENABLE_MPS_FALLBACK
} |