There is a base package comprising a base flow kit, an AIDA (histogramming) kit, and the command line tool "flowshell" that runs a pflow file. Even though the histogramming system can be any AIDA conform dynamic library, there is currently only one that works on different platforms: OpenScientist. You need to install that package first if you want to do any histogramming. If you don't need to do any histogramming you are done by just downloading the base package.
We usually test the base package for Ubuntu Linux, Scientific Linux, and Mac OS X. For these systems we can provide binary distributions that are easy to install. For other systems the binary distribtion might work. If not, it is very likely that you can build it from the sources if your system is POSIX conform.
You need at least version 16.10 of the osc_vis package of OpenScientist if you want to do any kind of graphical (and non-graphical) histogramming. You can use the direct download link from the table below.
OpenScientist is a multi-GUI system. It can use Qt, GTK, XMotif, and more systems for the graphical output. The default is XMotif but there are 2 good reasons to use Qt:
Qt is more advanced and has a better look and feel.
On Mac OS X, Qt is not using the X windows layer, so it integrates and runs much better with Cocoa applications.
We strongly suggest the installation of Nokias Qt and provide only suppport for the combinations given in the table below. We recommend version 4.5.2 and higher. You can try older versions but qt4 is absolutely mandatory, so check your package version if Qt is already on your system and upgrade if necessary. For the binary package you can click on the direct download link below or use the package installer of your Linux distro.
Problems with OSC using Qt have been reported for Gentoo Linux. This is no surprise because Gentoo relies on qt3 that was discontinued 5 years ago. You must compile qt4 on your own.
Note for Mac users: If you intend to use the graphical tool FlowComposer anyway, there is no need to download the base flow kit; it is already in there. Install Qt and OpenScientist and skip directly to the FlowComposer chapter.
Here is a list of the binary packages with direct download links (OSC = OpenScientist). Qt and OSC are foreign packages and not strictly necessary to use the FlowAnalyzer, as their work can be done by other packages, PluginFlow is our package with the basic plugins, flowshell, and some OSC conform custom plotters.
System | Tested with | Qt | OSC | PluginFlow |
---|---|---|---|---|
Ubuntu Linux | 9.04 | libqt4-opengl | x86, x86-64(unoff.) | x86, x86-64 |
Mandriva Linux | 2009 Spring | libqtopengl4, use installer | ||
Gentoo Linux | emerge x11-libs/qt-opengl | |||
Linux SL | xxxx | Better use the Qt SDK 32bit/64bit | ||
MacOS X | 10.4, 10.5 | 32bit Universal | x86 only | 32bit Universal |
Install Qt as the package manager or the installer suggests. OpenScientist comes as a ZIP package. Unpack it, move it to any desired directory but do not install it yet. If you are a Mac user and want to use the graphical tool FlowComposer only, the following steps are not necessary. Proceed with the FlowComposer instructions instead.
Now download our "PluginFlow" package and unzip it to your favourite packages folder (This will create a "PluginFlow" folder).
From a terminal, enter that directory and call "./install.sh". The following describes what the install script does (or should be doing). You can skip directly to Run and test. If any problems show up, come back here and check everything was done correctly.
The following is only necessary if something went wrong. Otherwise, skip directly to Run and test.
In the following we assume that you are familiar with some basics of UNIX like "shell", "environment variables", etc. We also assume that you are running the bourne shell "bash". The procedure is slightly different for a different shell. For bash, there exist 2 initialization files in the users home directory, ".bashrc" if bash is just started as a command, and ".bash_profile" for a (local or remote) login shell. Make sure you add your settings to the right file. On Mac OS X ".bash_profile" is almost always the right file. On Linux, one usually (or at least often) loads ("sources") the other anyway. You could also set your terminal program to always start a login shell and use ".bash_profile". As a placeholder we will in the following always say ".bash_profile".
On Linux systems, qt usually installs in the default library search path, so nothing is to do. If you installed it to a different location, add the path of the "qt/lib" directory in your installation to LD_LIBRARY_PATH. On Mac OS X, we need to extend the library search path. To your .bash_profile add the lines
# Qt settings export Qt_home=/Library/Frameworks export DYLD_LIBRARY_PATH=$Qt_home/QtNetwork.framework:$Qt_home/QtGui.framework:\ $Qt_home/QtOpenGL.framework:$Qt_home/QtSql.framework:\ $Qt_home/QtXml.framework:$Qt_home/QtCore.framework:$DYLD_LIBRARY_PATH
Add the following lines to your .bash_profile
# FlowAnalyzer settings
export PLF_BASE=<path to your PluginFlow folder, e.g. /home/lars/packages/PluginFlow>
export LD_LIBRARY_PATH=$PLF_BASE/Controller:$PLF_BASE/Base:$PLF_BASE/Aida:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$PLF_BASE/Controller:$PLF_BASE/Base:$PLF_BASE/Aida:$DYLD_LIBRARY_PATH
export PATH=$PLF_BASE/Controller:$PATH
Note: On Mac OS X, the line with "LD_LIBRARY_PATH" can be left out, on other systems the line with "DYLD_LIBRARY_PATH" can be dismissed.
Another note:: If you installed FlowComposer (Mac), your PLF_BASE path is: PLF_BASE=<path to your FlowComposer folder>/FlowComposer.app/Contents/Resources/PLFBase
"Cd" to the OSC version directory ("..../osc_vis/16.10") and type "./install". Note that once you called "./install" you can not move the directory to another location anymore without breaking the installation. Add the following lines to your .bash_profile:
# OpenScientist settings
source <path to your OSC version, e.g. /home/lars/packages/osc_vis/16.10>/setup.sh
export ONXLAB_PLOTTER_ROOT=$PLF_BASE/GUIs
export ONXLAB_PLOTTER=$ONXLAB_PLOTTER_ROOT/BasicPlotter.onx
export ONX_ARGS=-qt
export LD_LIBRARY_PATH=$PLF_BASE/DLDs:$LD_LIBRARY_PATH
export DYLD_LIBRARY_PATH=$PLF_BASE/DLDs:$DYLD_LIBRARY_PATH
Note: On Mac OS X, the line with "LD_LIBRARY_PATH" can be left out, on other systems the line with "DYLD_LIBRARY_PATH" can be dismissed.
The installation instructions on the OpenScientist website are for version 16.8 and might fail for 16.10.
Start a new shell to update to the new .bash_profile settings.
Enter osc-plot-qt
. This should start an OSC application
with the default plotter where you can learn OSC and dig through all
examples. If it works, you successfully installed OSC (and Qt). If not,
your installation failed and you can go home.
Now start the flowshell by entering flowshell
. Since
no pflow filename is given, flowshell automatically looks for
$PLF_BASE/Base/gaussian.pflow. If it works, you see numbers on the
screen for a few seconds and the last line should be "Delete manager
done". Next try to run the simple AIDA analyzer that comes with the
package. Enter flowshell -i -t -p OnXLabLoadAIDA -f
$PLF_BASE/Aida/simplehisto.pflow
. This should open a fully
interactive OSC plotter with a histogram in it being filled with
gaussian distributed numbers. Play with the plotter and finish it with
the menu "File->Abandon Control". The last message in the terminal
should be again "Delete manager done". Congratulations, all
parts of the FlowAnalyzer are running!
You can now go ahead and download any desired FlowKits.
Compiling from the sources is a bit more demanding and not recommended unless you need to.
Use make dist
to build package.
The base package: PluginFlow (CVS, tarball)
You need to set $PLF_BASE to the source PluginFlow
folder. If you do make dist
the package also
expects $ONXFILES to be set to the OnX files folder (which
can be again the binary or the compiled source [below]). We
also suggest, if you also want to use
PluginFlow from the source folder, that you link
$ONXFILES/DLDs and $ONXFILES/GUIs into the PluginFlow source
folder.
For MIDAS: MidasFlow (CVS, tarball).
MidasFile requires ROOTANA (can be compiled without ROOT), MidasOnline requires MIDAS.
You will need headers and libraries from several different packages, such as Qt4, libXslt and libGLU. Others may be needed depending on your system.
The GUI in OpenScientist is defined by XML-based files (OnX files) that can be customized by the application developer, independent from the actual graphics system (Qt, GTK, Motif...). For the Flow Analyzer we have OnX files for different purposes; they are collected in a CVS together with callback functions.