Until now, few efforts were made to allow users to create their own children of Camera Blocks (and of CameraProcess as well).
A first step towards more accessibility was made with #49, but it was only improving the display of overlays on top of the displayed images for a custom Camera Block.
The instantiation of the Block itself was still chaotic, as it required to access private members of the class and to manage obscure arguments (see the last comment of #47).
With this PR, the creation of custom Camera Blocks and CameraProcess is made more accessible and straightforward :
The name of the methods of CameraProcess meant to be overridden or called by users were switched from private to public (a2721f4f, 2ba09588).
Same goes for the attributes of CameraProcess (14119ff5) and of the Camera Block (6ac74fa3).
The parent CameraProcess now automatically checks for new available images, this doesn't have to be done by the user (fc5dc5d7) anymore.
Same goes for the processed images counter in CameraProcess, that is now updated automatically (88b9f11c).
The parent CameraProcess doesn't need to be provided with the _log_queue, _log_level and _display_freq arguments at initialization anymore. They are now passed automatically by Camera to the parent CameraProcess (ddef41c9).
The documentation has been updated accordingly (6be94f7e, 219d5cc2).
Some typos and minor code style issues were also fixed.
Some attributes and methods that can be accessed and overridden safely by users remain private, to signal that they should remain untouched in the general case.
Until now, few efforts were made to allow users to create their own children of
Camera
Blocks (and ofCameraProcess
as well). A first step towards more accessibility was made with #49, but it was only improving the display of overlays on top of the displayed images for a customCamera
Block. The instantiation of the Block itself was still chaotic, as it required to access private members of the class and to manage obscure arguments (see the last comment of #47).With this PR, the creation of custom
Camera
Blocks andCameraProcess
is made more accessible and straightforward :CameraProcess
meant to be overridden or called by users were switched from private to public (a2721f4f, 2ba09588).CameraProcess
(14119ff5) and of theCamera
Block (6ac74fa3).CameraProcess
now automatically checks for new available images, this doesn't have to be done by the user (fc5dc5d7) anymore.CameraProcess
, that is now updated automatically (88b9f11c).CameraProcess
doesn't need to be provided with the_log_queue
,_log_level
and_display_freq
arguments at initialization anymore. They are now passed automatically byCamera
to the parentCameraProcess
(ddef41c9).Some attributes and methods that can be accessed and overridden safely by users remain private, to signal that they should remain untouched in the general case.
Weis