Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aeop_v1_0.tar.gz(5991 Kbytes)
Manuscript Title: Vectorized data acquisition and fast triple-correlation integrals for Fluorescence Triple Correlation Spectroscopy
Authors: William K Ridgeway, David P Millar, James R Williamson
Program title: Triple Correlation Toolbox (suite)
Catalogue identifier: AEOP_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 184(2013)1322
Programming language: C / Assembly.
Computer: Any with GCC and library support.
Operating system: Linux and OS X (data acq. for Linux only due to library availability), not tested on Windows.
RAM: ≥ 512 MB.
Keywords: Fluorescence Triple Correlation Spectroscopy, Multiple-tau, F3CS, FCS, Data acquisition, Parallel processing, Data-parallel computing, Vectorization, SSE, SIMD.
Classification: 16.4.

External routines: NIDAQmx (National Instruments), Gnu Scientific Library, GTK+, PLplot (optional)

Nature of problem:
Fluorescence Triple Correlation Spectroscopy required three things: data acquisition at faster speeds than were possible without expensive custom hardware, triple-correlation routines that could process 1/2 TB data sets rapidly, and fitting routines capable of handling several to a hundred fit parameters and 14,000+ data points, each with error estimates.

Solution method:
A novel data acquisition concept mixed signal processing with off-the-shelf hardware and data-parallel processing using 128-bit registers found in desktop CPUs. Correlation algorithms used fractal data structures and multithreading to reduce data analysis times. Global fitting was implemented with robust minimization routines and provides feedback that allows the user to critically inspect initial guesses and fits.

Restrictions:
Data acquisition only requires a National Instruments data acquisition card (it was tested on Linux using card PCIe-6251) and a simple home-built circuit.

Unusual features:
Hand-coded x86-64 assembly for data acquisition loops (platform-independent C code also provided).

Additional comments:
A complete collection of tools to perform Fluorescence Triple Correlation Spectroscopy - from data acquisition to two-tau correlation of large data sets, to model fitting.

Running time:
1-5 hours of data analysis per hour of data collected. Varies depending on data-acquisition length, time resolution, data density and number of cores used for correlation integrals.