Photo Finish
Since 2005 and the older 333 model, Elphel cameras have a Photo Finish mode. First, it was ported to 353 generation, and then from 353 to 393 camera systems.
In this mode the camera samples scan lines and delivers composite images as video frames. Due to the Bayer pattern of the sensor the minimal sample height is 2 lines. The max fps for the minimal sample height is 2300 line pairs per second. The max width of a composite frame can be up to 16384px (is determined by WOI_HEIGHT). A sequence of these frames can be simply joined together without any missing scan lines.
Current firmware (20180130) includes a photo finish demo: http://192.168.0.9/photofinish.
A couple notes for 393 photo finish implementation:
- works in JP4 format (COLOR=5). Because in this format demosaicing is not done it does not require extra scan lines, which simplified fpga’s logic.
- fps is controlled:
- by exposure for the sensor in the freerun mode (TRIG=0, delivers max fps possible)
- by external or internal trigger period for the sensor in the snapshot mode (TRIG=4, a bit lower fps than in freerun)
See our wiki’s Photo-finish article for instructions and examples.
Tmp manual
Firmware images
← Older revision Revision as of 20:38, 30 January 2018 Line 281: Line 281: ==<font color="blue">Firmware images</font>== ==<font color="blue">Firmware images</font>== −* [https://community.elphel.com/files/393/20180118/ '''20180118''']+* [https://community.elphel.com/files/393/20180130/ '''20180130'''] +* [https://community.elphel.com/files/393/20180118/ 20180118] * [https://community.elphel.com/files/393/20180116/ 20180116] * [https://community.elphel.com/files/393/20180116/ 20180116] −* [https://community.elphel.com/files/393/20180109/ 20180109] −* [https://community.elphel.com/files/393/20171120/ 20171120] −* [https://community.elphel.com/files/393/20171115/ 20171115] ==<font color="blue">Other info</font>== ==<font color="blue">Other info</font>== OlegPhoto-finish
Tips and notes
← Older revision Revision as of 20:26, 30 January 2018 (2 intermediate revisions by the same user not shown)Line 95: Line 95: ** WOI_HEIGHT=3872 ** WOI_HEIGHT=3872 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 −<!--+ * '''Example 3:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter at '''2000 fps''' * '''Example 3:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter at '''2000 fps''' ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=5 ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=5 Line 102: Line 102: ** TRIG=4 ** TRIG=4 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 −-->+ ===Tips and notes=== ===Tips and notes=== Line 108: Line 108: * How to process [[JP4#JP4|JP4]] * How to process [[JP4#JP4|JP4]] * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. −<!--* At 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds.-->+* FPS can be controlled by exposure for sensor in a freerun mode or external or internal trigger for sensor in a snapshot mode (TRIG=4) + <font size='2'>Example: at 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds</font> ==<font color='blue'>Instructions for 353</font>== ==<font color='blue'>Instructions for 353</font>== Line 138: Line 139: * Works in JPEG format * Works in JPEG format * 2 consecutive JPEG photo finish frames can be "seamlessly" joined without any special processing. Demosaicing related artifacts are taken care of in fpga. * 2 consecutive JPEG photo finish frames can be "seamlessly" joined without any special processing. Demosaicing related artifacts are taken care of in fpga. +* FPS can be controlled by setting exposure. Setting fps for line scan by programming internal trigger period was not implemented for 353. ==<font color='blue'>Important notes</font>== ==<font color='blue'>Important notes</font>== OlegPhoto-finish
Tips and notes
← Older revision Revision as of 20:26, 30 January 2018 (5 intermediate revisions by the same user not shown)Line 102: Line 102: ** TRIG=4 ** TRIG=4 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 + ===Tips and notes=== ===Tips and notes=== Line 107: Line 108: * How to process [[JP4#JP4|JP4]] * How to process [[JP4#JP4|JP4]] * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. −* At 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds.+* FPS can be controlled by exposure for sensor in a freerun mode or external or internal trigger for sensor in a snapshot mode (TRIG=4) − + <font size='2'>Example: at 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds</font> − ==<font color='blue'>Instructions for 353</font>== ==<font color='blue'>Instructions for 353</font>== Line 127: Line 127: ** PF_HEIGHT=2 ** PF_HEIGHT=2 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 +<!-- * '''Example 2:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter: '''2000fps''' * '''Example 2:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter: '''2000fps''' ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=1 ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=1 Line 133: Line 134: ** TRIG=4 ** TRIG=4 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 +--> ===Tips and notes=== ===Tips and notes=== * Works in JPEG format * Works in JPEG format * 2 consecutive JPEG photo finish frames can be "seamlessly" joined without any special processing. Demosaicing related artifacts are taken care of in fpga. * 2 consecutive JPEG photo finish frames can be "seamlessly" joined without any special processing. Demosaicing related artifacts are taken care of in fpga. +* FPS can be controlled by setting exposure. Setting fps for line scan by programming internal trigger period was not implemented for 353. ==<font color='blue'>Important notes</font>== ==<font color='blue'>Important notes</font>== OlegPhoto-finish
Tips and notes
← Older revision Revision as of 20:26, 30 January 2018 (6 intermediate revisions by the same user not shown)Line 37: Line 37: ==<font color='blue'>Line scan with Elphel</font>== ==<font color='blue'>Line scan with Elphel</font>== −[[File:Elphelimg 1015229 a.jpeg|thumb|500px|This image is downsized from 2592x3872 and rotated by 90° CCW]]+[[File:Elphelimg 1015229 a.jpeg|thumb|500px|This image is downsized from 2592x8000 and rotated by 90° CCW]] {| class='wikitable' {| class='wikitable' Line 60: Line 60: Due to the Bayer pattern of the sensor the minimal sample height is 2 lines. Due to the Bayer pattern of the sensor the minimal sample height is 2 lines. − − − ==<font color='blue'>Instructions for 393</font>== ==<font color='blue'>Instructions for 393</font>== Line 105: Line 102: ** TRIG=4 ** TRIG=4 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 + ===Tips and notes=== ===Tips and notes=== Line 110: Line 108: * How to process [[JP4#JP4|JP4]] * How to process [[JP4#JP4|JP4]] * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. −* At 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds.+* FPS can be controlled by exposure for sensor in a freerun mode or external or internal trigger for sensor in a snapshot mode (TRIG=4) − + <font size='2'>Example: at 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds</font> − ==<font color='blue'>Instructions for 353</font>== ==<font color='blue'>Instructions for 353</font>== Line 130: Line 127: ** PF_HEIGHT=2 ** PF_HEIGHT=2 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 +<!-- * '''Example 2:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter: '''2000fps''' * '''Example 2:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter: '''2000fps''' ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=1 ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=1 Line 136: Line 134: ** TRIG=4 ** TRIG=4 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 +--> ===Tips and notes=== ===Tips and notes=== * Works in JPEG format * Works in JPEG format * 2 consecutive JPEG photo finish frames can be "seamlessly" joined without any special processing. Demosaicing related artifacts are taken care of in fpga. * 2 consecutive JPEG photo finish frames can be "seamlessly" joined without any special processing. Demosaicing related artifacts are taken care of in fpga. +* FPS can be controlled by setting exposure. Setting fps for line scan by programming internal trigger period was not implemented for 353. ==<font color='blue'>Important notes</font>== ==<font color='blue'>Important notes</font>== Oleg01/30/18 [linux-elphel][rocko] by Oleg Dzhimiev: compare TRIG_PERIOD to pix_period and update the latter before setting P_PERIOD=pix_period
compare TRIG_PERIOD to pix_period and update the latter before setting P_PERIOD=pix_period
Photo-finish
Tips and notes
← Older revision Revision as of 20:01, 29 January 2018 (3 intermediate revisions by the same user not shown)Line 37: Line 37: ==<font color='blue'>Line scan with Elphel</font>== ==<font color='blue'>Line scan with Elphel</font>== −[[File:Elphelimg 1015229 a.jpeg|thumb|500px|This image is downsized from 2592x3872 and rotated by 90° CCW]]+[[File:Elphelimg 1015229 a.jpeg|thumb|500px|This image is downsized from 2592x8000 and rotated by 90° CCW]] {| class='wikitable' {| class='wikitable' Line 60: Line 60: Due to the Bayer pattern of the sensor the minimal sample height is 2 lines. Due to the Bayer pattern of the sensor the minimal sample height is 2 lines. − − − ==<font color='blue'>Instructions for 393</font>== ==<font color='blue'>Instructions for 393</font>== Line 98: Line 95: ** WOI_HEIGHT=3872 ** WOI_HEIGHT=3872 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 − +<!-- * '''Example 3:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter at '''2000 fps''' * '''Example 3:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter at '''2000 fps''' ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=5 ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=5 Line 105: Line 102: ** TRIG=4 ** TRIG=4 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 +--> ===Tips and notes=== ===Tips and notes=== Line 110: Line 108: * How to process [[JP4#JP4|JP4]] * How to process [[JP4#JP4|JP4]] * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. * To '''seamlessly''' join 2 consecutive JP4 photo finish frames - their pixels has to be joined before demosaicing. Otherwise demosaicing algorithm will create a seam. −* At 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds.+<!--* At 2000 fps and PH_HEIGHT=2, The 2592x16384 composite frame consists of 8192 2592x2 stacked frames and covers 4.096 seconds.--> − − ==<font color='blue'>Instructions for 353</font>== ==<font color='blue'>Instructions for 353</font>== Line 130: Line 126: ** PF_HEIGHT=2 ** PF_HEIGHT=2 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 +<!-- * '''Example 2:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter: '''2000fps''' * '''Example 2:''' 2592x1936, not changing any frame dimensions, sensor is triggered from internal counter: '''2000fps''' ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=1 ** COMPRESSOR_RUN=0, WB_EN=0, AUTOEXP_ON=0, EXPOS=400, TRIG=0, COLOR=1 Line 136: Line 133: ** TRIG=4 ** TRIG=4 ** COMPRESSOR_RUN=2 ** COMPRESSOR_RUN=2 +--> ===Tips and notes=== ===Tips and notes=== OlegPhoto-finish
Line scan with Elphel
← Older revision Revision as of 21:49, 26 January 2018 Line 37: Line 37: ==<font color='blue'>Line scan with Elphel</font>== ==<font color='blue'>Line scan with Elphel</font>== −[[File:Elphelimg 1015229 a.jpeg|thumb|500px|This image is downsized from 2592x3872 and rotated by 90° CCW]]+[[File:Elphelimg 1015229 a.jpeg|thumb|500px|This image is downsized from 2592x8000 and rotated by 90° CCW]] {| class='wikitable' {| class='wikitable' Line 60: Line 60: Due to the Bayer pattern of the sensor the minimal sample height is 2 lines. Due to the Bayer pattern of the sensor the minimal sample height is 2 lines. − − − ==<font color='blue'>Instructions for 393</font>== ==<font color='blue'>Instructions for 393</font>== Oleg01/26/18 [elphel-web-393][] by Oleg Dzhimiev: refresh after init
refresh after init
01/26/18 [elphel-web-393][] by Oleg Dzhimiev: Added makefile
Added makefile
01/25/18 [elphel-web-393][] by Oleg Dzhimiev: 1. timer 2. link to pars 3. set to sensor's center
1. timer 2. link to pars 3. set to sensor's center
01/24/18 [elphel-web-393][] by Oleg Dzhimiev: init and refresh
init and refresh
01/24/18 [elphel-web-393][] by Oleg Dzhimiev: added photo finish demo
added photo finish demo
01/24/18 [elphel-web-393][] by Oleg Dzhimiev: abs path for get-image.php
abs path for get-image.php
Photo-finish
Photo-finish
01/24/18 [linux-elphel][rocko] by Oleg Dzhimiev: finished photo finish debugging
finished photo finish debugging
Photo-finish
Pages
