Grid Cycloid Arc, Grid Cycloid Arc Batch Processor
Author: Eric Kischell (keesh)
Grid Cycloid Arc was originally based upon the Grid plugin by Wayne Rasband
Grid Cycloid Arc Batch Processor pillages from the Batch Converter plugin by Wayne Rasband

11/08/2003: First version requested by Tom Einar Andersen
01/25/2004: Minor enhancements to support being called for batch operation
08/14/2004: Grid Cycloid Arc Batch Processor introduced

Requires: ImageJ 1.31p or later
 ImageJ 1.32j or later, and Java 1.4 or later, and Swing for Batch Processor
 Batch Processor requires Grid Cycloid Arc plugin for operation.
Source: Contained in Grid_Cycloid_Arc_Pkg.jar, which can be opened using a ZIP utility
Installation: Download Grid_Cycloid_Arc_Pkg.jar  to the plugins folder or subfolder, restart ImageJ,
and there will be a new Plugins/Filters/Grid Cycloid Arc and Grid Cycloid Arc Batch Processor commands.
Description: This plug-in is a custom jobber for Tom.
The Grid Cycloid Arc plugin enables the estimation of surface area from VUR (Vertical Uniform Random) sections. A grid consisting of cycloids (defined by: x = θ - sinθ, y = 1 - cosθ, where θ is the angle ranging from 0 to π) is drawn on the image. The cycloids must be aligned with their short axes parallell to the vertical axis in the specimen. Since the grid itself cannot be rotated, the vertical axis of the specimen must be aligned with the vertical in the image. Counting intersections between the cycloids and a surface enables the estimation of surface fractions in vertical sections. Combined with an estimate of the reference volume, this also enables estimation of total area. Please refer to the references for details on the procedure.
Please note:: The Grid Cycloid Arc plugin is not suitable for use with IUR (Isotropic Uniform Random) sections.
About the grid:
  • The grid is drawn in the current foreground color (ImageProcessor drawing routines may not honour foreground colour for greyscale images).
  • A short "dash" is added at the ends of the cycloids to make it a lot easier to judge the "in or out" at the ends of the lines.
  • A "poor man's" form of undo is implemented for the destructive overlay. It uses the original image's id.
  • Depending on the nature of the specimen, different arrangements of the cycloids may influence the variability in the estimate. The plugin offers a choice of three different arrangements (A, B and C). B is not completed in the first edition of the plugin.
For sequence A and B:
To avoid introducing a systematical error (bias), if there is an odd number of points in both X and Y, then an even number of points (in X) is forced (via increment by 1).
The cycloid (including dashes) fit within a single tile.
For sequence C (rolling):
In this mode, the dashes marking the transitions between the cycloids also function as the volumetric counting points. To get an equal number of points and cycloids, one point is omitted at the end of each cyloid row. The tiles are forced to have the same aspect ratio as the cycloids via changing the number of points in X. We want an arrangement as per figure 14. in ref. #3 (i.e. half the dash (arm) meets the "next" tile).

[cycloid example sequence A]

User Parameters
The user can define the number of points in the grid (in the x and y direction).
The grid has a static position
The "Safety zone" near the edges of the image, where no points or cycloids are drawn is selectable in size (as a percentage of the image width).
The user can define the height of the cycloid (and as a result, also the width) as a percentage of the image width. The cycloid height and width are limited by the height or width of the tile, depending on which is the greatest.

[cycloid arc dialog]

  1. Distance between Points X = tile width (in physical units)
  2. Distance between Points Y = tile height (in physical units)
  3. Length of Cycloid per Point = 2.0 * cycloidHeight (in physical units) for Sequence C
  4. Length of Cycloid per Point = cycloidHeight (in physical units) for Sequence A
  5. Area per point = tile height * tile width (in physical units^2)
    The plugin take into account the |_-points for A and the crossing dashes for C.

[cycloid arc measurement]

Batch Processor Description:
The Batch Processor allows the user to place screens on all images from a sample, saving copies with the screen on them. The plugin processes all files in a directory, saving them with a new name (e.g. blobs.gif -> cycloids_blobs.tif). The callibration, as well as the settings for the cycloids are maintained between the images. Processed images are not expected to be processed again using this plugin. They will only be used for the counting.

Basic mode of batch operation:
  1. Run the "Grid Cycloid Arc Batch Processor" plugin.
  2. Follow any direcitons on the calibration image sample splash screen.
  3. Calibration data is entered in the "Set Scale" dialog either by prior measuring of callibration images, or entering the pixel size info directly. Global has already been checked (please keep it checked for this batch).
  4. Select an input folder (single directory only) Note, the scroll wheel on the mouse is enabled to allow convenient searching for input/output folders.
  5. Select a destination folder. Note, only directories and folders are displayed (and NOT files).
  6. Fill in the Cycloid Batch Processor dialog and press OK.
  7. The "matching" files are automatically selected. You may select or un-select files at this time.
  8. Enter your Grid Cycloid Arc parameters to be applied to the entire batch and press OK.
  9. Examine your destination folder output image and measurement results.
About the batch processor:
  • All files in the folder will use the same parameters for the grid.
  • Images subdirectories are not processed.
  • The cycloid results table should be closed prior to running the batch plugin.
  • Images and their correspoding measurements are saved "as you go" to prevent losing any work (due to a system failure).
  • Image/J does not always seem to reclaim its memory after the run method has returned. Also, there maybe possible memory leaks as you go.
User Parameters
  • Input filename to match using Regular Expessions syntax (case sensitive).
    As an option to processing an entire folder, the user can choose only some files from a folder using standard regular expressions logic (case sensitive). Matching files are shown as selected. This enables processing images from just one sample, even if images from all samples are found in the same folder
  • Ouput base filename forms the "base" name of the output image files (ex. cycloids_blobs.tif). The cycloid arc's measurements results table inserts the corresponding base image filename into each row. Each asssociated processed image corresponds to a row in the measurements table.
  • The output file format {TIFF | JPEG}. The user can set the JPEG image quality factor (one time) via the Edit | Options | JPEG Quality Image/J menu.
  • Output batch experiment name forms the name of the Cycloid Arc Results Table  (ex. Cycloid_Arc_Results_Table_batch1.txt).
[cycloid arc batch dialog]

Journal of Microscopy Journal of Microscopy, Vol. 142, Pt 3, June 1986, pp. 259-276.  "Estimation of surface area from vertical sections", Baddeley, et al.
APMIS APMIS 96: 379-394, 1988  Some new, simple and efficient stereological methods and  their use in pathological research and diagnosis"  H. J. G. GUNDERSEN, T. F. BENDTSEN, L. KORBO N. MARCUSSEN,  A. MØLLER, K. NIELSEN, J. R. NYENGAARD, B. PAKKENBERG,  F. B. SØRENSEN, A. VESTERBY and M. J. WEST
Single Object Stereology (Part 2) By Mike Puddephat
Chapter 7 - Global measurements and stereology
Chapter 7 Section A - Automatic counting with grids
Googled "cycloid arc"
The Cycloid
Legal Notice: Grid Cycloid Arc plugins authored by Eric Kischell (keesh) and
Tom Einar Andersen
The Grid Cycloid Arc plugins are released under a variation of a software distribution license
called "careware".
Original "careware" model pioneered by Al Stevens.
If you publish results that are based on Grid Cycloid Arc plugins, please acknowledge the authors.