Imaging solutions with Free Software & Open Hardware

Who's online

There are currently 0 users online.

Subscribe to Wiki Recent Changes feed
Track the most recent changes to the wiki in this feed. MediaWiki 1.28.0
Updated: 32 min 36 sec ago

Using camogm with Elphel393 camera

Fri, 01/06/2017 - 10:40

← Older revision Revision as of 17:40, 6 January 2017 (One intermediate revision not shown)Line 1: Line 1: -Elphel 393 series cameras can be equipped with m.2 SSD drive used for images and video recording. The camera equipped with a drive should be configured in a way that the drive can be accessible from Linux operating system. This is normally done with a configuration script which is executed during system boot. The script is usually located in the root directory on microSD card or in the /etc directory and called ''init_elphel393.sh''. These is a set of parameters in the beginning of the script and one of them is responsible for SATA controller configuration and driver loading:+===Introduction===  +Elphel 393 series cameras can be equipped with m.2 SSD drive used for images and video recording. The camera equipped with a drive should be configured in a way that the drive can be accessible from Linux operating system. This is normally done with a configuration script which is executed during system boot. The script is located in the /etc/elphel393 directory and called ''init_elphel393.py''. There is a set of parameters which this script receives from init script /etc/ini.d/init_elphel393 and one of them is responsible for SATA controller configuration and driver loading: -  SATA_EN=1+  \"sata\"            :1, Make sure this parameter is set to 1 if your camera is equipped with SSD drive. You should see the following messages in system log after successful initialization and auto-mounting: Make sure this parameter is set to 1 if your camera is equipped with SSD drive. You should see the following messages in system log after successful initialization and auto-mounting: Line 17: Line 18:   [  30.646115] sd 0:0:0:0: [sda] Attached SCSI disk   [  30.646115] sd 0:0:0:0: [sda] Attached SCSI disk -The disk model and the number of partitions(sda1 and sda2) in the example above correspond to a test platform and they may not be the same in your camera. <code>/dev/sda2</code> in this example is not partitioned and not mounted:+The disk model and the number of partitions (sda1 and sda2) in the example above correspond to a test platform and they may not be the same in your camera. <code>/dev/sda2</code> in this example is not partitioned and not mounted:   ~# mount   ~# mount Line 31: Line 32:   /dev/sda1 on /mnt/sda1 type ext2 (rw,relatime,errors=continue)   /dev/sda1 on /mnt/sda1 type ext2 (rw,relatime,errors=continue) -The program for video/images recording is called ''camogm''. Its full description for previous series of Elphel cameras is available on [[Camogm]] wiki page. Current version of the program supports four sensor channels and has the same command set as the previous version, but commands can be sent to each channel separately. The program can be started the same way as described in [[Camogm#Starting_camogm|Starting camogm]] section, but now it will create four command pipes instead of one and each pipe will have channel number appended to the name provided on command line:+The program for video/images recording is called ''camogm''. Its full description for previous series of Elphel cameras is available on [[Camogm]] wiki page. Current version of the program supports four sensor channels and has the same command set as the previous version. The program can be started the same way as described in [[Camogm#Starting_camogm|Starting camogm]] section and it will create command pipe called ''camogm_cmd'' in the following directory:   root@elphel393:~# ls -l /var/volatile/state/   root@elphel393:~# ls -l /var/volatile/state/ Line 42: Line 43: Note, that ''camogm'' is under development and not all features of the previous version have been ported to new camera. As for now, geo tagging and exif specific commands are not implemented. Watch for updates on our [https://github.com/Elphel github page]. Note, that ''camogm'' is under development and not all features of the previous version have been ported to new camera. As for now, geo tagging and exif specific commands are not implemented. Watch for updates on our [https://github.com/Elphel github page].  +You can start ''camogm'' as a standalone command-line application or use web GUI interface in a browser to control the program. The examples of using ''camogm'' in both ways are shown below. ===Example=== ===Example=== ====1. WebGUI==== ====1. WebGUI==== * http://192.168.0.9/camogmgui.php * http://192.168.0.9/camogmgui.php -* In the '''Format''' tab checkthe settings then press OK button+* In the '''Format''' tab check the settings then press OK button {| {| | valign='top'|[[File:Camogmgui format tab.png|thumb|400px|Fig.1 Camogmgui - change recording formats]] | valign='top'|[[File:Camogmgui format tab.png|thumb|400px|Fig.1 Camogmgui - change recording formats]] Line 51: Line 53: |} |} =====Fast recording===== =====Fast recording=====  +''camogm'' can write data to disk or partition in a special fast recording mode. This mode supports higher sequential write speeds than those that can be achieved during regular file recording to a file system but additional step to extract data from disk is needed. Use [https://github.com/Elphel/elphel-tools-x393 these scripts] to extract raw data from disk and split it into separate images. * Keep '''Use fast recording''' checkbox selected - press OK then RECORD * Keep '''Use fast recording''' checkbox selected - press OK then RECORD ** An image sequence will be written to a raw partition. ** An image sequence will be written to a raw partition. Line 56: Line 59: =====Normal recording===== =====Normal recording=====  +In this mode ''camogm'' saves data to regular files on a file system. * Deselect '''Use fast recording''' * Deselect '''Use fast recording''' * Choose '''Format''' (Ogg Media Stream is not tested) * Choose '''Format''' (Ogg Media Stream is not tested) Mikhail

File:Camogmgui main.png

Fri, 01/06/2017 - 09:47

uploaded "[[File:Camogmgui main.png]]"

Mikhail

Tmp manual

Fri, 01/06/2017 - 06:44

Serial console access:

← Older revision Revision as of 13:44, 6 January 2017 Line 82: Line 82: Most likely the device will be <b>/dev/ttyUSB0</b>. Settings: Most likely the device will be <b>/dev/ttyUSB0</b>. Settings: * <b>115200 8N1, no</b> for hardware/software flow control * <b>115200 8N1, no</b> for hardware/software flow control - +Refer to the following article for more details on using '''minicom''': [http://wiki.elphel.com/index.php?title=Using_minicom_to_connect_to_Elphel393_camera Using minicom to connect to Elphel393 camera] - + ==<font color="blue">Web user interface (camvc)</font>== ==<font color="blue">Web user interface (camvc)</font>== Mikhail

Boot options 393

Fri, 01/06/2017 - 06:18

← Older revision Revision as of 13:18, 6 January 2017 (One intermediate revision not shown)Line 17: Line 17: ==<font color="blue">Boot instructions</font>== ==<font color="blue">Boot instructions</font>== ===Internal NAND flash (default)=== ===Internal NAND flash (default)=== -* Make sure the recovery card is not inserted (recovery card can stay in)+* Make sure the recovery card is not inserted (regular card can stay in) * Power on * Power on Line 79: Line 79: * '''To build a custom device tree''', see [http://wiki.elphel.com/index.php?title=Poky_2.0_manual SDK manual]''' * '''To build a custom device tree''', see [http://wiki.elphel.com/index.php?title=Poky_2.0_manual SDK manual]'''  +The cp210x_gpio.py script controls GPIO pins for CP210X USB to UART Bridges and it comes with the patch for the cp210x driver. ==<font color="blue">cp210x_gpio.py -h</font>== ==<font color="blue">cp210x_gpio.py -h</font>==   $./cp210x_gpio.py -h   $./cp210x_gpio.py -h Mikhail

Using camogm with Elphel393 camera

Thu, 01/05/2017 - 20:25

← Older revision Revision as of 03:25, 6 January 2017 Line 1: Line 1: -Elphel 393 series cameras can be equipped with m.2 SSD drive used for images and video recording. The camera equipped with a drive should be configured in a way that the drive can be accessible from Linux operating system. This is normally done with a configuration script which is executed during system boot. The script is usually located in the root directory on microSD card or in the /etc directory and called ''init_elphel393.sh''. These is a set of parameters in the beginning of the script and one of them is responsible for SATA controller configuration and driver loading:+===Introduction===  +Elphel 393 series cameras can be equipped with m.2 SSD drive used for images and video recording. The camera equipped with a drive should be configured in a way that the drive can be accessible from Linux operating system. This is normally done with a configuration script which is executed during system boot. The script is located in the /etc/elphel393 directory and called ''init_elphel393.py''. There is a set of parameters which this script receives from init script /etc/ini.d/init_elphel393 and one of them is responsible for SATA controller configuration and driver loading: -  SATA_EN=1+  \"sata\"            :1, Make sure this parameter is set to 1 if your camera is equipped with SSD drive. You should see the following messages in system log after successful initialization and auto-mounting: Make sure this parameter is set to 1 if your camera is equipped with SSD drive. You should see the following messages in system log after successful initialization and auto-mounting: Line 17: Line 18:   [  30.646115] sd 0:0:0:0: [sda] Attached SCSI disk   [  30.646115] sd 0:0:0:0: [sda] Attached SCSI disk -The disk model and the number of partitions(sda1 and sda2) in the example above correspond to a test platform and they may not be the same in your camera. <code>/dev/sda2</code> in this example is not partitioned and not mounted:+The disk model and the number of partitions (sda1 and sda2) in the example above correspond to a test platform and they may not be the same in your camera. <code>/dev/sda2</code> in this example is not partitioned and not mounted:   ~# mount   ~# mount Line 31: Line 32:   /dev/sda1 on /mnt/sda1 type ext2 (rw,relatime,errors=continue)   /dev/sda1 on /mnt/sda1 type ext2 (rw,relatime,errors=continue) -The program for video/images recording is called ''camogm''. Its full description for previous series of Elphel cameras is available on [[Camogm]] wiki page. Current version of the program supports four sensor channels and has the same command set as the previous version, but commands can be sent to each channel separately. The program can be started the same way as described in [[Camogm#Starting_camogm|Starting camogm]] section, but now it will create four command pipes instead of one and each pipe will have channel number appended to the name provided on command line:+The program for video/images recording is called ''camogm''. Its full description for previous series of Elphel cameras is available on [[Camogm]] wiki page. Current version of the program supports four sensor channels and has the same command set as the previous version. The program can be started the same way as described in [[Camogm#Starting_camogm|Starting camogm]] section and it will create command pipe called ''camogm_cmd'' in the following directory:   root@elphel393:~# ls -l /var/volatile/state/   root@elphel393:~# ls -l /var/volatile/state/ Line 42: Line 43: Note, that ''camogm'' is under development and not all features of the previous version have been ported to new camera. As for now, geo tagging and exif specific commands are not implemented. Watch for updates on our [https://github.com/Elphel github page]. Note, that ''camogm'' is under development and not all features of the previous version have been ported to new camera. As for now, geo tagging and exif specific commands are not implemented. Watch for updates on our [https://github.com/Elphel github page].  +You can start ''camogm'' as a stand-along command-line application or use web GUI interface in a browser to control the program. The examples of using ''camogm'' in both ways are shown below. ===Example=== ===Example=== ====1. WebGUI==== ====1. WebGUI==== * http://192.168.0.9/camogmgui.php * http://192.168.0.9/camogmgui.php -* In the '''Format''' tab checkthe settings then press OK button+* In the '''Format''' tab check the settings then press OK button {| {| | valign='top'|[[File:Camogmgui format tab.png|thumb|400px|Fig.1 Camogmgui - change recording formats]] | valign='top'|[[File:Camogmgui format tab.png|thumb|400px|Fig.1 Camogmgui - change recording formats]] Line 51: Line 53: |} |} =====Fast recording===== =====Fast recording=====  +''camogm'' can write data to disk or partition in a special fast recording mode. This mode supports higher sequential write speeds than those that can be achieved during regular file recording to a file system but additional step to extract data from disk is needed. Use [https://github.com/Elphel/elphel-tools-x393 these scripts] to extract raw data from disk and split it into separate images. * Keep '''Use fast recording''' checkbox selected - press OK then RECORD * Keep '''Use fast recording''' checkbox selected - press OK then RECORD ** An image sequence will be written to a raw partition. ** An image sequence will be written to a raw partition. Line 56: Line 59: =====Normal recording===== =====Normal recording=====  +In this mode ''camogm'' saves data to regular files on a file system. * Deselect '''Use fast recording''' * Deselect '''Use fast recording''' * Choose '''Format''' (Ogg Media Stream is not tested) * Choose '''Format''' (Ogg Media Stream is not tested) Mikhail

10393

Thu, 01/05/2017 - 20:14

Mechanical properties:

← Older revision Revision as of 03:14, 6 January 2017 (3 intermediate revisions not shown)Line 21: Line 21: ====Interfaces==== ====Interfaces==== -[[File:Nc393 4sensors.jpeg|thumb|220px|10393 + 4 sensors]]+[[File:Nc393-dev-sm.jpeg|thumb|220px|10393 + 4 sensors]] * Gigabit ethernet * Gigabit ethernet * micro USB - system console (serial port), reboot, select boot device * micro USB - system console (serial port), reboot, select boot device Line 42: Line 42: ====Power==== ====Power==== * 3.3VDC * 3.3VDC -====Mechanical properties====+====Physical properties==== * Dimensions: 96x38x20.5 mm (with all connectors installed). Height can be reduced by removing the network connector. * Dimensions: 96x38x20.5 mm (with all connectors installed). Height can be reduced by removing the network connector. * Weight: 31 g * Weight: 31 g Line 58: Line 58: * Sources: * Sources: ** [https://github.com/Elphel GitHub/Elphel] ** [https://github.com/Elphel GitHub/Elphel]  +* SDK installation docs  +** [[Poky_2.0_manual|Set up development environment]]  +  +====User Manual====  +* [[Tmp_manual|User guide]] ====License==== ====License==== Oleg

10393

Thu, 01/05/2017 - 17:46

SDK:

← Older revision Revision as of 00:46, 6 January 2017 (One intermediate revision not shown)Line 58: Line 58: * Sources: * Sources: ** [https://github.com/Elphel GitHub/Elphel] ** [https://github.com/Elphel GitHub/Elphel]  +* SDK installation docs  +** [[Poky_2.0_manual|Set up development environment]]  +  +====User Manual====  +* [[Tmp_manual|User guide]] ====License==== ====License==== Oleg

Tmp manual

Thu, 01/05/2017 - 14:09

Tools for calibrated systems:

← Older revision Revision as of 21:09, 5 January 2017 Line 267: Line 267: ** distortion correction (pixel mapping) ** distortion correction (pixel mapping) ** rectification and projection ** rectification and projection  +** '''JP46 Reader camera''' - decode JP4/JP46  +** '''Eyesis correction''' - post-process JP4s using calibration data ====switch between ERS and GRR modes in MT9P006==== ====switch between ERS and GRR modes in MT9P006==== Oleg

JP4

Thu, 01/05/2017 - 13:46

python:

← Older revision Revision as of 20:46, 5 January 2017 (9 intermediate revisions not shown)Line 84: Line 84: ==<font color="blue">JP4</font>== ==<font color="blue">JP4</font>==  +{|  +|[[File:Jp4 example rotated asjpeg.jpeg|200px|thumb|JP4 opened as JPEG, rotated 90&deg;]]  +|[[File:Jp4 example rotated processed.jpeg|200px|thumb|JP4 processed, rotated 90&deg;]]  +|}  +* If opened as a normal image the macro blocks will be displayed as 8x32.  +===PC===  +====ImageJ plugin====  +* [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Install ImageJ plugins]]  +* run: Plugins > JP46 reader camera  +** can display JP4/JP46 as monochrome w/o demosaicing  +** can split color channels  +====html canvas + javascript====  +* [https://github.com/Elphel/elphel-web-393/blob/master/src/jp4-canvas/elphel.js reorderJP4Blocks()]  +====python====  +* very slow  + import numpy as np  + from PIL import Image  + import scipy.misc  + ...  + # in JP4 format the 16x16 block is 8x32 (GRBG)  + # the 1st line of 8x32 blocks is the left half of the image  + # the 2nd line of 8x32 blocks is the right half  +       + # vertical step = 16px  + for y in range(0,self.h,16):  +  for x in range(0,self.w,16):  +                   +    bx = x if x<self.w/2 else x-self.w/2  +    by = y if x<self.w/2 else y+8  +                   +    block8x8_gr = self.px[by:by+8,2*bx+0 :2*bx+ 8]  +    block8x8_r  = self.px[by:by+8,2*bx+8 :2*bx+16]  +    block8x8_b  = self.px[by:by+8,2*bx+16:2*bx+24]  +    block8x8_gb = self.px[by:by+8,2*bx+24:2*bx+32]  +                 +    for dy in range(8):  +      for dx in range(8):  +        #OpenCV uses BGR format  +        output[y+2*dy+0,x+2*dx+0]=[0,block8x8_gr[dy,dx][0],0]  +        output[y+2*dy+0,x+2*dx+1]=[0,0,block8x8_r[dy,dx][0]]  +        output[y+2*dy+1,x+2*dx+0]=[block8x8_b[dy,dx][0],0,0]  +        output[y+2*dy+1,x+2*dx+1]=[0,block8x8_gb[dy,dx][0],0]  + ... ==<font color="blue">JP46</font>== ==<font color="blue">JP46</font>== Line 92: Line 135: |} |} ===PC=== ===PC===  +====ImageJ plugin====  +* same as for [[JP4#ImageJ_plugin|JP4]] ====Decoding in MATLAB==== ====Decoding in MATLAB==== JP46 format can be easy manipulated in [http://www.mathworks.com/matlabcentral/fileexchange/22144 MATLAB] JP46 format can be easy manipulated in [http://www.mathworks.com/matlabcentral/fileexchange/22144 MATLAB] Oleg

JP4

Thu, 01/05/2017 - 10:16

Format variations:

Show changes Oleg

JP4

Thu, 01/05/2017 - 09:22

JP46 processing on the host:

← Older revision Revision as of 16:22, 5 January 2017 (6 intermediate revisions not shown)Line 1: Line 1: -== JP4 Format ==+==JP4 Format== -JP4 format is based on JPEG compression, it was originally developed at Elphel for accurate representation of the scanned book pages and later used in other applications that involve post-processing. This format is supported in both [[353|NC353 series]] and current [[10393|NC393 series]] cameras. The standard JPEG was developed to compress images so they visually are almost the same as uncompressed but are significantly smaller in size. The goal of JP4 is camera-centric, not human-centric. It tries to preserve as much as possible of the information from the camera sensor (ideally "raw") while providing reasonable compression. The most damaging part of the color JPEG compression is the de-mosaic part of it. "Lossy" part of the compression (quantization after DCT) can be eliminated with setting compression quality to 100% that effectively disables quantization. Dynamic range compression ("gamma conversion") is usually designed to be lower than the sensor shot noise - significant for most modern small-pixel (and so low full-well capacity) sensors. That leaves the demosaic ("guessing" the missing colors in Bayer mosaic sensor outputs) a single most damaging operation. In the camera this is usually done by processing data in 3x3 or 5x5 pixel blocks and it is difficult to distinguish between variations (especially sharp) in intensity and the color tone. There are much more advanced algorithms that can be used during post-processing that will provide much better results, but they require "raw" sensor data. Or - the data saved in JP4 format.+The goal of the JP4 format is to preserve as much as possible of the information from the image sensor (ideally "raw") while providing reasonable compression. Based on JPEG compression, the format was originally developed at Elphel for accurate representation of the scanned book pages and later used in other applications that involve post-processing.  +   +The standard JPEG was developed to compress images so they visually look almost the same as uncompressed but are significantly smaller in size. The most damaging part of the color JPEG compression is the demosaic part of it. "Lossy" part of the compression (quantization after DCT) can be eliminated with setting compression quality to 100% that effectively disables quantization. Dynamic range compression ("gamma conversion") is usually designed to be lower than the sensor shot noise - significant for most modern small-pixel (and so low full-well capacity) sensors. That leaves the demosaic ("guessing" the missing colors in Bayer mosaic sensor outputs) a single most damaging operation. In the camera this is usually done by processing data in 3x3 or 5x5 pixel blocks and it is difficult to distinguish between variations (especially sharp) in intensity and the color tone. There are much more advanced algorithms that can be used during post-processing that will provide much better results, but they require "raw" sensor data. Or - the data saved in JP4 format. Here is a [http://community.elphel.com/jp4/jp4demo.php JP4 Demo] that illustrates this algorithm and how it is related to standard JPEG. Here is a [http://community.elphel.com/jp4/jp4demo.php JP4 Demo] that illustrates this algorithm and how it is related to standard JPEG. -JP4 mode bypasses the demosaic/color converiosn in the FPGA and provides an image with pixels in each 16x16 macroblock that are rearranged to separate Bayer colors in individual 8x8 blocks, then encoded as monochrome. [[Demosaic_on_client_side|Demosaic]] will be applied during post-processing on the host PC. This section describe different algorithms and implementations used to provide this functionality.+JP4 mode bypasses the demosaic/color conversion in the FPGA and provides an image with pixels in each 16x16 macroblock that are rearranged to separate Bayer colors in individual 8x8 blocks, then encoded as monochrome. [[Demosaic_on_client_side|Demosaic]] will be applied during post-processing on the host PC. This section describe different algorithms and implementations used to provide this functionality. -Main goals:+==Features== -* compression speed improvement+Compared to JPEG: -* possibility to obtain more high quality image (near to RAW)+* Higher compression speed -* drasticaly lowering data size+* Better image quality (close to RAW) -== Different JP4 Modes in 8.X Software ==+* Pixel data is not modified by demosaicing algorithm -only modes 0-2 can be processed with standard libjpeg:                +* Smaller file size -*0 - mono6, monochrome (color YCbCr 4:2:0 with zeroed out color componets)                + -*1 - color, YCbCr 4:2:0, 3x3 pixels                + -*2 - jp46 - original JP4 (from 7.X software), encoded as 4:2:0 with zeroed color components                + -*3 - jp46dc, modified jp46 so each color component uses individual DC diffenential encoding                + -*4 - reserved for color with 5x5 conversion (not yet implemented)+ -*5 - jp4 with ommitted color components (4:0:0)+ -*6 - jp4dc, similar to jp46dc encoded as 4:0:0+ -*7 - jp4diff, differential where (R-G), G, (G2-G) and (B-G) components are encoded as 4:0:0+ -*8 - jp4hdr, (R-G), G, G2,(B-G) are encoded so G2 can be used with high gain                + -*9 - jp4fiff2, (R-G)/2, G,(G2-G)/2, (B-G)/2 to avoid possible overflow in compressed values                + -*10 - jp4hdr2, (R-G)/2, G,G2,(B-G)/2                + -*14 - mono,  monochrome with ommitted color components (4:0:0)+  +== Format variations==  +{| class="wikitable"  +|-  +! Name  +! Description  +|-  +| align='center' | '''jp46'''  +| original JP4 (from 7.X software in 10353s), encoded as 4:2:0 with zeroed color components  +|-  +| align='center' | '''jp4dc'''  +| modified jp46 so each color component uses individual DC differential encoding  +|-  +| align='center' | -  +| reserved for color with 5x5 conversion (not yet implemented)  +|-  +| align='center' | '''jp4'''  +| 4:0:0, omitted color components  +|-  +| align='center' | '''jp4dc'''  +| similar to jp46dc encoded as 4:0:0  +|-  +| align='center' | '''jp4diff'''  +| differential where (R-G), G, (G2-G) and (B-G) components are encoded as 4:0:0  +|-  +| align='center' | '''jp4hdr'''  +| (R-G), G, G2,(B-G) are encoded so G2 can be used with high gain  +|-  +| align='center' | '''jp4fiff2'''  +| (R-G)/2, G,(G2-G)/2, (B-G)/2 to avoid possible overflow in compressed values  +|-  +| align='center' | '''jp4hdr2'''  +| (R-G)/2, G,G2,(B-G)/2  +|}  +====other formats====  +{| class="wikitable"  +|-  +! Name  +! Description  +|-  +| align='center' | '''color'''  +| YCbCr 4:2:0, 3x3 pixels  +|-  +| align='center' | '''mono6'''  +| monochrome - color YCbCr 4:2:0 with zeroed out color components  +|-  +| align='center' | '''mono'''  +| monochrome - color YCbCr 4:0:0 with omitted color components  +|} -=== [[JP4 HDR]] ===+==== [[JP4 HDR]] ==== -Bayer pattern look like this+Bayer pattern looks like this {| class="wikitable"   {| class="wikitable"     |-   |- Line 81: Line 119:   |}   |} -The remark: all kinds of bayer patterns can be received from initial RGGB by flipping on X and/or Y.+'''Note:''' all kinds of Bayer patterns can be derived from initial RGGB by flipping on X and/or Y. -Some sensors have possibility to set independed scale to G1 and G2.+Some sensors have possibility to set independent scales to G1 and G2. -Considering that the accessible optics does not give the full permission of a sensor resolution, it [[JP4_HDR|can be]] used for increase in a dynamic range of a image sensor.+Considering that the accessible optics does not give the full permission of a sensor resolution, it [[JP4_HDR|can be]] used to increase the dynamic range of a image sensor. == JP46 processing on the host == == JP46 processing on the host == === JP46 image decoding in MATLAB === === JP46 image decoding in MATLAB === -JP4 format can be easy manipulated by [http://www.mathworks.com/matlabcentral/fileexchange/22144 MATLAB] [[Image:Fruits_jp4.jpg|thumb|JP4 image]]+JP4 format can be easy manipulated by [http://www.mathworks.com/matlabcentral/fileexchange/22144 MATLAB] [[Image:Fruits_jp4.jpg|thumb|JP46 image]] 1. Read image 1. Read image Oleg

Tmp manual

Thu, 01/05/2017 - 08:59

Image formats:

← Older revision Revision as of 15:59, 5 January 2017 (2 intermediate revisions not shown)Line 221: Line 221: ==<font color="blue">Image formats</font>== ==<font color="blue">Image formats</font>== ====jpeg==== ====jpeg==== -* supported but is not the best for processing since a lot of information is lost at demosaicing+* '''color''': YCbCr 4:2:0, 3x3 pixels  +* '''mono6''': monochrome - color YCbCr 4:2:0 with zeroed out color components  +* '''mono''' : monochrome - color YCbCr 4:0:0 with omitted color components  +   +'''Note:''' Is not the best for processing since a lot of information is lost at demosaicing ====jp4 raw==== ====jp4 raw==== * [[JP4|'''More information''']] * [[JP4|'''More information''']] Line 257: Line 261: ==<font color="blue">Other info</font>== ==<font color="blue">Other info</font>==  +====Tools for calibrated systems====  +* [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Install ImageJ plugins]]  +** decode jp4 raw format  +** aberrations correction  +** distortion correction (pixel mapping)  +** rectification and projection  + ====switch between ERS and GRR modes in MT9P006==== ====switch between ERS and GRR modes in MT9P006==== * [[Electronic_Rolling_Shutter#ERS_and_GRR_in_MT9P001_on_10393|Read article]] * [[Electronic_Rolling_Shutter#ERS_and_GRR_in_MT9P001_on_10393|Read article]] Oleg

Tmp manual

Thu, 01/05/2017 - 08:05

← Older revision Revision as of 15:05, 5 January 2017 Line 257: Line 257: ==<font color="blue">Other info</font>== ==<font color="blue">Other info</font>==  +====Tools for calibrated systems====  +* [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Install ImageJ plugins]]  +** decode jp4 raw format  +** aberrations correction  +** distortion correction (pixel mapping)  +** rectification and projection  + ====switch between ERS and GRR modes in MT9P006==== ====switch between ERS and GRR modes in MT9P006==== * [[Electronic_Rolling_Shutter#ERS_and_GRR_in_MT9P001_on_10393|Read article]] * [[Electronic_Rolling_Shutter#ERS_and_GRR_in_MT9P001_on_10393|Read article]] Oleg

Poky 2.0 manual

Thu, 01/05/2017 - 07:47

Features:

← Older revision Revision as of 14:47, 5 January 2017 (One intermediate revision not shown)Line 14: Line 14: ** [https://github.com/Elphel/vdt-plugin VDT Plugin repository] ** [https://github.com/Elphel/vdt-plugin VDT Plugin repository] -* Once everything is built it supports updating software projects on the target system+* Once everything is built it supports updating software projects (files and binaries) on the target system ** access is set up in yocto's ''local.conf'' (see ''setup.py'' output) + ''ssh-copy-id'' ** access is set up in yocto's ''local.conf'' (see ''setup.py'' output) + ''ssh-copy-id'' ** ''bitbake some-app -c target_scp'' from the command line or Eclipse IDE - see examples in '''elphel-apps-...''' at [https://github.com/Elphel GitHub] ** ''bitbake some-app -c target_scp'' from the command line or Eclipse IDE - see examples in '''elphel-apps-...''' at [https://github.com/Elphel GitHub] Line 20: Line 20: ==<font color="blue">Supported OSes</font>== ==<font color="blue">Supported OSes</font>== -** Kubuntu 14.04.3 LTS x64 (until June 2016)+* Kubuntu 14.04.3 LTS x64 (until June 2016) -** Kubuntu 16.04 x64 (as of June 2016)+* Kubuntu 16.04 x64 (as of June 2016) ==<font color="blue">Required packages</font>== ==<font color="blue">Required packages</font>== Oleg

10393

Wed, 01/04/2017 - 22:19

← Older revision Revision as of 05:19, 5 January 2017 (One intermediate revision not shown)Line 2: Line 2: [[Image:10393_top_sm.png|frame|[[Media:10393_top.jpeg|10393 board, top view]]]] [[Image:10393_top_sm.png|frame|[[Media:10393_top.jpeg|10393 board, top view]]]] [[Image:10393_bottom_sm.png|frame|[[Media:10393_bottom.jpeg|10393 board, bottom view]]]] [[Image:10393_bottom_sm.png|frame|[[Media:10393_bottom.jpeg|10393 board, bottom view]]]] -10393 is the system board of Elphel NC393 series camera. It will also replace [[10353|10353 board]] in [[Elphel_Eyesis4Pi|Eyesis4pi]] and other Elphel multi-sensor cameras. It has the same physical dimensions as 10353 and may be used as an upgrade to the previous camera modules.+10393 is the system board of Elphel NC393 series camera. It is the core part of the [[Eyesis4Pi_393|Eyesis4Pi 393]], the full-sphere multi-camera system. It has the same physical dimensions as the 10353 (previous generation) and may be used as an upgrade to the previous camera modules. ==Overview== ==Overview== Line 34: Line 34: ** 2x 10-conductor flex cable ports ** 2x 10-conductor flex cable ports *** carry 3.3VDC, 5VDC, USB, I<sup>2</sup>C and GPIO *** carry 3.3VDC, 5VDC, USB, I<sup>2</sup>C and GPIO -*** support other extension boards ([[103695|IMU]], [[103696|GPS]])+*** supports other extension boards ([[103695|IMU]], [[103696|GPS]]) ====Other==== ====Other==== Oleg

Poky 2.0 manual

Wed, 01/04/2017 - 19:19

Build kernel:

← Older revision Revision as of 02:19, 5 January 2017 (11 intermediate revisions not shown)Line 2: Line 2: * Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board * Building embedded Linux image for Zynq ARMv7 platform - Elphel 10393 board  +* Yocto Poky revision = 2.0 (Jethro) -==<font color="blue">About</font>==+==<font color="blue">Features</font>==  +* Environment is set up with a single script  +* All Elphel projects are configured for Eclipse IDE:  +** fpga projects (verilog)  +** kernel  +** applications projects  +* All steps for fpga projects are run from Eclipse IDE  +** Read about [http://blog.elphel.com/2016/05/tutorial-02-eclipse-based-fpga-development-environment-for-elphel-cameras/ setting up Eclipse based FPGA development]  +** [https://github.com/Elphel/vdt-plugin VDT Plugin repository]  +   +* Once everything is built it supports updating software projects on the target system  +** access is set up in yocto's ''local.conf'' (see ''setup.py'' output) + ''ssh-copy-id''  +** ''bitbake some-app -c target_scp'' from the command line or Eclipse IDE - see examples in '''elphel-apps-...''' at [https://github.com/Elphel GitHub]  +   +==<font color="blue">Supported OSes</font>== -* Yocto Poky revision = 2.0 (Jethro)  -* Host OSes:  ** Kubuntu 14.04.3 LTS x64 (until June 2016) ** Kubuntu 14.04.3 LTS x64 (until June 2016) ** Kubuntu 16.04 x64 (as of June 2016) ** Kubuntu 16.04 x64 (as of June 2016) Line 76: Line 89:   . ./oe-init-build-env   . ./oe-init-build-env   bitbake u-boot device-tree linux-xlnx core-image-elphel393   bitbake u-boot device-tree linux-xlnx core-image-elphel393  +</font>  +  +==<font color="blue">Compare '''built''' vs '''running on target system''' software</font>==  +*  +<font size='2'>  + cd elphel393  + ./check_versions.py root@192.168.0.9 </font> </font> Line 87: Line 107: </font> </font> ====Output==== ====Output==== -* poky/build/tmp/deploy/images/<machine>/'''boot.bin'''+* '''boot.bin''' -* poky/build/tmp/deploy/images/<machine>/'''u-boot-dtb.img'''+* '''u-boot-dtb.img''' ====Notes==== ====Notes==== Line 100: Line 120: </font> </font> ====Output==== ====Output==== -* poky/build/tmp/deploy/images/<machine>/'''devicetree.dtb'''+* '''devicetree.dtb''' ==<font color="blue">Build kernel</font>== ==<font color="blue">Build kernel</font>== Line 109: Line 129: </font> </font> ====Output==== ====Output==== -* poky/build/tmp/deploy/images/<machine>/'''uImage''' (kernel)+* '''uImage''' ====Notes==== ====Notes==== Line 121: Line 141: </font> </font> ====Output==== ====Output==== -* poky/build/tmp/deploy/images/<machine>/'''uramdisk.image.gz''' (the file has *.u-boot extension after it's built)+* '''uramdisk.image.gz''' (the file has *.u-boot extension after it's built) - +* '''rootfs.ubi''' - +* '''rootfs.ubifs''' ==<font color="blue">Notes</font>== ==<font color="blue">Notes</font>== Oleg

Main Page

Wed, 01/04/2017 - 13:25

← Older revision Revision as of 20:25, 4 January 2017 Line 8: Line 8: ! colspan="4" | <h2 id="mp-itn-h2" colspan="4" style="margin:0; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Hardware (electronics)</h2> ! colspan="4" | <h2 id="mp-itn-h2" colspan="4" style="margin:0; background:#cedff2; font-size:120%; font-weight:bold; border:1px solid #a3b0bf; text-align:left; color:#000; padding:0.2em 0.4em;">Hardware (electronics)</h2> |- |- -| '''[[10393|Latest Model: 393 Cameras]]'''<br>Released Spring 2016<br/>&#8226; [[Tmp_manual|Temporary manual]]<br/>&#8226; [[Poky_2.0_manual|SDK]]<br/>&#8226; [[Elphel_camera_assemblies|Assemblies]] & [[Elphel_camera_parts_0393|parts]]+| '''[[10393|Latest Model: 393 Cameras]]'''<br>Released Spring 2016<br/>&#8226; [[Tmp_manual|User manual]]<br/>&#8226; [[Poky_2.0_manual|SDK]]<br/>&#8226; [[Elphel_camera_assemblies|Assemblies]] & [[Elphel_camera_parts_0393|parts]] | '''[[Previous Models]]'''<br> old products   | '''[[Previous Models]]'''<br> old products   |<!--| '''[[Camera Timeline]]'''<br>overview of all camera models and release dates --> |<!--| '''[[Camera Timeline]]'''<br>overview of all camera models and release dates --> Oleg

Tmp manual

Tue, 01/03/2017 - 16:40

← Older revision Revision as of 23:40, 3 January 2017 (2 intermediate revisions not shown)Line 89: Line 89: * The page contains links to camvc user interface for each individual camera port. * The page contains links to camvc user interface for each individual camera port. * camvc was ported from the 10353 camera series: * camvc was ported from the 10353 camera series: -** change parameters like image format, resolution, auto exposure, auto white balance and more.+** change parameters like image format, resolution, auto exposure, auto white balance and more. Alternative way to change parameters is described [[Tmp_manual#Change_parameters|below]]. ** pause compressor and search within buffered images ** pause compressor and search within buffered images ** help tips available - see Fig.2 - select then mouse over a control element of interest ** help tips available - see Fig.2 - select then mouse over a control element of interest Line 96: Line 96: |[[File:Controls with blank.jpeg|300px|thumb|Fig.3 camvc controls]] |[[File:Controls with blank.jpeg|300px|thumb|Fig.3 camvc controls]] |} |} -  -  ==<font color="blue">Download live images</font>== ==<font color="blue">Download live images</font>== Line 213: Line 211: -===Notes===+'''Notes:''' * parsedit.php and autocampars.php were ported from 353 camera series. There are a few changes from the originals related to 4x sensor ports: * parsedit.php and autocampars.php were ported from 353 camera series. There are a few changes from the originals related to 4x sensor ports: ** parameters are individual for each sensor port - writing parameters to multiple port at once is controlled with a (bit-)'''mask''' input box ** parameters are individual for each sensor port - writing parameters to multiple port at once is controlled with a (bit-)'''mask''' input box ** if opened w/o sensor_port specified the page will show links to available ports ** if opened w/o sensor_port specified the page will show links to available ports ** '''sensor_port=x''', where x=0..3 - in the address string - for a single sensor camera it is normally 0 ** '''sensor_port=x''', where x=0..3 - in the address string - for a single sensor camera it is normally 0  +  +  +  +==<font color="blue">Image formats</font>==  +====jpeg====  +* supported but is not the best for processing since a lot of information is lost at demosaicing  +====jp4 raw====  +* [[JP4|'''More information''']] ==<font color="blue">Temperature monitor</font>== ==<font color="blue">Temperature monitor</font>== Oleg

Tmp manual

Sun, 01/01/2017 - 22:23

Change parameters:

← Older revision Revision as of 05:23, 2 January 2017 (One intermediate revision not shown)Line 89: Line 89: * The page contains links to camvc user interface for each individual camera port. * The page contains links to camvc user interface for each individual camera port. * camvc was ported from the 10353 camera series: * camvc was ported from the 10353 camera series: -** change parameters like image format, resolution, auto exposure, auto white balance and more.+** change parameters like image format, resolution, auto exposure, auto white balance and more. Alternative way to change parameters is described [[Tmp_manual#Change_parameters|below]]. ** pause compressor and search within buffered images ** pause compressor and search within buffered images ** help tips available - see Fig.2 - select then mouse over a control element of interest ** help tips available - see Fig.2 - select then mouse over a control element of interest Line 96: Line 96: |[[File:Controls with blank.jpeg|300px|thumb|Fig.3 camvc controls]] |[[File:Controls with blank.jpeg|300px|thumb|Fig.3 camvc controls]] |} |} -  -  ==<font color="blue">Download live images</font>== ==<font color="blue">Download live images</font>== Line 213: Line 211: -===Notes===+'''Notes:''' * parsedit.php and autocampars.php were ported from 353 camera series. There are a few changes from the originals related to 4x sensor ports: * parsedit.php and autocampars.php were ported from 353 camera series. There are a few changes from the originals related to 4x sensor ports: ** parameters are individual for each sensor port - writing parameters to multiple port at once is controlled with a (bit-)'''mask''' input box ** parameters are individual for each sensor port - writing parameters to multiple port at once is controlled with a (bit-)'''mask''' input box Oleg

Pages