yao

YAO dynamic control using ytk

This page describes how to install and use the ytk-based interface to control yao while the loop is running. This tool is separate from the main yao package and is optional. His intent is to provide a toy interface to play dynamically with the parameters and see immediately the effect of the change, without having to restart the whole simulation. It can be used to probe first order sensitivity to some parameters or simply as an educational tool for AO newbies.

This page covers installation and operation.

Installation

ytk is included in the YAO release. The base directory where you unpack yao should include the yao and the ytk-1.0 directory.
cd ytk-1.0/src
make clean
make ytk
will produce a ytk executable in this directory. You can test it by typing ./ytk

It is convenient again to create a softlink somewhere in your path, e.g.

cd ~/bin
ln -s ~/yorick-1.5/contrib/ytk-1.0/src/ytk ./ytk

Installing tcltk

YTK is tk based, so you need a tcltk installation of some kind. On OsX, you have the choice between a Aqua tcltk distribution (e.g. here) and a X-based distribution (e.g. from fink). Follow the instructions provided with these distributions. Personally, I use the X-based fink distribution.

How to run yao-tk

This is still in alpha stage. I am trying to come up with a simpler and safer way to start the control tk screens, but for now you'll have to do the following: In the working directory, start ytk:
ytk
> #include "yao/yaotk.i"
> yaoCtrl,parfile
where parfile is the name of the file for which a simulation is running of about to start (e.g. "sh6m2.par"). This will pop up the main yaotk control screen:

From this screen (and the additional ones, see below), you can control the main yao simulation while it is running. The actions are basically self-explanatory, so I won't detail everyone of them:

The WFS and DM screens look like:

Most of the sliders in these windows do not require an explanation. What does is the little radio button in the left column: These allow you to select on which WFSs/DMs you want to apply what you are about to do. For instance if you want to vary the altitude of the LGS for wfs#1 (and only #1) in this system, you would click on the wfs1 radio button and then move the GS Altitude slider. You can of course select multiple radio button, which can be useful when you simulate MCAO or GLAO systems, for instance, where several sensors share the same characteristics. If you do not select any sensor/DM, modifying parameters in the right hand side will not have any effect.

Note that yaotk does not know the status of the parameters in yao/aoloop. yaotk passes update commands to yao through a pipe, but there is no return/acknowledgement/handshaking. Yaotk only knows about the status of the system yoa is running through the parfile you entered as a parameter when you started yaotk. A consequence is that if you have modified parameters on the yao command line before starting aoloop, this will not be known by yaotk. In other words, you can set aoloop parameters with yaotk, but you can not probe aoloop parameters with any insurance (they will be what they were in the parfile or what you just set them).

Have fun & Enjoy.

Page updated on UT $Date: 2007/12/12 23:29:15 $

Valid CSS!