There are several components to an HTM system:

  1. encoding data into SDR using Encoders
  2. passing encoded data through the SpatialPooler
  3. running TemporalMemory over the Spatial Pooler’s active columns
  4. extracting predictions using a Classifier
  5. extracting anomalies using Anomaly and AnomalyLikelihood.

Each of these components can be run independently of each other. The only communication between the are binary arrays (SDRs) representing cell activations. Spatial representations are maintained within the proximal synapse permanences between the Spatial Pooler’s columns and the input space. Temporal representations are maintained within the distal synapse permanences between the cells in the Temporal Memory representation.