List of my modules...
Module: Measure_Elements
Description:
In an image considered as a label field, where each grey level (of integer type) corresponds to a 6-connected group of pixels to characterise (except for those with value 0), this module gives in the form of a spreadsheet various values associated with each. The spreadsheet may contain, in column order:
- Label
- Value (or greylevel) of the pixels of the element
- Volume
- Number of pixels in that element
- Border
- How many pixels of that element touch the image border
- Barycentre (Gx, Gy, Gz)
- Centre of gravity of the element
- PA lengths (a,b,c)
- Eigen values of the inertia matrix (can be used to characterise excentricity)
- PA vectors (Ax,Ay,Az), (Bx,By,Bz), (Cx,Cy,Cz)
- Eigen vectors of the inertia matrix
Example on a set of spherical objects: the firts image shows a cube rendering of a labelfield containing twenty elements, each color is a different label. The spreadsheet is the result.
Notes
- Supposes that for a given label, there is only one 6-connected component. If not, there will be more than one line in the spreadsheet for that label, and that label will be considered a malformed elements.
- This is a refactoring of module Pore_Statistics. Although the code is clearer, it's not faster. :(
Connections:
Image
[required]
The input image, of type HxUniformScalarField3 comes in through this port.
Ports:
Columns

Selection of what information to extract.
Action button

Push the button to start the computation.
Extract malformed

Creates an output image containing malformed elements, or all the labels that have more that one 6-connected component.
Commands:
Additional options can be accessed when typing in the console Measure_Elements COMMAND_NAME.
verbose
Displays timing information after the computation, along with labels of elements having more than one 6-connected component. 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 [Measure_Elements create].