Differences
This shows you the differences between two versions of the page.
| Both sides previous revision Previous revision Next revision | Previous revision | ||
|
calculate_value [2022/08/19 23:50] admin [Notes] |
calculate_value [2026/08/28 03:14] (current) hermann Sync from local documentation review |
||
|---|---|---|---|
| Line 1: | Line 1: | ||
| - | ====== Calculate Value ====== | + | ====== Calculate Value ====== |
| ===== Description ===== | ===== Description ===== | ||
| - | This container calculates a value employing a logic/algebraic expression. | + | Evaluates an algebraic or logical expression once and returns a single scalar value. Unlike the map and lookup table calculators, there is no current cell, row, or spatial grid: the expression is evaluated in a purely scalar context, drawing only on tables, lookup tables, and scalar values connected through hooks. |
| + | |||
| + | This is one of Dinamica EGO's five calculator functors. Its abbreviated (shorthand) syntax is ''$''. See [[ego_script#calculator_functor_shorthand|Calculator functor shorthand]] in the EGO Script documentation for the verbose and abbreviated forms, and [[Calculate Functors|Calculate Functors — Complete Operator Documentation]] for the full expression language reference. | ||
| ===== Inputs ===== | ===== Inputs ===== | ||
| ^ Name ^ Type ^ Description ^ | ^ Name ^ Type ^ Description ^ | ||
| - | | Expression | [[Image Expression Type]] | Algebraic or logical expression used to calculate the lookup table. | | + | | Expression | [[Image Expression Type]] | Algebraic or logical expression that evaluates to a single numeric result. Must be enclosed in square brackets ''[ ]'' in EGO Script. | |
| ===== Optional Inputs ===== | ===== Optional Inputs ===== | ||
| ^ Name ^ Type ^ Description ^ Default Value ^ | ^ Name ^ Type ^ Description ^ Default Value ^ | ||
| - | | Default Value | [[Real Value Type]] | Value to be passed in case an algebraic error occurs. | None | | + | | Default Value | [[Real Value Type]] | Value returned if evaluating the expression produces an algebraic error. When not provided, evaluation errors are propagated. This is an advanced port. | .none | |
| - | ===== Output ===== | + | ===== Outputs ===== |
| ^ Name ^ Type ^ Description ^ | ^ Name ^ Type ^ Description ^ | ||
| - | | Calculated | [[Real Value Type]] | The calculated value. | | + | | Result | [[Real Value Type]] | The computed scalar value. | |
| ===== Group ===== | ===== Group ===== | ||
| Line 26: | Line 28: | ||
| ===== Notes ===== | ===== Notes ===== | ||
| - | The list of mathematical and logical operators that can be employed in the logic/algebraic expression can be found in the [[Image Expression Type | image expression reference]]. Note that the operators and functions described in [[Image Expression Type#Image Operators and Functions | Image Operators and Functions]] and [[Image Expression Type#Image Neighborhood Functions | + | ==== Connecting data inputs ==== |
| - | | Image Neighborhood Functions]] can not be used in value calculations. | + | |
| - | The tables used by the "Calculate Value" must be provided by a corresponding [[Number Table]] and the values must be provided by a corresponding [[Number Value]]. | + | Tables, lookup tables, and scalar values referenced in the expression must be connected to the functor's ports before writing the expression, using hook functors: |
| - | For additional information about how the null values are handled during image and value calculation, see [[Image Expression Null Value Handling|this reference]]. | + | * Tables and lookup tables → [[Number Table]] → referenced in the expression as t1, t2, …, t100 |
| + | * Scalar values → [[Number Value]] → referenced as v1, v2, …, v100 | ||
| + | Maps cannot be connected — there is no cell context in this functor. In the abbreviated syntax, tables are referenced as ''%variableName'' and values as ''$variableName''. | ||
| + | |||
| + | ==== Available expression features ==== | ||
| + | |||
| + | Image operators (''iX''), the line and column spatial keywords, neighbourhood functions, neighbourhood indexing, and convolution are not available — there is no cell or row context. Available features are arithmetic and logical operators and table and lookup table queries (''tX[...]'') in all single-key and multi-column forms. See [[Calculate Functors#The Expression Language|The Expression Language]] for the complete reference, or [[Image Expression Type]] for the navigable operator index. | ||
| + | |||
| + | All operations are performed using the precision defined by ImageExpression::Value; the final result is then converted to a double-precision real. See [[Calculate Value 2]] for a variant that instead performs all operations using double precision throughout. | ||
| + | |||
| + | ==== Null value handling ==== | ||
| + | |||
| + | Null propagation rules and defensive patterns are covered in [[Calculate Functors#Null Value Handling|Null Value Handling]] in the Calculate Functors documentation. | ||
| ===== Internal Name ===== | ===== Internal Name ===== | ||
| CalculateValue | CalculateValue | ||
| + | |||
| + | ===== Usage examples ===== | ||
| + | |||
| + | * [[Calculate Functors#CalculateValue practical examples|CalculateValue practical examples]] in the Calculate Functors documentation | ||
| + | * [[lesson_8|Lesson 8: Inserting and getting a specific value into a table]] | ||