14 Oct 2019

Recipe Sequencer

Module for sequencing a recipe on each individual isolated label from a label field.


This module allows you to apply a recipe on a label field in a sequence on each individual extracted label. Most separating and filling operations, like convex hull, only make sense when applied on a single binary object. This makes it tedious to apply the same workflow on various objects. The main principle of the Recipe Sequencer is to iterate over all labels either in 3D or in 2D, extracting each individual label into a temporary working volume. The recipe is applied on the working volume and the result is stored back to the result volume maintaining the label's ID. 

Furthermore, there is an option for dilating the temporary label prior to recipe application in order to prevent artifacts that may happen close to the edges when applying, for example, morphological operations. You can optionally connect a Label Analysis result table that provides information about each object's extend. The following attributes must be available in such a result table:

  • BoundingBoxOx
  • BoundingBoxOy
  • BoundingBoxOz
  • BoundingBoxDx
  • BoundingBoxDy
  • BoundingBoxDz

Providing this information increases the module's performance because the calculation of each of the extracted label's extend can be skipped.

The output is a label field object with the same number and material IDs of labels like the input.

The module can be found from the module finder, in the Xtra/Recipe folder. Test data (PorousBubbles.am) and two example recipes (ComplVolume.hxrecipe, convexHull.hxrecipe) are also provided.

Download a version compatible with Amira-Avizo 2019.3 HERE, 2021.1 HERE, 2021.2 HERE, 2022.1 HERE, 2022.2 HERE, 2023.1 HERE.