If Pyctools has been installed correctly the
pyctools-editor command should launch a program similar to that shown below.
The exact appearance will depend on your computer’s operating system and user preferences, but the main functional elements should be the same.
On the left hand side there is a list of Pyctools components and on the right there is a large empty space where components can be placed and connected, called the “graph area”.
zone in the component list to expand it, then drag
ZonePlateGenerator onto the graph area.
A dialog box pops up asking you to give the new component a name, as shown below.
Accept the suggested name by clicking the
A zone plate generator component has now been added to the graph area.
You can move the component around by clicking and dragging it.
“Hovering” your mouse over the component should display a “tool tip” popup with the component’s documentation.
Clicking on the component selects it and its border is shown dashed.
Selected components can be deleted with the computer’s
qt and drag a
QtDisplay component to the graph area.
Now click and drag the ZonePlateGenerator’s
output connector to the QtDisplay’s
input (or vice versa).
This connects the two components, as shown below.
(To delete the connection, select the link and press the
The easiest way to select the link is to click and drag across it to select an area of the graph that includes the link.)
Double click on the ZonePlateGenerator, or right-click on it and select
configure from the pop-up menu.
This opens the component’s configuration dialog, as shown below.
(You can move the dialog to any convenient position.)
Set the following values in the configuration dialog:
then click on the
Running the graph¶
Clicking on the
run graph button should start the components running.
Another window opens showing the video output from the ZonePlateGenerator.
This is the classic “static circular” zone plate test pattern.
Using the zone plate configuration window, set the
kt value to 0.1, then click on the
Now the zone plate should show some movement.
Hopefully your computer is powerful enough to generate a smoothly moving video.
Being able to update the configuration while the graph is running makes it very easy to experiment with the zone plate generator.
Try setting the
kt value to 0.9 instead of 0.1.
Saving the graph¶
Finally, you can save the graph, with all its connections and configuration, to use later.
file menu has
load script and
save script actions, with the usual keyboard shortcuts.
Note that you can run your saved script directly, without running
If you’ve saved it as
zone-plate.py you can run it with the command
Compound component encapsulates a group of components.
This allows a few simple components to be assembled into something a bit more complicated that can be treated as a single component.
Compound components are shown on the graph area with a dashed outline.
The compound component’s context menu includes an extra item
Expanding the component shows its internal components and linkages.
In this case the component is an image resizer made by pipelining a vertical resizer and a horizontal resizer, each with their own filter generator.
A graph can contain many more components than in the simple examples shown above. Here’s something a bit more complicated.
Comments or questions? Please email email@example.com.