BitFlow Components¶
ImageView¶
A cross-platform GUI library for live display and control of image acquisition streams.
ImageView uses the Qt 5.X open source widget library, and provides two APIs: a C++ class library, and a pure C API. The C++ library includes several classes utilizing Qt directly, each of which is paired with a matching wrapper class that has no public Qt dependency. Wrapper classes are also provided for several common Qt utilities, to allow C++ applications to be developed using ImageView, without using Qt.
In general, the Qt dependent classes, and their wrapper classes, should not be mixed. The C API is designed to resemble the C++ class library, but the C and C++ APIs should not be mixed.
ImageView includes two live preview applications: CViewSimple, and CppViewSimple. As code examples, these demonstrate ImageView’s C and C++ APIs, respectively.
BitFlow Preview¶
A live acquisition preview GUI application with some advanced features. These include RAW image file save in the TIFF file format, per-board application settings, CLI configuration parameters, and live acquisition mode change on newer Gen2 grabber models (Cyton, Axion, etc.). BitFlow Preview utilizes the pure Qt ImageView C++ API.
BitFlow Capture¶
A GUI application for capturing a fixed length sequences of frames. Captured sequences can be reviewed individually, or as video playback, and sequences may be exported to a variety of file formats, including RAW TIFF. Live acquisition preview is also available, to simplify setup. BitFlow Capture utilizes the pure Qt ImageView C++ API.
CamML¶
A GUI editor for BFML camera files, which are used by all Gen2 BitFlow frame grabbers (Cyton, Axion, etc.). The editor is fully featured, including comprehensive undo/redo, auto-complete for advanced fields, and advanced acquisition preview using ImageView.
CamML does NOT support editing of older BitFlow camera file formats (KCXP, R64, ANLG, etc.).
Note
To use CamML successfully, the “BFML-CXP.xsd” and “BFML-CL.xsd” files must be installed to a sub-directory of the BITFLOW_INSTALL_DIRS tree. Copies of these files are included in the “camf” directory of the BFT4Lin package. The file locations may alternatively be specified as command line options.
If you have newer copies of the XSD files, it is generally preferable to use those copies in place of those bundled with the BFT4Lin package.
BFLog¶
A GUI application to view error and debug messages from other BitFlow applications and libraries, using the BFLogIO interprocess library, with messages displayed in real time. Messages can be searched for key words using the Find tool; hidden, displayed or highlighted using customizable Filters; and saved to text or CSV files for later review.
BFLogCollector¶
A simple terminal application to “collect” BFLogIO interprocess error and debug messages sent by other applications and libraries. A precompiled copy of BFLogCollector is also bundled with the BitFlow Linux driver.
BFLogIO¶
A static helper library used for interprocess logging of error and debug messages. Messages may be sent from any number of client processes, and will be received by exactly one server process.
BFGTL¶
The BitFlow GenTL producer library. This implements the producer component of the Gen<i>Cam Transport Layer (GenTL), which provides standardized control and configuration of CoaXPress cameras, and a standardized acquisition interface usable with any BitFlow frame grabber.
GenTL producers are simply shared object libraries, but use the CTI file extension. Accordingly, the BFGTL output file will be named “bfgtl.cti”.
Note
Please consult the DEPENDENCIES > Gen<i>Cam subsection of this document, for more information regarding use of the Gen<i>Cam standard.
For optimal acquisition performance, the native BitFlow SDK is always recommended. Native BitFlow SDK acquisition and BFGTL camera control may be utilized simultaneously.
BFGTLUtil¶
A simplified interface for camera control using BFGTL and the GenApi library. BFGTLUtil is designed to integrated tightly with the BFGTL GenTL producer, providing full featured Gen<i>Cam camera control, with higher performance, and significantly less complexity of use. BFGTLUtil is the recommended method for CoaXPress camera programming in BitFlow applications.
GenTLConsumerInterface¶
A static helper library used to perform common Gen<i>Cam Transport Layer (GenTL) consumer tasks, such as finding and loading available GenTL producers, and loading module port maps for device control.
This includes the GenTLInterfaceExample, a relatively simple GenTL consumer application, which implements a terminal style interface for getting and setting camera features. A Gen<i>Cam acquisition preview mode is also available, using ImageView for live image display.
Note
Please consult the DEPENDENCIES > Gen<i>Cam subsection of this document, for more information regarding use of the Gen<i>Cam standard.
For optimal acquisition performance, the native BitFlow SDK is always recommended. Native BitFlow SDK acquisition and BFGTL camera control may be utilized simultaneously.
BFML¶
The XML parsing library used by BitFlow applications (including CamML) to parse and print BFML camera files. It is generally unnecessary and ill advised for client applications to read or write camera files directly.
BFML is statically linked.
ZLib¶
A general purpose file compression library. This includes: the MiniZip sub- library, to decompress ZIP formatted archives; and two custom classes, MinizipZipper and MinizipUnzipper, implementing simple C++ interfaces to compress and decompress ZIP archives.
ZLib is included for use by BFGTL, to decompress the ZIP archived XML files used by some CoaXPress cameras
ZLib is statically linked.