# Logic/Philosophy OCR Router يدعم المشروع الآن اختيارا منفصلا لنموذج القص ونموذج التفريغ: - `default`: نماذج المخطوطات العامة. - `logic`: نماذج مخطوطات المنطق/الفلسفة المتخصصة. - `auto`: اختيار تلقائي محافظ، يرجع إلى العام عند الشك. ## النماذج النماذج العامة لم تتغير: - القص العام: `نماذج/seg_best.mlmodel` - التفريغ العام: `نماذج/exp6_best.mlmodel` النماذج المتخصصة الجديدة نُسخت من `C:\Users\aiden\Desktop\مسابقة وطنية\نماذج جديده` إلى: - القص المتخصص: `نماذج/logic_philosophy_v2_seg.mlmodel` - التفريغ المتخصص: `نماذج/logic_philosophy_v2_rec.mlmodel` النماذج القديمة لم تُحذف ولم تُستبدل. ## طريقة الاختيار في `auto`: 1. يبحث الراوتر عن متن داخل إطار مستطيل واضح. 2. إن لم يجد إطارا، يستخدم فحصا محافظا للصفحات الكثيفة ذات الحبر الأحمر/الأسود. 3. إذا لم تكن الإشارة قوية، يستخدم المسار العام. يمكن مثلا اختيار: - القص: `logic` - التفريغ: `default` وهذا يعني استخدام نموذج القص المتخصص لمخطوطات المنطق/الفلسفة مع نموذج التفريغ العام. في `logic`: - إذا كان اختيار القص `logic`، يستخدم `logic_philosophy_v2_seg.mlmodel`. - إذا كان اختيار التفريغ `logic`، يستخدم `logic_philosophy_v2_rec.mlmodel`. في `default`: - يستخدم `seg_best.mlmodel` و`exp6_best.mlmodel` فقط. ## التحكم من الواجهة في شريط رفع المخطوطة توجد قائمتان: - `تلقائي` - `مخطوط عام` - `منطق/فلسفة` القائمة الأولى تتحكم في `segmentation_profile`، والثانية تتحكم في `recognition_profile`. ## التحكم عبر env يمكن إجبار المسار من Docker أو التشغيل المحلي: ```powershell $env:SEGMENTATION_PROFILE="logic" $env:RECOGNITION_PROFILE="logic" python run.py ``` للرجوع إلى العام: ```powershell $env:SEGMENTATION_PROFILE="default" $env:RECOGNITION_PROFILE="default" python run.py ``` للوضع التلقائي: ```powershell $env:SEGMENTATION_PROFILE="auto" $env:RECOGNITION_PROFILE="auto" python run.py ``` ## اختبار العينات ضع الصور الأربع هنا: ```text samples/logic_router/sample_01_framed_margin.jpg samples/logic_router/sample_02_handwritten_logic.jpg samples/logic_router/sample_03_handwritten_logic.jpg samples/logic_router/sample_04_handwritten_logic.jpg ``` ثم شغل داخل Docker أو البيئة التي فيها Kraken: ```powershell python scripts/test_logic_router.py --profile auto python scripts/test_logic_router.py --profile logic python scripts/test_logic_router.py --profile default --no-ocr python scripts/test_logic_router.py --segmentation-profile logic --recognition-profile default --no-ocr ``` المخرجات تكتب في: ```text output/logic_router_tests/ output/logic_router_tests/report.md ``` ## الملفات المعدلة - `backend/app/core/config.py` - `backend/app/services/ocr/kraken_service.py` - `backend/app/api/endpoints/ocr.py` - `backend/app/services/task_manager.py` - `backend/app/services/ocr/base.py` - `frontend/index.html` - `frontend/js/api.js` - `frontend/js/app.js` - `frontend/css/style.css` - `frontend/sw.js` - `scripts/test_logic_router.py` - `samples/logic_router/README_PUT_IMAGES_HERE.md`