Dear All,
we have an analog-to-digital converter card (ADC) from Alazartech (ATS 9373) that can stream at 4GS/s directly to memory. It thus produces a data stream of either 4GByte/s (8-bit per sample) or ~6.8 GByte/s (12-bit per sample).
Now we are using this ADC to acquire data from a laser scanning fluorescence microscope, so a lot of the samples do not contain physical information and can be set to zero. Thus, the data can be heavily compressed. I tested e.g. Labviews IMAQ array to PNG and achieved a factor of 100-1000 compression. However, it currently is about a factor of 40 too slow to be real-time applicable. This factor of 40 also leaves parallelization out of question for our 20-core CPU.
Right now I'm thinking about a) parallelizing on a GPU using CUDA, b) trying a C-coded DLL using libPNG to test wether PNG creation can be sped up, c) testing gzip to hopefully run faster than Labviews add file to zip function.
My question is: Does anyone have experience with this? A fast, real-time compression algorithm in Labview capable of handling 4GByte/s?
Preferrably I would want PNGs as this directly permits viewing the raw data as images obtained with the microscope.
Thank you for your help!
Nino