====== Calculate Value ====== ===== Description ===== Evaluates an 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. This functor is one of five in the [[calculate_functors|calculator family]]. Use it to compute a single parameter — such as a global threshold, a weighted sum of scalar inputs, or a value derived from a table — that can then be passed as input to other functors. The **abbreviated syntax** (also called **shorthand**) for this functor is ''$''. See [[ego_script#calculator_functor_shorthand|Calculator functor shorthand]] in the EGO Script documentation for the full syntax of both the verbose and abbreviated forms, and [[calculate_functors|Calculate Functors — Complete Operator Documentation]] for the complete expression language reference. ===== Inputs ===== ^ Name ^ Type ^ Description ^ | Expression | [[Image Expression Type]] | The algebraic or logical formula that evaluates to a single numeric result. Must be enclosed in square brackets ''[ ]'' in EGO Script. | ===== Optional Inputs ===== ^ Name ^ Type ^ Default ^ Description ^ | Default Value | [[Real Value Type]] | None | Value returned if the expression produces an algebraic error. When provided, acts as a catch-all fallback equivalent to wrapping the entire expression in the ''?'' operator. | ===== Output ===== ^ Name ^ Type ^ Description ^ | Result | [[Real Value Type]] | The computed scalar value. | ===== Group ===== [[Functor List#Table | Table]] ===== Notes ===== ==== Connecting data inputs ==== 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: * 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. ==== 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 ===== ''CalculateValue'' ===== Usage examples ===== * [[calculate_functors#calculatevalue_examples|CalculateValue practical examples]] in the Calculate Functors documentation * [[lesson_8|Lesson 8: Inserting and getting a specific value into a table]]