This application processes high-resolution scanned images of 96-well scientific plates by doing the following:
- Monitors an input scans folder and automatically begins processing once the scan is complete.
- Splits the image into the two individual plates.
- Automatically detects the barcode on each plate to name the outputs automatically.
- Splits and names each well based on the scan creation datetime, plate number, and well location.
- Saves a compressed version of the individual plate image.
- MySQL INSERT/UPDATE allows for quick auditing of processed plates from a central database.
- At a designated time, transfers all processed plates to a network share/designated transfer folder.
- Overlays the detected barcode onto all processed images for easy sanity checking when analyzing images.
- Minimizes to tray area for unobtrusive background processing.
- Provides system notifications when plates are processed/fail.
- Maintains logs of all detections, transfers, and failures.
- Includes built-in calibration interface for easy adjustment to scanner and plate differences.
- Allows for a custom MySQL query string for easy adaptation to different database layouts.
- Saves full-resolution backups of failed plates to ensure data is not lost.
The database section of this program does NOT hash the password. It is stored in plaintext in the registry. Please keep this in mind when creating a MySQL user for this application.
- Python 3.7 64-bit
- PyQt5
- pyzbar
- opencv
- pillow
- PyMySQL
- numpy
- qdarkstyle
- qimage2ndarray
- Executable built with pyinstaller
- Installer built with NSIS