Skip to content
Snippets Groups Projects
Commit af5fa7b0 authored by am0ebe's avatar am0ebe
Browse files

.

parent f0e8b6a0
No related branches found
No related tags found
No related merge requests found
Subproject commit 50f1bc23ad420cb0a36ed18cacdc36a68db7c3c4 Subproject commit 09360a19353558f2fb58580d08aedbb15713c655
...@@ -150,6 +150,60 @@ Vimba API *captures* images <> camera *acquires* images ...@@ -150,6 +150,60 @@ Vimba API *captures* images <> camera *acquires* images
restrained fps | unrestrained fps restrained fps | unrestrained fps
| while working with img, the nxt img is acquired! | while working with img, the nxt img is acquired!
#VimbaSystem #api
Startup()
RegisterCameraListObserver() #for gigE cams -> getcams return immediately
GetCameras()
GetCameraByID()
OpenCameraByID ( " 192.168.0.42 ", VmbAccessModeFull , camera )
#or serial number or MAC
UnregisterCameraListObserver()
Shutdown() #blox until all callback are done
#api more
GetInterfaces
# CameraPtr
# static
GetID( string )
GetName( string )
GetModel( string )
GetSerialNumber( string )
GetPermittedAccess( VmbAccessModeType& )
GetInterfaceID( string ) #name/id of connected IF
# dyn
Open()
VmbAccessModeFull - read and write -> features, acquire images
VmbAccessModeConfig - configure IP
VmbAccessModeRead - read-only
Close()
AcquireSingleImage()
AcquireMultipleImages()
StartContinuousImageAcquisition()
StopContinuousImageAcquisition()
StartCapture()
StopCapture()
SaveCameraSettings()
LoadCameraSettings()
GetFeatures()
GetFeaturesByName()
AnnounceFrame()
RevokeFrame()
RevokeAllFrames()
CueFrame()
FlushFrame()
#FeaturePtr
GetValue()
SetValue()
RunCommand()
RegisterObserver()
UnregisterObserver()
Notifications Notifications
############################### ###############################
...@@ -157,7 +211,18 @@ Notifications ...@@ -157,7 +211,18 @@ Notifications
> different thread -> !!caution! when using shared data > different thread -> !!caution! when using shared data
> ! Not all func from API can be called in event handler > ! Not all func from API can be called in event handler
> during event handler Vimba API might be blocked -> exit AFA > during event handler Vimba API might be blocked -> exit AFA
P>
## notifications of changed camera states
sys.RegisterCameraListObserver()
# callback/observer func of type ICameraListObserver*
# gets called detect, disconnect, connect, changes to open state
# !! dont call from within observer:
Startup, Shutdown GetCameras GetCameraByID RegisterCameraListObserver UnregisterCameraListObserver Feature::SetValue Feature::RunCommand
#ICameraListObserver
> for GigE: register a CameraListObserver with the VimbaSystem >
//Discovery?
// plug&play or add/rm + press button to call getcams and list their info
difference? difference?
...@@ -166,16 +231,34 @@ difference? ...@@ -166,16 +231,34 @@ difference?
## Frame: ## FramePtr:
getImage - img data GetImage() - img data
getBuffer - img data + ancillary data getBuffer - img data + ancillary data
GetAncillaryData - ancillary data [~ genicam chunk data] GetAncillaryData - ancillary data [~ genicam chunk data]
chunkmodeactive - true -> transfer ancillaryData chunkmodeactive - true -> transfer ancillaryData
frame count frame count
exposure time [ms] exposure time [ms]
gain [db] gain [db]
RegisterObserver() ??
# Sharedpointer
###############################
SP_DECL()
...
CameraPtr sp1;
so.reset( new Camera() ); #ref count 1
CameraPtr sp2 ;
sp2 = sp1; #ref count 2
MISC
###############################
getTimestamp getTimestamp
getFrameID getFrameID
......
...@@ -17,6 +17,8 @@ B) recorder ...@@ -17,6 +17,8 @@ B) recorder
########################### ###########################
> read manual (c++ / vimba) > read manual (c++ / vimba)
============================ ============================
> print Info: Versions (VimbaApi, OpenCV, Qt)
more: cams
> central config > central config
> threads for started recordings [PID] > threads for started recordings [PID]
> storage folder > storage folder
...@@ -68,19 +70,21 @@ A) setup testsystem ...@@ -68,19 +70,21 @@ A) setup testsystem
-> price!, temp-range, electricity inside, size space in lab? -> price!, temp-range, electricity inside, size space in lab?
-> more than 2 -> more than 2
Reach In Plant Growth Chambers E-36L1 Reach In Plant Growth Chambers E-36L1
---------------------
> setup stativ, use our lab > setup stativ, use our lab
> CALIBRATION of camera system w chess (or other)
> how-to connect ETHernet cable? it will have to go outside of fridge?? > how-to connect ETHernet cable? it will have to go outside of fridge??
> how-to control temperature and humidity? (see picture from thomas dox) > how-to control temperature and humidity? (see picture from thomas dox)
---------------------
> calibration (chess or other. Use Viewer? Or own SW?)
C) background subtraction C) background subtraction
########################### ###########################
> build > build
> get test data > get test data (cp to 00 - where is it?)
> process > process
> cp test-data to 00 (where is it?) -----------
> update bgs alg. opencv4 has its own bgs?
D) process scripts D) process scripts
...@@ -96,17 +100,12 @@ D) process scripts ...@@ -96,17 +100,12 @@ D) process scripts
## MISC ## MISC
############################### ###############################
> sublime mega project to build all
> all vimba examples
> all camtron_all subprojects -> vimba, scripts?, bgs
> database project \w emilio > database project \w emilio
build: build:
> update CV version to 4.2 (or 4.5?) > update CV version to 4.2 (or 4.5?)
> save/load config > save/load config
> Tapter: implement new IBgs > Tapter: implement new IBgs
> Sublime as IDE
* how to convert spaces to tabs properly when copy pasting???
========= =========
...@@ -114,6 +113,7 @@ D) process scripts ...@@ -114,6 +113,7 @@ D) process scripts
Done Done
####################### #######################
> new sublimeproject 'recorder' with ecc+buildsystem
> setup buildsys on f1sh > setup buildsys on f1sh
> one major git repo called 'camtron', containing > one major git repo called 'camtron', containing
-> part A - prep -> part A - prep
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment