Class: Reducer

A streaming reduction, authored as symbolic recurrences over its own state rather than as backend code. Folded into the integrator carry so a windowed observable (a sliding-window FC, a running mean) is computed without ever materialising the trajectory. add folds an arriving sample in, evict takes a leaving one back out, resync rebuilds the state exactly from the window when incremental drift would accumulate, and emit reads the reduced value out. TVBO lowers all four through the sympy printers, so no backend ships a reducer and adding one is a YAML file rather than code.

URI: tvbo:Reducer

 classDiagram
    class Reducer
    click Reducer href "./Reducer.html"
      Reducer : add
        
          
    
        
        
        Reducer --> "*" Assignment : add
        click Assignment href "./Assignment.html"
    

        
      Reducer : backends
        
          
    
        
        
        Reducer --> "*" String : backends
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      Reducer : description
        
          
    
        
        
        Reducer --> "0..1" String : description
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      Reducer : emit
        
          
    
        
        
        Reducer --> "1" String : emit
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      Reducer : emit_kind
        
          
    
        
        
        Reducer --> "0..1" ReducerEmitKind : emit_kind
        click ReducerEmitKind href "../../enums/ReducerEmitKind.html"
    

        
      Reducer : evict
        
          
    
        
        
        Reducer --> "*" Assignment : evict
        click Assignment href "./Assignment.html"
    

        
      Reducer : name
        
          
    
        
        
        Reducer --> "1" String : name
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      Reducer : replaces
        
          
    
        
        
        Reducer --> "*" String : replaces
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      Reducer : resync
        
          
    
        
        
        Reducer --> "*" Assignment : resync
        click Assignment href "./Assignment.html"
    

        
      Reducer : resync_masked
        
          
    
        
        
        Reducer --> "*" Assignment : resync_masked
        click Assignment href "./Assignment.html"
    

        
      Reducer : state
        
          
    
        
        
        Reducer --> "1..*" String : state
        click String href "../http://www.w3.org/2001/XMLSchema#string.html"
    

        
      

Class Properties

Property Value
Class URI tvbo:Reducer

Slots

Name Cardinality and Range Description Inheritance
name 1
xsd:string
Globally unique identifier for the entity direct
description 0..1
xsd:string
direct
replaces *
xsd:string
Dotted references to the post-scan pipeline reducers this streams direct
backends *
xsd:string
Codegen backends this recipe is registered for; others recompute direct
emit_kind 0..1
ReducerEmitKind
Whether the reduced value is read out every step or every stride direct
state 1..*
xsd:string
The names carried across steps — the reducer’s own carry direct
add *
Assignment
Recurrence folding one arriving sample v into the state direct
evict *
Assignment
Recurrence taking one leaving sample v back out of the state direct
resync *
Assignment
Recurrence rebuilding the state exactly from the whole window x direct
resync_masked *
Assignment
Recurrence rebuilding the state from a fixed-size ring in which only L rows… direct
emit 1
xsd:string
Expression reading the reduced value out of the state direct

Identifier and Mapping Information

Schema Source

  • from schema: https://w3id.org/tvbo

Mappings

Mapping Type Mapped Value
self tvbo:Reducer
native tvbo:Reducer

LinkML Source

Direct

name: Reducer
description: A streaming reduction, authored as symbolic recurrences over its own
  state rather than as backend code. Folded into the integrator carry so a windowed
  observable (a sliding-window FC, a running mean) is computed without ever materialising
  the trajectory. `add` folds an arriving sample in, `evict` takes a leaving one back
  out, `resync` rebuilds the state exactly from the window when incremental drift
  would accumulate, and `emit` reads the reduced value out. TVBO lowers all four through
  the sympy printers, so no backend ships a reducer and adding one is a YAML file
  rather than code.
from_schema: https://w3id.org/tvbo
slots:
- name
- description
attributes:
  replaces:
    name: replaces
    description: Dotted references to the post-scan pipeline reducers this streams.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - Reducer
    range: string
    multivalued: true
  backends:
    name: backends
    description: Codegen backends this recipe is registered for; others recompute.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - Reducer
    range: string
    multivalued: true
  emit_kind:
    name: emit_kind
    description: Whether the reduced value is read out every step or every stride.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    ifabsent: string(window)
    domain_of:
    - Reducer
    range: ReducerEmitKind
  state:
    name: state
    description: The names carried across steps — the reducer's own carry.
    from_schema: https://w3id.org/tvbo
    domain_of:
    - Node
    - Reducer
    range: string
    required: true
    multivalued: true
  add:
    name: add
    description: Recurrence folding one arriving sample `v` into the state.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined_as_list: true
  evict:
    name: evict
    description: Recurrence taking one leaving sample `v` back out of the state.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined_as_list: true
  resync:
    name: resync
    description: Recurrence rebuilding the state exactly from the whole window `x`.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined_as_list: true
  resync_masked:
    name: resync_masked
    description: Recurrence rebuilding the state from a fixed-size ring in which only
      `L` rows are live, selected by mask `m`. Separate from `resync` because a ring
      sized for the longest window carries rows that are not yet part of it, and summing
      over them would fold padding into the result. Absent where a reducer has no
      ring to mask.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined_as_list: true
  emit:
    name: emit
    description: Expression reading the reduced value out of the state.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    domain_of:
    - Reducer
    range: string
    required: true
class_uri: tvbo:Reducer

Induced

name: Reducer
description: A streaming reduction, authored as symbolic recurrences over its own
  state rather than as backend code. Folded into the integrator carry so a windowed
  observable (a sliding-window FC, a running mean) is computed without ever materialising
  the trajectory. `add` folds an arriving sample in, `evict` takes a leaving one back
  out, `resync` rebuilds the state exactly from the window when incremental drift
  would accumulate, and `emit` reads the reduced value out. TVBO lowers all four through
  the sympy printers, so no backend ships a reducer and adding one is a YAML file
  rather than code.
from_schema: https://w3id.org/tvbo
attributes:
  replaces:
    name: replaces
    description: Dotted references to the post-scan pipeline reducers this streams.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: Reducer
    domain_of:
    - Reducer
    range: string
    multivalued: true
  backends:
    name: backends
    description: Codegen backends this recipe is registered for; others recompute.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: Reducer
    domain_of:
    - Reducer
    range: string
    multivalued: true
  emit_kind:
    name: emit_kind
    description: Whether the reduced value is read out every step or every stride.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    ifabsent: string(window)
    owner: Reducer
    domain_of:
    - Reducer
    range: ReducerEmitKind
  state:
    name: state
    description: The names carried across steps — the reducer's own carry.
    from_schema: https://w3id.org/tvbo
    owner: Reducer
    domain_of:
    - Node
    - Reducer
    range: string
    required: true
    multivalued: true
  add:
    name: add
    description: Recurrence folding one arriving sample `v` into the state.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: Reducer
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined: true
    inlined_as_list: true
  evict:
    name: evict
    description: Recurrence taking one leaving sample `v` back out of the state.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: Reducer
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined: true
    inlined_as_list: true
  resync:
    name: resync
    description: Recurrence rebuilding the state exactly from the whole window `x`.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: Reducer
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined: true
    inlined_as_list: true
  resync_masked:
    name: resync_masked
    description: Recurrence rebuilding the state from a fixed-size ring in which only
      `L` rows are live, selected by mask `m`. Separate from `resync` because a ring
      sized for the longest window carries rows that are not yet part of it, and summing
      over them would fold padding into the result. Absent where a reducer has no
      ring to mask.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: Reducer
    domain_of:
    - Reducer
    range: Assignment
    multivalued: true
    inlined: true
    inlined_as_list: true
  emit:
    name: emit
    description: Expression reading the reduced value out of the state.
    from_schema: https://w3id.org/tvbo
    rank: 1000
    owner: Reducer
    domain_of:
    - Reducer
    range: string
    required: true
  name:
    name: name
    description: Globally unique identifier for the entity.
    from_schema: https://w3id.org/tvbo/common
    slot_uri: schema:name
    identifier: true
    owner: Reducer
    domain_of:
    - BrainAtlas
    - CommonCoordinateSpace
    - ParcellationEntity
    - StudyLayout
    - StudyTemplate
    - StudyDirectory
    - StudyFile
    - DBSProtocol
    - ClinicalScale
    - ClinicalScore
    - SoftwarePackage
    - SoftwareRequirement
    - SoftwareEnvironment
    - Figure
    - Event
    - Tractogram
    - ResultEntity
    - Activity
    - CachedArray
    - MeasureSpec
    - NamedArray
    - GraphGenerator
    - Binding
    - ProcedureStep
    - File
    - StateValue
    - Observation
    - Dynamics
    - StateVariable
    - Distribution
    - Parameter
    - CouplingInput
    - Argument
    - Function
    - FunctionCall
    - Callable
    - DerivedParameter
    - DerivedVariable
    - DataSource
    - OptimizationStage
    - Exploration
    - Inference
    - Prior
    - Likelihood
    - UpdateRule
    - Algorithm
    - Option
    - BranchSwitch
    - Continuation
    - Coupling
    - EnvironmentVariable
    - SchedulerDirective
    - Reducer
    range: string
    required: true
  description:
    name: description
    from_schema: https://w3id.org/tvbo
    rank: 1000
    slot_uri: dcterms:description
    owner: Reducer
    domain_of:
    - CommonCoordinateSpace
    - Dataset
    - StudyLayout
    - StudyTemplate
    - StudyDirectory
    - StudyFile
    - ClinicalScore
    - SoftwarePackage
    - SoftwareRequirement
    - SoftwareEnvironment
    - Figure
    - Panel
    - Equation
    - Stimulus
    - Event
    - Tractogram
    - Matrix
    - ResultEntity
    - Activity
    - Phenotype
    - MeasureSpec
    - NamedArray
    - Network
    - GraphGenerator
    - ProcedureStep
    - File
    - Node
    - Edge
    - Observation
    - Dynamics
    - StateVariable
    - Parameter
    - CouplingInput
    - Argument
    - Function
    - FunctionCall
    - Callable
    - DerivedParameter
    - DerivedVariable
    - RandomStream
    - DataSource
    - OptimizationStage
    - Exploration
    - ExplorationAxis
    - FreeParameter
    - Inference
    - Prior
    - Likelihood
    - UpdateRule
    - AlgorithmStage
    - TuningObjective
    - Algorithm
    - BranchSwitch
    - Continuation
    - Integrator
    - Coupling
    - RegionMapping
    - SimulationExperiment
    - Study
    - ResultBinding
    - TimeSeries
    - NDArray
    - SpatialDomain
    - Mesh
    - SpatialField
    - FieldStateVariable
    - BoundaryCondition
    - PDESolver
    - PDE
    - Reducer
    range: string
class_uri: tvbo:Reducer