Input
Decode
Fetch and decode images
Fetches images from URL inputs, decodes them, and outputs images with the given pixel format.
Debug only
Decode Options
- type
- Image pixel type
Files
List files from AWS S3 or URLs
Generates a list of file inputs. File lists can include publicly accessible URLS, or AWS S3 files or folders. Click + on the configuration screen to add a new URL or folder and then configure:
Debug only
Files Options
- AWS S3
- Select
S3
from the dropdown list on the left side of the input box, and then click the ... button to browse and select an S3 file or folder. - URL
- Select
string
from the dropdown list on the left side of the input box and then enter the URL of the file. Supported URLs include direct file downloads with HTTP and YouTube URLs of the formhttps://www.youtube.com/watch?v=ID
. Indirect downloads are not supported.
OVCam
Captures images from Omnivision image sensor
Captures YUV422 images from the on-board Omnvision image sensor.
Targets: Monocle
OVCam Options
- MODE
- sensor mode
- Programmability
- enable programmability
OVCam Programmability
The optional programmability API provides the following run-time control via the system's API interface.
- 0x00 (R/1b): Status
- current status: bit 0 - continuous capture on/off, bit 1 - xclk on/off
- 0x03 (W): Capture
- trigger a single frame capture
- 0x04 (W): Stop
- end continuous frame capture
- 0x05 (W): Start
- begin continuous frame capture
- 0x08 (W): Disable XCLK
- turn off camera xclk output
- 0x09 (W): Enable XCLK
- turn off camera xclk output
VideoDecode
Fetch and decode videos
Fetches videos from URL inputs, decodes them, and outputs the video frames as a sequence of images with the given pixel format.
Debug only
VideoDecode Options
- type
- Frame image pixel type
Output
OLED
OLED display
Targets: Monocle
Output images to OLED display. Display devices require constant refresh at a certain frequency, so the input must be attached to a frame buffer pipeline.
Console
Send input messages to console pane
Outputs all input messages in JSON format to the console pane. Values
should be converted to JSON via JsonOut
before sending to Console.
Optionally, outputs only a specific field of the input message.
Debug only
Console Options
- data
- Enter a field (e.g.
payload
) to extract from input messages (leave blank to output full message) or selectJ:
to enter a Jsonata expression.
CsvOut
Encode the input stream in CSV format
Collects input data as rows and outputs the rows encoded in CSV format. Can output one file per video or one file per image.
Debug only
CsvOut Options
- stream
- Group into one file per image or video
- header
- Optional header to include with each CSV output
- extra
- Extra columns prepended to the CSV row. Each extra column is the
result of a Jsonata expression
evaluted on the input message . The input data is in
the
payload
field of the message and there is additional information in themeta
field of the message such assource
,src_fps
,fps
,frame
,element
.
Encode
Encode images into the configured image file format
Input images are encoded in the given image file format and an internal URL to the encoded file is output.
Debug only
Encode Options
- format
- The image file format
JsonOut
Output input stream values as Json
Converts input stream values to Json.
Debug only
JsonOut Options
- frames
- Include frames in output stream
Preview
Display video/images in the preview pane
Displays output from ImageOut or VideoOut operators in the preview pane in TEST MODE ONLY by default.
Debug only
Preview Options
- test only
- When checked, only preview inputs for Test Run
VideoEncode
Encode videos into a video file format
Debug only
Input frame images are encoded into MP4 video file format and an internal URL to the encoded video is output.
Filters
Blur
Apply a blur kernel to the image.
Use an averaging kernel of size N to blur the input image.
Targets: Monocle
Blur Options
- N
- kernel size
ChScale
Scale pixels by a constant.
Multiple each input channel by k. In CLAMP mode, out-of-range values are mapped to the closest in-range value and in TRUNC mode, the multiplication is allowed to overflow.
Targets: Monocle
ChScale Options
- mode
- mapping mode
- k
- amount to scale input
Corners
Apply Harris corner detection.
Targets: Monocle
Applies a 3x3 Harris filter to the image to detect corners. The input image must be a single-channel 8-bit image and the output is also a single-channel 8-bit image where the pixel values (0-255) represent the corner response measure. The reponse measure is interpreted as follows. Corner pixels have values close to 255, non-corner edges have values close to 0 and flat ranges will have mid-range values.
FPGA This is a high-resource operation that does not fit on smaller devices like the ICE40.
Dilate
Apply dilate filter to a binary image.
Applies a maximum kernel of size N to the input image. This dialates the edges of the image. Useful to restore original size after erode.
Targets: Monocle
Dilate Options
- N
- kernel size
Erode
Apply erode filter to a binary image.
Applies a minimum kernel of size N to the input image. This erodes the edges and eliminates patches smaller than the kernel size.
Targets: Monocle
Erode Options
- N
- kernel size
FastCorners
Apply FAST corner detection.
Applies a 3x3 FAST corner filter to the image to detect corners. The input image must be a single-channel 8-bit image and the output is also a single-channel 8-bit image where the pixel values are 255 where a corner is detect or 0 otherwise. The filter works by subtracting the center value from each border pixel and counting how many have a difference above the specified threshold. If there are 5 or more than such pixels, it's classified as a corner.
Targets: Monocle
FastCorners Options
- threshold
- contrast threshold
GaussianBlur
Apply 3x3 Gaussian blur.
Targets: Monocle
Applies a 3x3 Gaussian averaging kernel to the image.
Grayscale
Convert colors to gray values.
Targets: Monocle
Convert the input image pixels to gray color with the same pixel type, i.e. if the input is Rgb the output is still Rgb. See ToGray
to convert images to a grayscale format.
Hue
Extract hue from HSV image.
Extracts and transforms the hue value from HSV pixels to produce a single channel Gray image of hue values. Hue values are in the range 0-180. The hue value can be optionally shifted counter clockwise to move the reds away from the 0/180 discontinuity. For example with shift = 90, the reds will be centered around 90. A minimum saturation can be specified as well to eliminiate unreliable hue values (hue is unstable for low saturation levels). The hue value is mapped to 255 if the saturation is below the minSat value.
Targets: Monocle
Hue Options
- minSat
- minimum saturation value
- minVal
- minimum brightness value
- shift
- counter clockwise hue shift
InRange
Convert to binary image by color range test.
Convert each input image to a binary image, mapping pixels within the specified color range to the given match value (or 255 if match not given) and everything else to 0.
Targets: Monocle
InRange Options
- low
- minimum pixel value
- high
- minimum pixel value
- match
- output value of pixels in range
Laplacian
Apply Laplacian edge detection.
Targets: Monocle
Applies a 3x3 Laplacian kernel to the image for edge detection.
Sharpen
Apply sharpen filter to image.
Applies a 3x3 sharpen kernel to the image
Targets: Monocle
Sharpen Options
- amount
- magnitude of sharpening
Sobel
Apply Sobel edge detection.
Targets: Monocle
Applies a 3x3 Sobel kernel to the image for edge detection.
Threshold
Convert image to binary by threshold test.
Replaces pixels in the input image by the given replacement value if the input pixel is greater than the given threshold value or zero otherwise.
Targets: Monocle
Threshold Options
- threshold
- the threshold value
- replacement
- an optional replacement value to use instead of the maximum pixel value
Image
CropTo
Crop an image to a given size.
Outputs a rectangular region of the input image of the given size from the center or any of the four corners. The hpos/vpos arguments control the cropping position where -1 means left/top, 0 means center, 1 means right/bottom.
Targets: Monocle
CropTo Options
- width
- crop width
- height
- crop height
- hpos
- horizontal crop position
- vpos
- vertical crop position
Downsize
Downsize input images to a fixed size.
Scales input images to the specified size using a nearest-pixel algorithm. NOTE: When video image frames are resized, the VideoSize
operator must also be used to update the video's meta data to match the frame size.
Targets: Monocle
Downsize Options
- width
- output image width
- height
- output image height
Invert
Invert image.
Targets: Monocle
Invert each pixel of the input images to produce output images. For a grayscale image or mask, this means map each pixel value x to 255-x.
MeanReduce
Reduce image size via mean kernel.
Reduce image size by a factor of N replacing windows of NxN with the mean value. Image width and height must be evenly divisible by N.
Targets: Monocle
MeanReduce Options
- N
- reduce factor
PadTo
Pad an image to a given size.
Outputs an image of the given size with the input image inserted at the center or any of the four corners. The hpos/vpos arguments control the cropping position where -1 means left/top, 0 means center, 1 means right/bottom.
Targets: Monocle
PadTo Options
- width
- crop width
- height
- crop height
- hpos
- horizontal position
- vpos
- vertical position
SkipReduce
Reduce image size by skipping.
Reduce image size by a factor of N replacing windows of NxN with the lower-right corner value. Image width and height must be evenly divisible by N.
Targets: Monocle
SkipReduce Options
- N
- reduce factor
Conversions
Debayer1
Demosaic Bayer image (low-resource)
A low-resource demosaic or debayer operation that outputs either a gray or rgb image from the Debayer image. The output is half resolution.
Targets: Monocle
Debayer1 Options
- U
- output image pixel type
Debayer2
Demosaic Bayer image.
Converts the Bayer imput image to a high-quality color image based on 5x5 filter templates.
Targets: Monocle
Debayer2 Options
- U
- output image pixel type
ToGray
Convert image to grayscale.
Convert the input image to a grayscale image with the given grayscale pixel type.
Targets: Monocle
ToGray Options
- U
- output image pixel type
ToHsv
Convert image to HSV.
Convert the input image to the Hue/Saturation/Value colorspace.
Targets: Monocle
ToHsv Options
- U
- output image pixel type
ToRgb
Convert image to RGB.
Convert the input image to an RGB image with the given RGB pixel type.
Targets: Monocle
ToRgb Options
- U
- output image pixel type
ToRgba
Convert image to RGBA.
Convert the input image to an RGBA image with the given RGBA pixel type.
Targets: Monocle
ToRgba Options
- U
- output image pixel type
ToYuv
Convert image to YUV.
Convert the input image to the YUV colorspace.
Targets: Monocle
ToYuv Options
- U
- output image pixel type
Audio
Energy
Computes RMS energy.
Compute the energy of the incoming audio signal over a fixed sized window. The engery over the fixed window is the root mean-squared (RMS) value of the window samples. The output values are 16-bit unsigned integers. Windows are formed every S samples using the N most recent samples. If S is less than N, then the spectrum is computed for overlapping windows with an overlap of N-S samples, otherwise the spectrum is computed for non-overlapping, consecutive rolling windows.
Targets: Monocle
Energy Options
- N
- window size
- S
- window stride
Spectrum
Outputs the audio spectrum.
Computes the spectrum of the incoming audio signal over a fixed sized window with the Discrete Fourier Transform. The spectrum represents the frequency components of the signal. The N/2+1 frequency components are output for each window. Each component is an approximate 16-bit unsigned value of the magnitude of the corresponding frequency bin. Windows are formed every S samples using the N most recent samples. If S is less than N, then the spectrum is computed for overlapping windows with an overlap of N-S samples, otherwise the spectrum is computed for non-overlapping, consecutive rolling windows.
Targets: Monocle
Spectrum Options
- N
- window size
- S
- window stride (<= window size)
Window2D
Output 2D sliding window.
Collect scalar data into a 2D sliding window. This can be used with Spectrum
to construt a Spectrogram. Every WW consecutive elements of input form a new row. Each time a row is completed, the first row of the window is dropped, the new row is appended at the bottom, and the full window is output.
Targets: Monocle
Window2D Options
- WW
- window width
- WH
- window height
Data
Element
Project single element from vector.
Outputs the element at the given index from input vectors.
Targets: Monocle
Element Options
- idx
- element to project (from 0)
Scale
Scale the input by a constant.
For each input x
, output k * x
. In CLAMP mode, out-of-range values are mapped to the closest in-range value and in TRUNC mode, the multiplication is allowed to overflow.
Targets: Monocle
Scale Options
- mode
- mapping mode
- k
- amount to scale input
ScaleType
Map input to another data type.
Maps scalar input values to a smaller (or larger) data type. The input value is divided (or multiplied) by the appropriate value to uniformly scale numbers in the input type's range to the output type's range.
Targets: Monocle
ScaleType Options
- U
- output data type
ToType
Change input to another data type.
Changes input values to a smaller (or larger) data type. When the output type is a smaller type, the mode parameter determine how to map input values that are out of range. In CLAMP mode, out-of-range values are mapped to the closest in-range value and in TRUNC mode, the upper bits of the input value are ignored. The mode value is ignored if the output type is larger than the input type.
Targets: Monocle
ToType Options
- U
- output data type
- mode
- mapping mode (see description)
Frame Buffer
FBBackground
Solid background source frame buffer
Acts as a frame buffer containing a solid background image of a given size. This can be used with frame buffer overlays to create a display pipeline.
Targets: Monocle
FBBackground Options
- T
- output pixel type
- width
- image width
- height
- image height
- color
- color of background in hex (e.g. ff7f32)
FBGraphics
2D vector graphics overlay
Draws 2D graphic objects (lines, polygons, etc.) over the incoming image to produce an output image in real time. The 2D graphics are described by a custom format, RVGR, which is stored in a memory buffer. The programmability API is used to load the memory buffer with the graphics description. RVGR is a compact format that can be updated frequently engough at typical transfer speeds to perform animation.
The buffer size limits the number of primitives that can be displayed together. For flicker-free animation, the buffer can be used as a double buffer (loading the next graphics, while still displaying the current graphics), but limits the maximum size to half the size of the buffer.
Colors are chosen from cusomizable palette (updated vai the programmability API). The default RGB color palette is:
0: 000000 - black
1: ad2323 - red
2: 1d6914 - green
3: 2a4bd7 - blue
4: 29d0d0 - cyan
5: 8126c0 - magenta
6: ffee33 - yellow
7: ffffff - white
8: 1c1c1c - gray 1
9: 383838 - gray 2
10: 555555 - gray 3
11: 717171 - gray 4
12: 8d8d8d - gray 5
13: aaaaaa - gray 6
14: c6c6c6 - gray 7
15: e2e2e2 - gray 8
Targets: Monocle
FBGraphics Options
- buffer size
- graphics description buffer size in bytes
FBGraphics Programmability
The programmability API provides the following run-time control via the system's API interface.
- 0x00 (R/1b): Status
- reserved
- 0x01 (W/2b): Offset
- active display offset in buffer used if double buffering
- 0x02 (W): 128-Color Palette
- write RGB values to palette at offset given in first 2 bytes (big endian)
- 0x03 (W): Buffer
- write data to buffer at offset given in first 2 bytes (big endian)
FBOut
Frame buffer output
Reads and outputs images from the attached frame buffer. In Continuous mode, this node can be used to create a display pipeline. A programmability API is available to control output when this node is connected directly to a display node.
Targets: Monocle
FBOut Options
- MODE
- output mode
- U
- output pixel type
FBOut Programmability
The follow API is available only when connected directly with a display.
- 0x00 (R/1b): Status
- current status: bit 0 - output on/off, bit 1 - replay active
- 0x01 (W): Stop
- Stop image output
- 0x02 (W): Play
- Start live image (latest frame) output
- 0x03 (W): Pause
- Continue outputing current frame until resumed
- 0x04 (W): Replay
- Output all stored frames from oldest to newest
- 0x08 (W/1b): Playback speed
- During replay operation, each frame is output this number of times. This value and the display refresh rate determine the playback speed.
FBReadout
Frame buffer read API
Provides a programmability API for reading images out of the attached frame buffer. The block size must go evenly into the total image size in pixels.
Targets: Monocle
FBReadout Options
- block size
- block size in pixels
FBReadout Programmability
This API provides a fixed-size readout of the most recent image in the source frame buffer. The readout is initiated by writing to the Readout register. That triggers the read stream which can be read from the Image stream register. Once triggered, the Status regsiter can be polled to see when a block is available to read. Once available, the block can be read by reading the block size * pixel size bytes from the Image stream. When the entire image is read the active readout flag will be false.
- 0x00 (R/1b): Status
- current status: bit 0 - active readout flag, bit 1 - buffer available flag
- 0x04 (W): Start
- Begins readout of image
- 0x05 (R/stream): Image
- Stream of pixel data
FBText
Text graphics overlay
Draws text over any input image to product an output image in real time. The location, color and text to display are stored in a memory buffer. The programmability API is used to load the memory buffer. The buffer format is one or more text descriptors followed by the end-of-buffer marker 0xff,0xff,0xff. The text descripter consists of a 5-byte header followed by the character IDs (the ASCII value - 32). The header consists of these 5 bytes:
HEADER:
byte 0: Bit[7:0] - x location (high)
byte 1: Bit[7:4] - x location (low)
Bit[3:0] - y location (high)
byte 2: Bit[7:0] - y location (low)
byte 3: Bit[3:0] - palette color
byte 4: Bit[7:0] - text length
Colors are chosen from cusomizable palette (updated vai the programmability API). The default RGB color palette is:
0: 000000 - black
1: ad2323 - red
2: 1d6914 - green
3: 2a4bd7 - blue
4: 29d0d0 - cyan
5: 8126c0 - magenta
6: ffee33 - yellow
7: ffffff - white
8: 1c1c1c - gray 1
9: 383838 - gray 2
10: 555555 - gray 3
11: 717171 - gray 4
12: 8d8d8d - gray 5
13: aaaaaa - gray 6
14: c6c6c6 - gray 7
15: e2e2e2 - gray 8
Targets: Monocle
FBText Options
- buffer size
- text description buffer size in bytes
FBText Programmability
The programmability API provides the following run-time control via the system's API interface.
- 0x00 (R/1b): Status
- reserved
- 0x01 (W/2b): Offset
- active display offset in buffer used if double buffering
- 0x02 (W): 128-Color Palette
- write RGB values to palette at offset given in first 2 bytes (big endian)
- 0x03 (W): Buffer
- write data to buffer at offset given in first 2 bytes (big endian)
FrameBuf
Frame buffer
Buffers one or more images for slow or multi-pass downstream consumers.
Targets: Monocle
FrameBuf Options
- N
- total number of frames
- Memory
- memory type for frame buffer
- Programmability
- enable programmability
FrameBuf Programmability
The optional programmability API provides the following run-time control via the system's API interface.
- 0x00 (R/1b): Status
- current status: bit 2 - full, bit 3 - empty
SpiApi
SPI API Port
SPI slave port exposing the progammability API to an external SPI master.
Targets: Monocle
SpiApi Options
- mode
- SPI mode
- sclk pin
- sclk external pin
- mosi pin
- mosi external pin
- miso pin
- miso external pin
- ssn pin
- optional ssn external pin
CNN
CnnBias
Add a bias to a multi-channel fixed-point image.
Targets: Monocle
CnnBias Options
- U
- bias type
- biases
- bias values
CnnBiasRelu
Add a bias to a multi-channel fixed-point image.
Targets: Monocle
CnnBiasRelu Options
- V
- output element type
- U
- bias type
- biases
- bias values
- bS
- bias shift left
- rS
- result shift right
CnnConv
Apply multiple parallel kernel convolutions.
Targets: Monocle
CnnConv Options
- V
- output element type
- U
- weight type
- N
- kernel size
- O
- number of output channels
- coeff
- weights
CnnConvGr
Apply multiple parallel kernel convolutions to signal channel.
Targets: Monocle
CnnConvGr Options
- V
- output element type
- U
- weight type
- N
- kernel size
- O
- number of outputs
- coeff
- weights
CnnConvS
Apply multiple parallel kernel convolutions to signal channel.
Targets: Monocle
CnnConvS Options
- V
- output element type
- U
- weight type
- N
- kernel size
- O
- number of outputs
- coeff
- weights
CnnDense
Perform a full-image convolution.
Targets: Monocle
CnnDense Options
- V
- output element type
- U
- weight type
- IH
- input height
- IW
- input width
- O
- number of output channels
- coeff
- weights
CnnInputGr
Convert a grayscale image to a fixed-point image.
Targets: Monocle
CnnMaxPool
Apply max pool reduction to image.
Targets: Monocle
CnnMaxPool Options
- N
- pool width
- M
- pool height
- coeff
- weights
CnnReduce
Reduce a fixed-point image to lower precision fixed point.
Targets: Monocle
CnnReduce Options
- U
- output element type
- S
- result shift right
CnnRelu
Apply relu operation to image.
Targets: Monocle
NnBias
Bias a fixed-point input vector.
Targets: Monocle
NnBias Options
- U
- bias type
- biases
- bias values
- S
- bias shift left
NnBiasRelu
Bias a fixed-point input vector.
Targets: Monocle
NnBiasRelu Options
- V
- output element type
- U
- bias type
- biases
- bias values
- bS
- bias shift left
- rS
- result shift right
NnDense
Perform the dot product of the input vector withh a constant vector.
Targets: Monocle
NnDense Options
- V
- output element type
- U
- weight type
- O
- number of output channels
- coeff
- weights
NnReduce
Reduce a fixed-point vector to a lower precision.
Targets: Monocle
NnReduce Options
- U
- output element type
- S
- result shift right
NnRelu
Map elements of the input vector to positive values.
Targets: Monocle
TorteCnn
CNN inference with torte model.
Torte is a low-resource inference engine for quantized CNNs. The workflow is based on Tensorflow and a utility is available to quantize and conver the tensorflow model to the yaml model required here.
Targets: Monocle
TorteCnn Options
- model
- torte model
- project
- optional output projection
- scale
- optional log2 output scale
Waveform
Sawtooth
Generate sawtooth waveform.
Generates output values from start to end and then repeats.
Targets: Monocle
Sawtooth Options
- T
- output type
- start
- start value
- end
- end value
- step
- step value
- interval
- milliseconds between values
Triangle
Generate triangle waveform.
Generates output values from start to end, end back to start and then repeats.
Targets: Monocle
Triangle Options
- T
- output type
- start
- start value
- end
- end value
- step
- step value
- interval
- milliseconds between values
Miscellaneous
comment
A node you can use to add comments to your flows.
Debug only
The edit panel will accept Markdown syntax. The text will be rendered into this information side panel.