Software for running, controlling and analyzing Data from an IDS U3V Camera for peak finding
Find a file
2025-12-14 22:11:08 +01:00
.gitignore Removed femtoCAM.pro.user 2025-10-26 02:19:13 +02:00
femtoCAM.pro Off by one mistake 2025-12-14 22:11:08 +01:00
framebatch.h Off by one mistake 2025-12-14 22:11:08 +01:00
idscam.cpp Off by one mistake 2025-12-14 22:11:08 +01:00
idscam.h New preview - still very buggy 2025-12-14 01:27:15 +01:00
main.cpp Initial commit 2025-10-26 02:16:28 +02:00
mainwindow.cpp New preview - still very buggy 2025-12-14 01:27:15 +01:00
mainwindow.h New Status screen added, result processing pipeline started 2025-12-13 01:32:35 +01:00
mainwindow.ui New Status screen added, result processing pipeline started 2025-12-13 01:32:35 +01:00
processing.cpp Off by one mistake 2025-12-14 22:11:08 +01:00
processing.h New Status screen added, result processing pipeline started 2025-12-13 01:32:35 +01:00
README.md Add README 2025-11-06 18:51:07 +01:00
statsview.cpp Off by one mistake 2025-12-14 22:11:08 +01:00
statsview.h New preview - still very buggy 2025-12-14 01:27:15 +01:00
statsview.ui Off by one mistake 2025-12-14 22:11:08 +01:00

femtoCAM

This tool records video from Genicam cameras (via https://github.com/AravisProject/aravis), finds peaks in real time multithreaded and exports the data (TODO).

This is a complete re-write of a private code base.

Output files (TODO):

  • info_[n].txt (outputfile): info text file
  • hitlist_[n].dat (hitlistData): binary file
  • extended_[n].dat (wf): binary file

info

outputfile.open(outputPath + "info_" + to_string(filenumber) + ".txt");
        outputfile << "measuredFrames "
                   << "threshold "
                   << "exposure "
                   << "gain "
                   << "digitalGain "
                   << "adaptive "
                   << "contour_min_area "
                   << "contour_max_area " 
                   << "rows "
                   << "cols " 
                   << "multithread"
                   <<endl;
        outputfile << " " << processedFrames << " " << thresholdValue << " " << exposure << " " << gain << " " << digitalGain << " " << adaptive << " " << contourMinArea << " " << contourMaxArea << " " << rowsize << " "  << colsize << " "<< processMultithreaded;

hitlist

contains information about how many hits were found on a specific pixel. For each pixel where a hit was found 6 bytes are added to the file in the format: [<uint16_t> i, <uint16_t> j, <uint16_t> counts] - TODO: find out if i,j is x,y or y,x

extended

contains all info about time resolved hits

  • 12 byte header: [<uint32_t> dataRows, <uint32_t> numDataPoints, <uint32_t> processedFrames]
  • processedFrames * 4 bytes: [<uint32_t> * processedFrames], each corrospoding to the value of hits per frame
  • dataRows * numDatapoints * 2 bytes: [[<uint16_t> * numDatapoints] * dataRows] => numDatapoints = 4: [cx, cy, carea, (int)(roundness * 1000.0)]