Table of ContentsPreviousNextIndex

Put your logo here!


Table of Contents

Preface

Scope of Document

Document Overview

Related Documentation

Conventions

Document History

For More Information

1 Getting Started With Numenta Node Plugins

Introduction

Why Custom Nodes?

What Custom Nodes Must Do

Developing a Plugin

Developing a Plugin in C++

Developing a Plugin in Python

Understanding the Node Plugin Architecture

Interaction Between Plugins and the Tools Framework

Interaction Between Plugins and the NRE

2 C++ Custom Node Quickstart

Creating and Building a Plugin

Prerequisites

Creating the Boilerplate Plugin on MacOS X or Linux

Creating the Boilerplate Plugin on Windows

Running Your Plugin

Files Generated by quickstart.py

coolPlugin.cpp

Implementing Your Node

The NodeSpec Structure

Implementation Task Overview

Updating the CoolNode1_Spec

Implementing the CoolNode1 Constructor

Implementing the CoolNode1 Destructor

Implementing INode::init()

Implementing INode::saveState()

Implementing INode::compute()

Implementing INode::getParameter()

Implementing INode::setParameter()

Implementing INode::execute()

3 C++ Node Plugin API Reference

Overview

Plugin Node Creation, Registration, and Use

Developing the Plugin

Loading and Registration

HTM Network Construction

Custom Nodes at Runtime: Tools Framework

Interacting with Custom Nodes: NRE

Plugin System Components

Plugin Manager Sub-System

Plugins on the Tools Side

Plugins on the Runtime Side

Node Object Model

C++ Node Interface

Plugin Class

Platform Services

Developing a Plugin

Understanding the Plugin Manager Subsystem

Node Specification

Constraint Framework

PluginManager Class

ServiceProvider Class

Node Object Model Concepts

The NodeInfo Interface

Iterable Named Collections: The next() and reset() Methods

Initial State Info Object Model

ParameterMapEntry Structure

ParameterMap Structure

Input Size Map Entry Structure

Input Size Map Structure

Output Size Map Entry

Output Size Map

InitialStateInfo Structure

Node Objects and Interfaces

Read and Write Buffer

Input and Output Range

Parameter Map

NodeInfo Interface

Node Interfaces

C++ Node Interface (INode)

Static Node Interface

Platform Services

Plugin API Version

Error Handling

Logging

Memory Management

Dynamic Library Loading

Node Type Registration

Plugin Node Lifecycle

Custom Nodes on the Tools Side

Custom Nodes on the Runtime Side

How to Use Subcomponents With Your Plugin

Subcomponent Requirements

4 Using the Python Node Plugin API

Introduction

Prerequisites

Basic Requirements

Creating a Python Node Plugin

Understanding the SimpleNodes Example

Files

Learning From the Example

Testing PyNode Functionality


Numenta
www.Numenta.com
Table of ContentsPreviousNextIndex