Add relationship connection

Adds a series of line overlays, representing various relationship scenarios.

Description

Adds a series of line overlays, representing various relationship scenarios. Lines extend between centroids of two objects. Depicted relationships can be between mutual child of the same parent object, between partner objects of between children and parents.

Parameters

ParameterDescription
Colour modeMethod for assigning colour of each object:
  • "Child count" Colour is determined by the number of children each object has. Colour range runs across the first half of the visible spectrum (i.e. red to cyan) and is maximised, so the object with the fewest children is shown in red and the object with the most, in cyan. Objects without any children are always shown in red. Child objects used for counting are selected with the "Child objects for colour" parameter.
  • "ID" Colour is quasi-randomly selected based on the ID number of the object. The colour used for a specific ID number will always be the same and is calculated using the equation hue = (ID * 1048576 % 255) / 255.
  • "Measurement value" Colour is determined by a measurement value. Colour range runs across the first half of the visible spectrum (i.e. red to cyan) and is maximised, so the object with the smallest measurement is shown in red and the object with the largest, in cyan. Objects missing the relevant measurement are always shown in red. The measurement value is selected with the "Measurement for colour" parameter.
  • "Parent ID" Colour is quasi-randomly selected based on the ID number of a parent of this object. The colour used for a specific ID number will always be the same and is calculated using the equation hue = (ID * 1048576 % 255) / 255. The parent object is selected with the "Parent object for colour" parameter.
  • "Parent measurement value" Colour is determined by a measurement value of a parent of this object. Colour range runs across the first half of the visible spectrum (i.e. red to cyan) and is maximised, so the object with the smallest measurement is shown in red and the object with the largest, in cyan. Objects either missing the relevant measurement or without the relevant parent are always shown in red. The parent object is selected with the "Parent object for colour" parameter and the measurement value is selected with the "Measurement for colour" parameter.
  • "Partner count" Colour is determined by the number of partners each object has. Colour range runs across the first half of the visible spectrum (i.e. red to cyan) and is maximised, so the object with the fewest partners is shown in red and the object with the most, in cyan. Objects without any partners are always shown in red. Partner objects used for counting are selected with the "Partner objects for colour" parameter.
  • "Random colour" Colour is randomly selected for each object. Unlike the "ID" option, the colours generated here will be different for each evaluation of the module.
  • "Single colour" (default option) Colour is fixed to one of a predetermined list of colours. All objects will be assigned the same overlay colour. The colour is chosen using the "Single colour" parameter.
Colour mapColourmap used for colour gradients. This parameter is used if "Colour mode" is set to any mode which yields a range of colours (e.g. measurements or IDs). Choices are: Black fire, Ice, Jet, Physics, Random, Random (vibrant), Spectrum, Thermal.
Single colourColour for all object overlays to be rendered using. This parameter is used if "Colour mode" is set to "Single colour". Choices are: White, Black, Red, Orange, Yellow, Green, Cyan, Blue, Violet, Magenta.
Child objects for colourObject collection used to determine the colour based on number of children per object when "Colour mode" is set to "Child count". These objects will be children of the input objects.
Measurement for colourMeasurement used to determine the colour when "Colour mode" is set to either "Measurement value" or "Parent measurement value".
Parent object for colourObject collection used to determine the colour based on either the ID or measurement value of a parent object when "Colour mode" is set to either "Parent ID" or "Parent measurement value". These objects will be parents of the input objects.
Partner objects for colourObject collection used to determine the colour based on number of partners per object when "Colour mode" is set to "Partner count". These objects will be partners of the input objects.
Opacity (%)Opacity of the overlay to be rendered. This is a value between 0 (totally transparent) and 100 (totally opaque).
Range minimum modeControls whether the minimum range for displayed colours is set automatically to the minimum available value (e.g. the smallest measurement being rendered), or whether it is defined manually by the "Minimum value" parameter.
Minimum valueWhen "Range minimum mode" is set to "Manual", this is the minimum value that will be displayed as a unique colour. All values smaller than this will be displayed with the same colour.
Range maximum modeControls whether the maximum range for displayed colours is set automatically to the maximum available value (e.g. the largest measurement being rendered), or whether it is defined manually by the "Maximum value" parameter.
Maximum valueWhen "Range maximum mode" is set to "Manual", this is the maximum value that will be displayed as a unique colour. All values larger than this will be displayed with the same colour.
Input imageImage onto which overlay will be rendered. Input image will only be updated if "Apply to input image" is enabled, otherwise the image containing the overlay will be stored as a new image with name specified by "Output image".
Line modeControls what object-object relationships will be represented by the lines. In all cases, lines are drawn between object centroids, although the line start and end points can be offset along the line when the "Offset by measurement" setting is selected:

- "Between children" Draw lines between all objects in two child object sets of a common parent object ("Parent objects"). This will result in all permutations of lines between one child object set and the other The child object sets are selected with the "Child objects 1" and "Child objects 2" parameters.

- "Between partners" Draw lines between all partner objects. The two partner object sets are selected using the "Partner objects 1" and "Partner objects 2" parameters.

- "Parent to child" Draw lines between parent objects and all their children. Parent objects are selected using the "Parent objects" parameter and children using the "Child objects 1" parameter..
Parent objectsUsed to select the parent object of the two child object sets when in "Between children" mode, or to select the parent objects in "Parent to child" mode.
Child objects 1Selects the first child objects set when in "Between children" mode, or the (only) child set when in "Parent to child" mode.
Child objects 2Selects the second child objects set when in "Between children" mode.
Partner objects 1Selects the first partner objects set when in "Between partners" mode.
Partner objects 2Selects the second partner objects set when in "Between partners" mode.
Apply to input imageDetermines if the modifications made to the input image (added overlay elements) will be applied to that image or directed to a new image. When selected, the input image will be updated.
Add output image to workspaceIf the modifications (overlay) aren't being applied directly to the input image, this control will determine if a separate image containing the overlay should be saved to the workspace.
Output imageThe name of the new image to be saved to the workspace (if not applying the changes directly to the input image).
Render modeControls how the line is displayed between the centroids of the relevant two objects:

- "Full line" Draws a complete line between the two centroids (unless "Offset by measurement" is selected, in which case the line won't necessarily begin at the centroid).

- "Half line" Draws a line between the first object (either "Child objects 1", "Partner objects 1" or "Parent objects" when in "Between children", "Between partners" or "Parent to child" modes, respectively) and the mid-point between the two relevant objects. Any offsets applied when "Offset by measurement" is selected still apply.

- "Midpoint dot" Draws a dot half way between the two relevant objects (no line is drawn).
Line widthWidth of the rendered lines. Specified in pixel units.
Point sizeSize of each overlay marker. Choices are: Tiny, Small, Medium, Large, Extra large.
Point typeType of overlay marker used to represent each object. Choices are: Circle, Cross, Dot, Hybrid.
Offset by measurementWhen selected, the lines at either end can start a fraction of the way between the two relevant object centroids. Separate offsets are applied at each end, with measurements providing the offset values selected using the "Measurement name 1" and "Measurement name 2" parameters. For example. This is useful when it is preferable to not have the line extend all the way between centroids.
Measurement name 1Object measurement specifying offset to be applied to the line start point. Offsets are fractional values, specifying the proportion of the line to ignore. For example, dual offsets of 0.25 will result in a line half the usual length.
Measurement name 2Object measurement specifying offset to be applied to the line end point. Offsets are fractional values, specifying the proportion of the line to ignore. For example, dual offsets of 0.25 will result in a line half the usual length.
Render in all framesDisplay the overlay elements in all frames (time axis) of the input image stack, irrespective of whether the object was present in that frame.
Enable multithreadingProcess multiple overlay elements simultaneously. This can provide a speed improvement when working on a computer with a multi-core CPU.