Skip to content

This application processes scanned images of 96-well plates, splits them, renames them based on the barcode in the image, and transfers the images to a desired location.

License

Notifications You must be signed in to change notification settings

SARL-Engineering/ZScan_Processor

Repository files navigation

Zebrafish Scan Processor

Main Purpose

This application processes high-resolution scanned images of 96-well scientific plates by doing the following:

  1. Monitors an input scans folder and automatically begins processing once the scan is complete.
  2. Splits the image into the two individual plates.
  3. Automatically detects the barcode on each plate to name the outputs automatically.
  4. Splits and names each well based on the scan creation datetime, plate number, and well location.
  5. Saves a compressed version of the individual plate image.
  6. MySQL INSERT/UPDATE allows for quick auditing of processed plates from a central database.
  7. At a designated time, transfers all processed plates to a network share/designated transfer folder.

Other Features

  • 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.
Special Note

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.

Screenshots

Processed Outputs

Full Plate & Well

Folder Structure & Explorer Preview

Application

Logs Screen

Settings - Plate Splitting

Settings - Plate Top

Settings - Plate Bottom

Settings - Files and Transfers

Settings - Database

System Notifications

Tray Icon

Example Database Output

Build Information

  • Python 3.7 64-bit
    • PyQt5
    • pyzbar
    • opencv
    • pillow
    • PyMySQL
    • numpy
    • qdarkstyle
    • qimage2ndarray
  • Executable built with pyinstaller
  • Installer built with NSIS

About

This application processes scanned images of 96-well plates, splits them, renames them based on the barcode in the image, and transfers the images to a desired location.

Resources

License

Stars

Watchers

Forks

Packages

No packages published