[Elphel-support] Exposure priority

Andrey Filippov support-list at support.elphel.com
Wed Jan 4 17:59:21 PST 2012


Dimitrios,

Thanks for the nice words about camvc, it is nice if it can work for you.
This application, while somewhat updated is rather old, I made it for one
of the previous cameras, that was one of my first experiments with AJAX.

That application was first designed for the earlier camera that had slower
CPU and was using ccam.cgi (just a C application) to control the camera.
And as more features were added that CGI program was growing, support of
the different types of sensors was often breaking it.

 Since then two things happened:

1 - camera FPGA code and drivers were modified to support pipelined
operation (that reduced/eliminated bad frames when the sensor parameters
were changed) and
2 - PHP was ported in the camera and the camera-specific library was added

Both changes are described in the article -
http://www.linuxfordevices.com/c/a/Linux-For-Devices-Articles/Elphel-camera-under-the-hood-from-Verilog-to-PHP/

That allowed to move from a single large CGI (it still was difficult to
support pipelined operations there) to possibility to write smaller
dedicated PHP scripts, so the actual camera "API" is now not a CGI program,
but a set of PHP functions. You may find an example (snapfull.php) here:
http://elphel.cvs.sourceforge.net/viewvc/elphel/elphel353-8.0/packages/web/353/php_top/snapfull.php?view=markup

parsedit.php allows you to control/monitor all the camera parameters (it
also has tooltips that show short descriptions), camvc only controls some
of them.

When the parameters are set and you just need to acquire images, the
fastest way is to use a dedicated image web server (imgsrv) that listens to
the port 8081 (camvc also uses that server).

Andrey


On Tue, Jan 3, 2012 at 7:30 PM, dzach <dzach at topoi.gr> wrote:

> Thank you Andrey.
> I'll have a look into apps/autoexposure to see how I can use it.
>
> I already had a go with parsedit.php but I found camvc much easier to
> hack/use. Here is why:
>
> I have an application running on a web-server on a mobile PC. The camera
> is connected to this PC as are a number of other peripherals (gps,
> cameras, acceleration sensors). All these are controlled through a page
> served by the web-server and the touchscreen of a tablet (or a phone) in
> a similar to camvc way. I needed a way to control the Elphel camera
> through this user interface too.
>
> My problems with parsedit.php :
>  - HTTP POST is 4 times slower than HTTP GET for sending
> parameters/getting responses to/from the camera
>  - The response of parsedit.php is HTML which is a pain to parse
> (except if there is a way to get a fast XML or JSON response from
> parsedit.php)
>
> Camvc is very nice and detailed and can do almost everything except:
>  - cannot be used with a touch screen because the controls are very small
>  - does not resize the 2592x3888 px image before sending it out and the
> full size is very tough on the tablet, needs to be rotated too.
>  - I don't know of a way to 'program ahead' so that the response to a
> GET would be the result of the parameters already applied to the camera.
> I guess that's why immediately after sending a 'set' camvc sends a 'get'.
>
> So far I've managed to get a nice 3-5 fps sequence of resized
> 2592x3888px ->  320x480px images on the browser of an android phone,
> using imgsrv and camvc with the help of epeg, a JPEG resizing library
> and I am looking for a way to avoid manual adjustment of gain. It would
> be nice but it's not critical. I thought you might have implemented
> something like this for the Eyesis camera.
>
> > the autoexposure daemon (apps/autoexposure) handles both WB and
> > exposure, but gains are only adjusted for WB.
>
> Is there a reason for not adjusting gains or it just didn't occur?
>

The range of the gain adjustment (w/o increasing noise) is very small, so
after using it for WB you have something like 2:1 - 3:1 range (above that
noise will go up), while exposure can be adjusted by many orders of
magnitude. We only used gains to "help" exposure in webcam scripts, to
switch between "night" and "day" modes.

Andrey


>
> I expect to get a fair range of adjustment by setting gain below 8-10
> and have the camera in auto-exposure with a max-exposure below 1 msec.
> Presets are another solution but require attendance of the lighting
> conditions.
>
> Regards
> Dimitrios
>
> _______________________________________________
> Support-list mailing list
> Support-list at support.elphel.com
> http://support.elphel.com/mailman/listinfo/support-list_support.elphel.com
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://support.elphel.com/pipermail/support-list_support.elphel.com/attachments/20120104/5466b0eb/attachment-0002.html>


More information about the Support-list mailing list