Skip to content

Repository files navigation

Stencil Analyzer

Профессиональное приложение для автоматического сравнения Gerber-файлов с отсканированными изображениями PCB трафаретов.

🚀 Быстрый старт

Установка

  1. Установите Python 3.8+ с опцией "Add Python to PATH"

  2. Скачайте проект в папку v13_final

  3. Установите зависимости:

    pip install -r requirements.txt
  4. Запустите приложение:

    # Обычный режим
    python main.py
    
    # Режим отладки (рекомендуется)
    run.bat

Первый запуск

  1. Создайте структуру папок:

    v13_final/
    ├── test_gerbers/    # Gerber-файлы
    ├── test_scan/       # Сканы трафаретов
    └── test_results/    # Результаты (создается автоматически)
    
  2. Поместите тестовые файлы:

    • test_gerbers/090247.gbr
    • test_scan/090247.jpg
  3. Запустите run.bat и введите номер заказа 090247

📋 Основные возможности

  • Автоматическое сравнение Gerber-файлов со сканами трафаретов
  • Интеллектуальное выравнивание с поддержкой поворотов и отражений
  • Модульная система стратегий обработки изображений
  • Детальная визуализация результатов сравнения
  • Гибкая конфигурация через config.ini
  • Подробное логирование процесса анализа

🏗️ Архитектура

Проект построен по принципам чистой архитектуры с четким разделением ответственности:

v13_final/
├── app/              # Уровень приложения
├── domain/           # Модели данных
├── infrastructure/   # Сервисы инфраструктуры
├── order/            # Управление заказами
├── processing/       # Ядро обработки изображений
└── docs/            # Документация

Ключевые компоненты:

  • StencilAnalyzerApplication - главный класс приложения
  • ProcessingEngine - оркестратор 8-этапного конвейера обработки
  • StrategyRegistry - фабрика для автоматической регистрации стратегий
  • ConfigService - централизованное управление конфигурацией

Подробнее об архитектуре: docs/ARCHITECTURE.md

📁 Структура проекта

v13_final/
├── 📄 main.py              # Точка входа приложения
├── 📄 config.ini           # Конфигурация приложения
├── 📄 requirements.txt     # Зависимости Python
├── 📄 run.bat             # Скрипт запуска для Windows
├── 📄 INSTALL.md          # Руководство по установке
├── 📂 test_gerbers/       # Тестовые Gerber-файлы
├── 📂 test_scan/          # Тестовые сканы трафаретов
├── 📂 test_results/       # Результаты обработки
└── 📂 docs/               # Документация

🔧 Настройка

Основные настройки в config.ini:

Пути к папкам:

[PATHS]
gerber_folder = ./test_gerbers/
scan_folder = ./test_scan/
output_folder = ./test_results/

Параметры обработки:

[IMAGE_COMPARISON]
rotation_angles = 0,90,180,270
low_correlation_threshold = 0.2
medium_correlation_threshold = 0.4
high_correlation_threshold = 0.8

Полное описание конфигурации: docs/CONFIGURATION_GUIDE.md

📖 Документация

Основная документация:

Техническая документация:

🎯 Рабочий процесс

  1. Подготовка файлов:

    • Gerber-файлы в test_gerbers/ (имя содержит номер заказа)
    • Сканы в test_scan/ (имя содержит номер заказа)
  2. Запуск приложения:

    run.bat
  3. Ввод данных:

    • ФИО оператора
    • 6-значный номер заказа
  4. Автоматическая обработка:

    • Поиск и загрузка файлов
    • 8-этапный конвейер обработки
    • Сравнение и оценка качества
  5. Анализ результатов:

    • Визуальное сравнение в PNG
    • Текстовые отчеты
    • Метрики качества совмещения

🐛 Отладка

Для отладки используйте:

python main.py --debug

или

run.bat  # запускает в режиме отладки по умолчанию

В режиме отладки:

  • Сохраняются все промежуточные изображения
  • Выводятся подробные логи
  • Доступна детальная статистика обработки

🤝 Поддержка

Типовые проблемы:

  • Файлы не находятся - проверьте номера заказов в именах файлов
  • Плохое совмещение - используйте разрешение 1200 DPI при сканировании
  • Ошибки зависимостей - переустановите: pip install -r requirements.txt

Подробнее: docs/OPERATION_GUIDE.md

📄 Лицензия

Закрытый проект.


Stencil Analyzer v2.1.0 | Для внутреннего использования

About

Automated PCB stencil quality control system. Compares scanned stencil images with Gerber files to detect misalignments and defects with sub-millimeter accuracy.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages