After 3 years of macro development during my PhD, I've taken the natural step onwards into Java plugin development. These plugins are provided as-is: I write them to be useful, but if you find that they don't work as you think they should then please email me.
Most of these plugins are now being maintained in BoneJ, and changes can be viewed at the BoneJ github repository.
Rotating Calipers calculates the minimum and maximum diameters of an ROI as they would be measured with real, parallel callipers. The method is adapted from this description. It is a port from this macro.
Moments 3D (formerly Align 3D) takes a 16-bit stack of CT images, calculates moments of inertia and aligns the image content to the principal axes, and draws the axes on the stack for visualisation with the ImageJ 3D Viewer. It assumes images of bones in air, so the default threshold and density values are set accordingly. Nearest neighbour interpolation is used. Thanks to Stephan Saalfeld for useful comments. You will need to install the JAMA matrix mathematics package in order to compile and run Align 3D.
Moments 3D was written for a study on felid limb bone scaling.
Fit Sphere takes a set of point ROIs from the ROI manager and calculates a best fit sphere using an iterative algorithm. Ported from Angelo Tardugno's C++. You will need the JAMA jar file in your ImageJ plugins directory to run this plugin.
FitCircle Is a class that takes a set of 2D points and calculates the centre and radius of the best fit circle with several methods. FitCircle is intended as a class for use by developers as shown in this example implementation. Ported from Prof. Andrei Chernov's MATLAB scripts. You will need the JAMA jar file in your ImageJ plugins directory to run this plugin.
Volume Fraction measures the proportion of an ROI that is thresholded. It works for stacks, calculating the volume fraction limited by the threshold, the top and bottom slices specified and the ROI. Thanks to Wayne Rasband for pointing out the bleeding obvious. This tool is best used as published in BoneJ.
Connectivity calculates the Euler characteristic of a binary stack, and estimates connectivity and connectivity density. The connectivity estimate assumes that there is a single, connected foreground particle and a single, connected background particle. These are the primary references for the work:
Connectivity is now part of BoneJ.
The Connectivity plugin assumes that there is a single foreground particle and no cavities. To make sure that this is the case you have to remove all the particles that you're not interested in, and fill any cavities.
Purify is a heavily modified version of the 3D Object Counter plugin that takes a binary stack as input and returns a binary stack containing the largest particle of the input stack and no cavities. I strongly recommend running Purify prior to Connectivity.
Purify can be very time and RAM intensive, especially on stacks bigger than 512 x 512 x 512 pixels. It is multithreaded, so you will get results a lot faster if you run it on a machine with multiple CPUs. Set chunk size to 2 for large stacks (> 5123), 3 for mid-sized stacks (2563-5123) and 4 for small stacks.
Purify is now part of BoneJ.
Specify Threshold lets you specify a threshold value and keep every pixel over or under that value.
This file last modified 1214hrs 29 September 2011 © Michael Doube 2004-2012 :: Designed to be interoperable and standards-compliant. Looks best with Mozilla Firefox. Enforcing the Robots Exclusion Standard