Hide menu

Software tools for analysis of immunogold labeling

Below is a family of analysis tools, for use together with ImageJ, that I have written to aid in the analysis of immunogold labeled electron micrographs. Although the tools have been primarily written with immunogold labeling of synapses and other neural structures in mind and use some terminology specific for that purpose, there is no particular reason they cannot be used for analysis of other immunogold labeled structures (or indeed other 2-D spatial point patterns).

All tools are composed of two separate components. The first component is an ImageJ plugin that is used to outline regions of interest and record locations of gold particles and save the generated coordinates to a text file. These coordinates are given to the second tool component, a program written in Python used to compute various measures, such as particle densities, distances of particles to profile borders, interpoint distances etc. Some of the tools also allow generation of Monte Carlo simulated point patterns.

Some auxiliary tools are also available, including PlotProfile, a program that plots profiles from coordinate files and allows saving of these plots to image files. This can be useful for, for instance, data exploration and publication figures.

The tools are available for download on GitHub.

See here for requirements, installation instructions and license information.

 

News


August 20, 2019. New version 1.3.4 of PointDensitySyn.

  • Added input file information to interpoint distance output.
  • Minor bug fixes to ImageJ plugin and Python component.

August 7, 2019. New version 1.2.4 of PointDensity.

  • Added input file information to interpoint distance output.
  • Minor bug fix.

June 15, 2018. New version 1.1.0 of PlotProfile.

  • Added batch plotting, allowing automatic saving of plots of all coordinate files in a folder.
  • Other minor changes and bug fixes.

June 13, 2018. New version 1.0.0 of PlotProfile.

  • Added a "Plot next" button, that selects and plots the next file in the current folder, making it easier to cycle through all files in a folder.
  • Other minor changes and bug fixes.

June 13, 2018. New version 1.3.3 of PointDensitySyn.

  • Fixed bug that caused an incorrectly adjusted PSD if the PSD outline crossed the specific segment of plasma membrane between the last and first end nodes of the membrane.

June 11, 2018. New version 1.1.3 of Vesicle.

  • Fixed bug in the ImageJ plugin that caused a conflict with the Synapse plugin if that plugin was also present in the plugins folder.

All news ]

 

Tools


PointDensity. Use this when you have a single point type (e.g. single immunogold labeling) and closed paths (e.g. nerve terminals).
Latest version: 1.2.4 
Last modified: August 7, 2019. [ Change log ]

ImageJ plugin ]    Python component ]

DistToPath. Use this when you have a single point type and simple open paths (e.g. portions of plasma membrane). 
Latest version: 2.0.3 
Last modified: May 31, 2018. [ Change log ]

ImageJ plugin ]    Python component ]

Synapse. Use this when you have a single point type and open paths with synapse-like structures (e.g. portions of postsynaptic membrane with one or more postsynaptic densities). 
Latest version: 1.2.1
Last modified: May 31, 2018. [ Change log ]

ImageJ plugin ]    Python component ]

ParticleDensityDouble. Use this when you have two point types (e.g. double immunogold labeling) and closed paths (e.g. nerve terminals). 
Latest version: 1.0.0
Last modified: June 1, 2018. [ Change log ]

ImageJ plugin ]    Python component ]

PointDensitySyn. Use this when you have a single point type and closed paths with synapse-like structures (e.g., dendritic spines with post-synaptic densities). 
Latest version: 1.3.4
Last modified: August 20, 2019. [ Change log ]

ImageJ plugin ]    Python component ]

Vesicle. Use this to analyze vesicular structures in association with single immunogold labeling within closed paths.
Latest version: 1.1.3
Last modified: June 11, 2018. [ Change log ]

ImageJ plugin ]    Python component ]

PlotProfile. A simple program written in Python that uses the Matplotlib library to plot profiles, either from coordinate files generated by the ImageJ plugin of any of the immunogold analysis tools, or from coordinate files generated by the Python component of tools that support it. Using the latter type of files enable plotting of Monte Carlo simulated points and convex hulls of particle clusters. Profile plots can be saved as vector graphics files or raster images for use in, for example, data exploration or publication figures.
Latest version: 1.1.0
Last modified: June 15, 2018. [ Change log ]

PlotProfile.py is available for download here.

 

Auxiliary plugins. DistToRandomLine and ParticleDensityRandomBox are ImageJ plugins that are used to assess point labelling in relation to randomly placed regions of interest (straight lines and rectangular boxes, respectively). They may be useful for estimating the level and distribution of background labelling. DistToRandomLine is used in conjunction with the Python component of DistToPath, whereas ParticleDensityRandomBox is used together with the PointDensity tool. 

[ DistToRandomLine ]   
Last modified: May 13, 2014.     

[ ParticleDensityRandomBox ]   
Last modified: May 13, 2014.    

Scripts. These are a couple of small command-line scripts that may be used to alter a batch of coordinate files generated using any of the tools above. They are only provided as Python source files. 

[ add_random.py ]

Adds or replaces random points in coordinate files. 
Last modified: August 11, 2010.

[ change_scale.py ]  

Replaces the scale (pixel width) in coordinate files.
Last modified: August 11, 2010.

Disclaimer


The core functionality of the tools has been fairly well-tested. However, bugs and rough edges do exist; I do not guarantee the correctness of the output. If you encounter a bug, please e-mail me.

 

Documentation


There is no online documentation so far, I'm afraid. However, there is an introduction to the tools in the book chapter written by me, Linda Bergersen and Vidar Gundersen. If you contact me I will be happy to send you a pdf of the chapter. Also, don't hesitate to e-mail me if you have any questions.

 

 

 

A few screenshots:

Synapse.py

 

PointDensitySyn Python component

 

PlotProfile


Page manager: max.larsson@liu.se
Last updated: 2019-08-20