pynq_composable.apps Module

The pynq_composable.apps provides a high level API to create applications based on the composable video pipeline. This module also provides pre-configured applications.

class pynq_composable.apps.ColorDetect(bitfile_name, source: pynq_composable.video.VSource = VSource.HDMI, sink: pynq_composable.video.VSink = VSink.HDMI, file: int = 0, videomode: Optional[pynq.lib.video.common.VideoMode] = None)[source]

Bases: pynq_composable.apps.PipelineApp

This class wraps the functionality to implement the color detect video pipeline application https://xilinx.github.io/Vitis_Libraries/vision/2020.2/overview.html#id9

play()[source]

Exposes runtime configurations to the user

Displays nine slides to change the thresholding range for three colors on the three channels

class pynq_composable.apps.CornerDetect(bitfile_name, source: pynq_composable.video.VSource = VSource.HDMI, sink: pynq_composable.video.VSink = VSink.HDMI, file: int = 0, videomode: Optional[pynq.lib.video.common.VideoMode] = None)[source]

Bases: pynq_composable.apps.PipelineApp

This class wraps the functionality to implement the corner detection video pipeline application

play()[source]

Exposes runtime configurations to the user

Displays one drop down menu to select the Corner Detect Algorithm. It also displays two sliders to change the the threshold and K value for the algorithms.

class pynq_composable.apps.DifferenceGaussians(bitfile_name, source: pynq_composable.video.VSource = VSource.HDMI, sink: pynq_composable.video.VSink = VSink.HDMI, file: int = 0, videomode: Optional[pynq.lib.video.common.VideoMode] = None)[source]

Bases: pynq_composable.apps.PipelineApp

This class wraps the functionality to implement the Difference of Gaussian filter video pipeline application https://xilinx.github.io/Vitis_Libraries/vision/2020.2/overview.html#difference-gaussian-filter

play()[source]

Exposes runtime configurations to the user Displays two sliders to change the sigma value of each Gaussian Filter

class pynq_composable.apps.Filter2DApp(bitfile_name, source: pynq_composable.video.VSource = VSource.HDMI)[source]

Bases: pynq_composable.apps.PipelineApp

This class wraps the functionality to implement the Filter2D IP in and expose kernel configurability through the buttons on the board

play()[source]

Exposes runtime configurations to the user

Enables user iteration by changing the on board buttons

stop()[source]

Stops the pipeline

class pynq_composable.apps.InterruptTimer(interval, function, *args, **kwargs)[source]

Bases: object

Threaded interrupt

This class encapsulates a threaded interrupt that gets a function and executes it when the timer times out

start()[source]

Start background task

stop()[source]

Stop background task

class pynq_composable.apps.LutApp(bitfile_name, source: pynq_composable.video.VSource = VSource.HDMI)[source]

Bases: pynq_composable.apps.PipelineApp

This class wraps the functionality to implement the LUT IP and expose kernel configurability through the switches on the board

play()[source]

Exposes runtime configurations to the user

Enables user iteration by changing the on board switches

stop()[source]

Stops the pipeline

class pynq_composable.apps.PipelineApp(bitfile_name, source: pynq_composable.video.VSource = VSource.HDMI, sink: pynq_composable.video.VSink = VSink.HDMI, file: int = 0, videomode: Optional[pynq.lib.video.common.VideoMode] = None)[source]

Bases: object

Base class to expose common pipeline methods

This class wraps the common functionality for the different applications, these methods are:

  • start: configures and starts the pipeline

  • stop: stops the pipeline

  • play: exposes runtime configuration to the user

property graph

Return DAG

play()[source]

Exposes runtime configurations to the user

Each child should implement its own version of play to expose runtime configurations to the users

start()[source]

Starts the pipeline

Start the HDMI, compose the pipeline and return the graph

stop()[source]

Stops the pipeline