// Asteroid Shape Analysis Macro for ImageJ // This macro was written by Rina Noguchi for Watanabe et al., Hayabusa2 arrives at the carbonaceous asteroid 162173 Ryugu - a spinning-top-shaped rubble pile, Science (2019). // This macro was modified after Liu et al., Optimising Shape Analysis to quantify volcanic ash morphology. GeoResJ (2015). // INPUTS: this macro requires a binary image. // OUTPUTS: Aspect ratio (minor/major axes diameter) and circularity. // Mathematical definitions for the circularity given in SM7 of Watanabe et al. (2019). // Default variables: particle size range = 750-Infinity pixels per particle; 'exclude' edge-touching particles; // 'include' holes in the particle area. { run("Set Measurements...", "area centroid perimeter bounding fit shape feret's redirect=None decimal=3"); run("Analyze Particles...", "size=1000-Infinity pixel Circularity=0.00-1.00 show=Outlines exclude clear include record stack"); n = nResults; area1 = newArray(n); length1 = newArray(n); area2 = newArray(n); length2 = newArray(n); xstart = newArray(n); ystart = newArray(n); ff1 = newArray(n); AR1 = newArray(n); round1 = newArray(n); BBX1 = newArray(n); BBY1 = newArray(n); major1 = newArray(n); minor1 = newArray(n); cCirc = newArray(n); feret1 = newArray(n); minferet1 = newArray(n); solidity1 = newArray(n); a = newArray(n); for (i=0; i