|
import queue |
|
import threading |
|
from streamlit.runtime.scriptrunner import add_script_run_ctx |
|
from src.ocr import ocr_thread |
|
from src.chatbot import run_chatbot |
|
|
|
class SystemInitializer: |
|
def initialize_system(self): |
|
"""Initializes queues and starts OCR thread.""" |
|
queues = { |
|
'frame_queue': queue.Queue(maxsize=1), |
|
'text_queue': queue.Queue(maxsize=1), |
|
'annotation_queue': queue.Queue(maxsize=1), |
|
'prompt_queue': queue.Queue(maxsize=1), |
|
'ppx_queue': queue.Queue(maxsize=1) |
|
} |
|
ocr_thread_with_ctx = threading.Thread(target=ocr_thread, args=(queues['frame_queue'], queues['text_queue'])) |
|
add_script_run_ctx(ocr_thread_with_ctx) |
|
ocr_thread_with_ctx.start() |
|
return queues |
|
|
|
def run_chatbot(self): |
|
run_chatbot() |