pyGemPick – Python Based, Open Source Automatic Batch Immunogold Particle Detection

pyGemPick is the first python-based module built for the automatic processing and detection of nanno gold particles on immunogold stained transmission electron microscopy images. The project came to life under undergraduate researcher, Joseph Marsilla’s vision. Project features highlight the engineering of a novel high-contrast filtering technique that uses a two-fold binary screening approach that is selectivity for the nanogold particles on the resulting EM micrographs. The resulting binary images are then processed by an optimized version of OpenCV’s simple blob detector which allows for quick and effective detection of gold particle positions and key points. These are then recorded and can be made available in numerous output formats that allow for subsequent:

  1. Analysis of the morphological properties of the amyloid aggregates under investigation .
  2. Further analysis of the spatial point statistics of the imaged amyloid aggregate, fibril or oligomer deposition.
  3. Quantification of the amount of misfolded amyloid aggregates present in each processed dataset.


A detailed description of the module with helpful tutorials can be viewed on pygempick’s main repository page on GitHub, which will be uploaded and updated ASAP. For ease of use – a web based graphical user interphase was created to run the functions contained within the module.

pyGemPick is a Free Web Based Automatic Open Source Immunogold Detector



Start Picking Now!


Here, researchers with no previous computational knowledge can upload image archives of their immunogold electron micrographs in .zip format.  The application was coded using python on top of the flask web micro-framework. The flow chart above gives a simplified version of the applications blueprint. pyGemPick has been created to give multiple users ability to process and detect nanogold particles simultaneously.

Once registered and logged in – a user can be directed to the Process page where he will be asked to upload a .zip folder of uncompressed (.tiff) images or previously compressed (.jpg) images, after upload is completed he will be taken to another page where he can set the processing and filtering parameters. Optimized parameter suggestions for magnification and nanno-gold particle used can be located on the pygempick wiki. After the picker is started – the resulting processed images and data based (.csv) outputs will be available for download on the users individual and private Download page.

Example pyGemPick image outputs. a) right shows detected particles outputted on compressed version of the original greyscale image b) right shows pyGemPick’s snapshot functionality that enables a close up view of the morphological properties of the detected amyloid deposits.

This application can be download and deployed on any Linux based or windows based local system following the GitHub repository created for the project, pygempick-flask. A live beta version of the immuno-gold detecting web application can be found here. Questions or issues with the code and any of its documentation can be relayed on the repository of the related project. Other inquiries can be emailed directly to joseph here!

Leave a Reply

Your email address will not be published. Required fields are marked *