From 691520c5f28e127305caac0ac24d8b73e30e9198 Mon Sep 17 00:00:00 2001 From: am0ebe <am0ebe@gmx.de> Date: Mon, 18 Jul 2022 10:56:02 +0200 Subject: [PATCH] . --- b | 2 +- camtron.sublime-workspace | 1 + dox/notes_B | 73 +++++++++++++++++++++++++++++++++++++++ dox/notes_X | 7 ++-- dox/todo_tron | 22 +++++------- 5 files changed, 89 insertions(+), 16 deletions(-) create mode 100644 camtron.sublime-workspace diff --git a/b b/b index 09360a1..b2f7628 160000 --- a/b +++ b/b @@ -1 +1 @@ -Subproject commit 09360a19353558f2fb58580d08aedbb15713c655 +Subproject commit b2f7628316340917c7a7ed5818c08ffb11de9e24 diff --git a/camtron.sublime-workspace b/camtron.sublime-workspace new file mode 100644 index 0000000..9e26dfe --- /dev/null +++ b/camtron.sublime-workspace @@ -0,0 +1 @@ +{} \ No newline at end of file diff --git a/dox/notes_B b/dox/notes_B index cb18aee..1252e28 100644 --- a/dox/notes_B +++ b/dox/notes_B @@ -85,3 +85,76 @@ Prosilica GX: ##################### +> list currently connected cameras +> control cam features +> receive images +> notifications about connections/disconnections + +pixel format + +vimbasystem = api + > entry point + > singleton + > init / shutdown + > access to cams and if's + +cam +interface + +frames = img data + ancillaryData + > create by api and queue in cam + > when image is rcv, frame will be filled -> notification + > process and re-enqueue1111 + +GenICam - camera standard +TL - Transport Layer - transports data from cam to sw + +Buffer management +############################### +Every image acquisition requires allocating memory and handling frame buffers: + 1. Allocate memory for frame buffers on the host + 2. Announce the buffer (this hands the frame buffer over to the API). + 3. Queue a frame (prepare buffer to be filled). + 4. Vimba fills the buffer with an image from the camera. + 5. Vimba returns the filled buffer (and hands it over to the user). + 6. Work with the image + 7. Requeue the frame to hand it over to the API + +sync acquisition <> async acquisition +1 buffer | X buffers +restrained fps | unrestrained fps + | while working with img, the nxt img is acquired! + + +Notifications +############################### +> register event handler +> different thread -> !!caution! when using shared data +> ! Not all func from API can be called in event handler +> during event handler Vimba API might be blocked -> exit AFAP +> + + +difference? + AcquisitionFrameRateAbs <> AcquisitionFrameRate + +Frame: +getImage - img data +getBuffer - img data + ancillary data +GetAncillaryData - ancillary data [~ genicam chunk data] + chunkmodeactive - true -> transfer ancillaryData + frame count + exposure time [ms] + gain [db] + + +getTimestamp +getFrameID + +what buffer size? + +is firmware still up-to-date? + https://www.alliedvision.com/en/support/firmware.html + +camera feature reference +https://www.alliedvision.com/en/support/technical-documentation.html diff --git a/dox/notes_X b/dox/notes_X index 9f6f6ed..9bd0c20 100644 --- a/dox/notes_X +++ b/dox/notes_X @@ -4,6 +4,9 @@ HPC - High Performance Cluster does - data copied on HPC - C) and D) will run on HPC + script that copies data once a day from VM to HPC + C & D will run on HPC ############################### + + qsub + module load -> opencv4? Qt5.15? diff --git a/dox/todo_tron b/dox/todo_tron index 35583a3..37e1314 100644 --- a/dox/todo_tron +++ b/dox/todo_tron @@ -15,9 +15,7 @@ A) B) recorder ########################### - > setup buildsys on f1sh > read manual (c++ / vimba) - > build all examples [opt] ============================ > central config > threads for started recordings [PID] @@ -62,11 +60,6 @@ X) HPC - High Performance Cluster > Secure-Shell-ID angepasst > cron - ? what about bandwidth constraints for multiple cams? - - tech: - qsub - module load -> opencv4? Qt5.15? A) setup testsystem @@ -100,7 +93,12 @@ D) process scripts > calc new values. max speed. angle. ... ========= -MISC + +## MISC +############################### + > sublime mega project to build all + > all vimba examples + > all camtron_all subprojects -> vimba, scripts?, bgs > database project \w emilio build: @@ -116,16 +114,14 @@ MISC Done ####################### +> setup buildsys on f1sh > one major git repo called 'camtron', containing -> part A - prep -> part B - sw rec/vimba [submodule] -> part C - sw bgs [submodule] -> part D - sw trajr [submodule] -> build example CPP - Synchronous or Asynchronous Grab -> Merge first ECC settings! Then uncomment in synclist - -> asyncOpencv - > build opencv example -> make git repo +> Merge first ECC settings! Then uncomment in synclist -> asyncOpencv +> build opencv and qt example > Sublime - C++ IDE * build systems * use projects -- GitLab