FastFlow is a pattern-based programming framework targeting streaming applications. It implements pipeline, farm, divide and conquer, and their composition, as well as generic streaming networks. It is specifically designed to support the development and the seamless porting of existing applications on multi-core. The layered template-based C++ design ensures flexibility and extendibility. Its lock-free/fence-free run-time support minimizes cache invalidation traffic and enforces the development of high-performance (high-throughput, low-latency) scalable applications. It has been proven faster than TBB, OpenMP, and Cilk on several micro-benchmarcks and real-world applications, especially when dealing with fine-grained parallelism and high-throughput applications.
iMorph is cross platform 3D image analysis software. It permits the morphological characterization of porous media, and more precisely cellular materials. The first step of the analysis is a macroscopical characterization of the different phases. It allows porosity, tortuosity, and specific surface measurement. The anisotropy is also quantified at the sample scale. In a second step, the software gives a morphological study at the pore scale. Automatic methods for cell extraction give access to shape analysis, classification, and orientation. Moreover, it permits a local voxel classification in order to identify local shape such as shell, plates, and rods. Finally, the software gives a topological description by generating the graphs of both the solid and fluid phase. The human interface is intuitive and can be used by a non-expert of image processing. 3D visualization uses OpenGL libraries and allows interaction with segmented objects. An XML samples database is used to store results belonging to a region of interest in the media.
OpenCAN is a software platform for interacting with various Controller Area Network (CAN or CANbus) devices. It provides an abstract C++ interface that can be used to control CAN devices. Support for specific devices can be written as plugins, and then loaded through a simple API call. Each component is cross-platform, enabling the efficient development of CAN software on Windows, Linux, and Mac OS X.