Revision as of 01:59, 27 April 2017 by Anotherche (talk | contribs)
PhotoBend (ImageJ)
Author Stanislav Chizhik
Maintainer Stanislav Chizhik
Source on GitHub
Initial release 10/04/2017
Latest version 26/04/2017
Development status Alpha
Category Category:Plugins,Tracking

PhotoBend plugins collection

A collection of specialized plugins for ImageJ providing tracking of a needle-like crystal shape changing during photobending process. Photobending is a phenomenon of crystal deformation caused by non-uniform crystal structure transformation due to photochemical reaction (see the review by Naumov et al., 2015[1]).

Animation of the photobend time lapse

There are two plugins in the collection providing two methods of crystal bending detection: Bending_Crystal_Track and Laser_Spot_Track4. Both use the template matching technique based on OpenCV library to track the movement of specific targets in the series of time lapse images organized in the virtual stack. Direct usage of movies opened as image stacks is not supported currently (movies can be transformed in the image sequences with tools like ffmpeg). Timeline of the registered process is based on exif timestamps in the images or on the constant time step if the metadata are not available.

There is an ability to monitor a folder for additional images appearing in the time lapse series thus allowing live process registration. The plugins work with 8/16/32-bit greyscale or 24-bit RGB images. The matching mode can be chosen from the intensity-based or color-based for the RGB format (the later is useful for images having weak intensity contrast but possessing sufficient color gradients). Subpixel registration is available using local quadratic approximation of the matching measure.

Although Bending_Crystal_Track and Laser_Spot_Track4 are specialized plugins they can be used in more general cases. Bending_Crystal_Track can be used with any images of attached bending rod-like objects, while Laser_Spot_Track4 is suitable for tracking of a spot-like objects moving relative to the pre-made template of immobile marks to analyse the object movement in the pre-defined 2D coordinate system.

The plugins use ideas and code of

   1. Template Matching by Qingzong Tseng (based on opencv)
   2. javacv (java interface to OpenCV) by Samuel Audet 
   3. Exif Metadata Library by Drew Noakes

The page is still under construction. Usage instructions will be added.

Bending_Crystal_Track plugin

The plugin is for the analysis of a stack of time lapse microscopic images of a bending crystal. The plugin requires a virtual stack. User is instructed to select specific parts on the reference crystal image which includes: the point on the tip of free crystal's end, the point on the attached end of the crystal, the point in the middle of the crystal and a rectangle around a stable part of the image (a part supposed to be immobile during the whole process, a tip of holder or capillary to which the crystal is attached, for one).

Crystal shape tracking in process

Photobend deformation plot.jpg Photobend curvature plot.jpg

The plugin code uses the selected regions of the image as reference templates to find them in the series of the time lapse images. Automatic picture stabilization is provided by detection of the stable part displacement. Then the free crystal's end and its middle part are detected in new positions of the image (accounting for the displacement and rotation) with the template matching technique. The coordinates of the three points (two ends and the middle part) are used to calculate the curvature and deformation (elongation or shortening) of the crystal.


To be continued...

Installation in Fiji

Add update site PhotoBend to install the plugins automatically.

  • Help › Update...
  • Click Manage update sites
  • Add and check new update site PhotoBend
  • Click Close
  • Click Apply changes
  • Restart ImageJ

Warning: the plugins depend on several libraries which will be installed in local Fiji jars folder. Check for versions inconstancies if you use these libraries with other plugins. The dependencies are:

   1. javacv. Version 1.3.2 (opencv-version.jar file is copied into plugins folder to prevent automatic overwriting by Fiji updater)
   2. joda-time. Version 2.9.4
   3. metadata-extractor. Version 2.9.1


  1. Panče Naumov, Stanislav Chizhik, Manas K. Panda, Naba K. Nath, and Elena Boldyreva (2015), "Mechanically Responsive Molecular Crystals", Chemical Reviews (American Chemical Society) 112 (22): 12440–12490, DOI 10.1021/acs.chemrev.5b00398