menu_book

Knowledge Base

Documentation, guides, and resources for Noldus products.

FaceReader 10 - Custom Expression Processors in Detail

Last updated: Jul 28, 2026

Custom Expression Processors in Detail

To combine blocks you need processors. The following processors are available:

Mathematical Processors

  • Maximum — This processor compares two (or more) numerical input values. The output is the highest value. For instance, when calculating Valence, FaceReader compares the intensities values of Angry, Sad, Scared and Disgusted. The highest value of the four is subtracted from the intensity of Happy.
  • Minimum — This processor compares two (or more) numerical input values. The output is the lowest value.
  • Sum — This processor calculates the sum of all its numerical input values. The screen shot below is part of the Custom Expression 'Interest'. The first step in the definition is to assess which of the Action Units 1, 2 or 12, has the highest value and sum this value and half of the intensity of Attention.
  • Average — This processor calculates the average of all its numerical input values.
  • Filtered Aggregate — With this processor FaceReader can, for instance, calculate the average of the three highest input elements. In the screen shot below FaceReader calculates the average intensity of the three Action Units with the highest intensity (1, 17 and 20). In this example this means calculating the average of 0.6; 0.5 and 0.4. The output value is 0.5.

    Click the pencil icon to edit the settings:

    • Selection: either Top or Bottom.
    • Number of elements: select how many inputs you want to take into account.
    • Aggregation operation: select whether you want to calculate the Average, Sum, Standard Deviation, Maximum, Minimum or Median of the input values.
  • Scale — This processor multiplies its numerical input value with the value you enter as a parameter.
  • Offset — This processor adds the value that you enter as a parameter to the numerical input value.
  • Subtract — With this processor FaceReader subtracts numerical input value B (bottom connector) from numerical input value A (top connector). The screenshot below is part of the definition of the Custom Expression 'Attention' in which the maximum of four input values is subtracted from the constant value 1.
  • Divide — With this processor FaceReader divides numerical input value A (top connector) by numerical input value B (bottom connector).
  • Multiply — With this processor FaceReader multiplies input value A (top connector) by input value B (bottom connector).
  • Scale to Range — Use this processor if you want the numerical input to fall within a new range. Enter the minimum and maximum values of the original range and the minimum and maximum value of the new range. The Custom Expression definition for 'Confusion' contains the 'Scale to range' processor in the screenshot below. In step x of the definition the output values can range from 0 to 4. With the 'Scale to range' processor, you scale the values from 0 to 1.
  • Power — With this processor the input value (0.2 in the example in the screenshot below) is raised to the power of n. In this example n=2 and the output is 0.04.
  • Exponent — This processor has two inputs (A and B). The Exponent block uses the formula: B to the power of A (0.3 to the power of 2 in the example below). If you connect the input blocks the other way around the result is 2 to the power of 0.3.
  • Logarithm — This processor takes the logarithm of the top input (A) with the bottom input (B) as base. The output is Log B(A) (logarithm of 2 to base 0.3 in the example below). If you connect the input blocks the other way around the result is logarithm of 0.3 to base 2.
  • Logistic — A Logistic block has one input, x. When you click the pencil button you can set the limit (L), the steepness (k) and the midpoint (x0). The output is L/(1+e^(-k(x-x0))). The Logistic processor is used in the custom expression 'Spontaneous laughter'. The S-shaped logistic function helps to promote high activation values and suppress low activation values.
  • Square Root — This processor takes the square root of the input value.
  • Absolute — This processor takes the absolute value of the input. You can, for instance, base your Custom Expression on the Valence and treat positive and negative values similarly. An input value of -0.6 (like in the screenshot below) results in an output of 0.6 and a Valence intensity of 0.6 also results in an output of 0.6.
  • Clip — This processor changes the input value into a value that fits in a range between a minimum and a maximum value. The example in the screenshot below shows part of the definition for Frowning. The input value (Sum = the sum of the intensities values of Action Unit 4 and 0.5 x Action Unit 7) is >1. The maximum set for the clip range is 1 so the output value is 1.

Logical

  • Condition — This processor compares input value A (top connector) with input value B (bottom connector). It checks either whether A>B, A≥B, A<B, A≤B or A=B (depending on what comparison type you choose). The condition can either be True or False. In the screen shot below the value of Action Unit 43 is compared with the value 0.7 using the comparison operator '>'. As 0.13 is smaller than 0.7, the condition is False.
  • And — This processor has multiple Boolean values (True/False) as input and a single Boolean value as output. Use this processor, for instance if you want two or more conditions to be true for the Custom Expression to be active. The screenshot below is part of the definition of the Custom Expression 'Duchenne smile'. For a Duchenne smile (genuine smile) both Action Unit 6 and Action Unit 12 must be active. In this example, the definition is that both Action Units must have a value greater than 0.2. If Condition 1 (for Action Unit 6) AND condition 2 (for Action Unit 12) are true, there is a Duchenne smile.
  • Or — This processor has multiple Boolean values (True/False) as input and a single Boolean value as output. It compares two or more conditions with an OR logic. The screenshot below shows part of the definition of the Custom Expression 'Attention' (binary). The Or processor checks four conditions. If one of them is true, the output is True. If all four conditions are false, the output is False.

Source: FaceReader 10 Reference Manual (Help), Noldus Information Technology

Compare solutions

Not sure which Noldus product fits your protocol? We can help you make the right choice.

Noldus is here to assist you throughout the whole process.

shopping_bag
check_circle

Thank you!

We'll get back to you shortly.

error

Please correct the following errors:

error

error

error

error

By clicking Submit, you consent to Noldus processing your data as described in our privacy policy.