List of my modules...
Module: Encircle
Description:
Finds, on certain axial cross-sections of the input image (at certain depths, starting at z=0, and then every 'incr' cross-sections, 'incr' being input by the user), the smallest circle containing all points having an intensity strictly higher than a certain threshold, also given by the user.
The method implemented here is based on the Elzinga-Hearn algorithm (1971).
The output is of type HxCluster and stores a set of points which represent the centres of the circles, the radii being stored in a data column having the name "radii"
The image above illustrates what this module does. The result is not shown directly from the output, which is just custom information that defines the circle (another module was used to draw the circle over the input image).
NOTE:
There isn't always a circle on an analysed cross-section. If a cross-section contains no pixel belonging to the object, then no circle can be determined, and no result is stored for that cross-section.
Connections:
Image
[required]
The input image comes in through this port. For now, the only input type that has been implemented is HxUniformScalarField3.
Ports:
Threshold

Value that define the points to encircle.
Comparison

Defines how the threshold is used to define the points to encircle: should the pixel value be lower, lower or equal, greater, etc. than the threshold ?
Increment

This represents the number of cross-section to skip at each iteration. For instance, an increment of 1 will mean that a circle will be sought on every cross-section. An increment of 2 means circles will be sought at z=0,2,4,6...
and so forth.
Action button

Push this button to start the computation.
Commands:
Additional options can be accessed when typing in the console Encircle COMMAND_NAME.
verbose
Displays timing information after the computation. Retype to hide info.
create
Runs the computation. Returns the name of the output, so it can be used in a script, such as set RESULT [Encircle create].