Working with raw image data
Processing
← Older revision Revision as of 00:30, 13 January 2018 (One intermediate revision by the same user not shown)Line 47: Line 47: The result will be a grayscale image. The result will be a grayscale image. − − ==<font color='darkblue'>Processing</font>== ==<font color='darkblue'>Processing</font>== − Open the file and process as pixel array RGGB, GRBG, GBRG or BGGR - 8 or 16 bits+Open the file and process as pixel array RGGB, GRBG, GBRG or BGGR - 8 or 16 bits [[Category:393]] [[Category:393]] [[Category:raw image data]] [[Category:raw image data]] [[Category:bayer pixel array]] [[Category:bayer pixel array]] Oleg10393 power
Example setup and cables for 48V
← Older revision Revision as of 21:45, 12 January 2018 (3 intermediate revisions by the same user not shown)Line 30: Line 30: ==Powering from batteries== ==Powering from batteries== ===12V setup=== ===12V setup=== −Power from any battery output voltage ranging 12-36V.+Power from any battery with output voltage ranging 12-36V. ===48V setup=== ===48V setup=== −Power from any battery output voltage ranging 18-75V.+Power from any battery with output voltage ranging 18-75V. ===Example setup and cables for 48V=== ===Example setup and cables for 48V=== Line 45: Line 45: File:10393 battery48v power cable.jpeg| Fig.7 Power cable File:10393 battery48v power cable.jpeg| Fig.7 Power cable File:10393 battery48v 48-to-12v converter.jpeg| Fig.8 48-to-12v DC DC converter cable File:10393 battery48v 48-to-12v converter.jpeg| Fig.8 48-to-12v DC DC converter cable − File:10393 battery48v 2.jpeg| Fig.9 Battery and power cable+ File:10393 battery48v 2.jpeg| Fig.9 48V power setup − File:10393 battery48v all connected.jpeg| Fig.10 All connected+ File:10393 battery48v all connected.jpeg| Fig.10 48V and extra 12V for something else </gallery> </gallery> [[Category:393]] [[Category:393]] OlegTmp manual
In the package
← Older revision Revision as of 21:40, 12 January 2018 (2 intermediate revisions by the same user not shown)Line 10: Line 10: |[[File:NC393-CS marked ports.jpeg|thumb|200px|Fig.1 10393 interfaces]] |[[File:NC393-CS marked ports.jpeg|thumb|200px|Fig.1 10393 interfaces]] |} |} −* Power supply wall adapter (default: 18-75V, [[10393_power|more information]] on power supply options)+* Power supply wall adapter (default: 18-75V, optional: 12-36V (excludes 18-75V), [[10393_power|more information]] on power supply options) * CAT6 network cable * CAT6 network cable * μUSB-to-USB cable * μUSB-to-USB cable Line 272: Line 272: ==<font color="blue">Other info</font>== ==<font color="blue">Other info</font>== −====Change default ip address====+===Change default ip address=== * '''nano''' or '''vi''' * '''nano''' or '''vi''' ssh root@192.168.0.9 ssh root@192.168.0.9 Line 294: Line 294: root@elphel393:~# reboot -f root@elphel393:~# reboot -f −====Set up histogram window and autoexposure parameters====+===Set up histogram window and autoexposure parameters=== [[Autoexposure|Read article]] [[Autoexposure|Read article]] −====Tools for calibrated systems====+===Tools for calibrated systems=== * [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Install ImageJ plugins]] * [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|Install ImageJ plugins]] ** decode jp4 raw format ** decode jp4 raw format Line 305: Line 305: ** '''Eyesis correction''' - post-process JP4s using calibration data ** '''Eyesis correction''' - post-process JP4s using calibration data −====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]] −====External/internal trigger and FPS control====+===External/internal trigger and FPS control=== * [[Trigger_393]] * [[Trigger_393]] ===SSD/MMC/USB formatting=== ===SSD/MMC/USB formatting=== Line 316: Line 316: * Displays sensor, compressor and buffer states per 10393 port: * Displays sensor, compressor and buffer states per 10393 port: http://192.168.0.9/pointers/ http://192.168.0.9/pointers/ +===Powering from batteries (12V or 48V)=== +[[10393_power#Powering_from_batteries| 12V and 48V power options]] ==<font color="blue">Known problems</font>== ==<font color="blue">Known problems</font>== Oleg10393 power
Example setup and cables for 48V
← Older revision Revision as of 21:32, 12 January 2018 Line 36: Line 36: ===Example setup and cables for 48V=== ===Example setup and cables for 48V=== −* ANTY BATTERY 48V 4A(ANTY or BOOANT, can be found on aliexpress).+* ANTY BATTERY 48V 4A (ANTY or BOOANT, can be found on AliExpress). Enough to power a single camera for several hours. See Fig.6. −* Power cable with an inline fuse and a switch. Is used to power the camera+* Power cable with an inline fuse and a switch, battery connector came with the battery, the outputs are 2.1mm plugs. Is used to power the camera. See Fig.7. −* Cable with a 48-to-12v converter ([https://www.digikey.com/product-detail/en/cui-inc/PYB20-Q48-S12-DIN/102-3224-ND/4477482 CUI INC PYB15-Q48-S12]). It was used to power an extra network switch which might not be needed.+* Cable with a 48-to-12v converter ([https://www.digikey.com/product-detail/en/cui-inc/PYB20-Q48-S12-DIN/102-3224-ND/4477482 CUI INC PYB15-Q48-S12]). It was used to power an extra network switch which might not be needed. See Fig.8. * The camera was connected to a laptop running on its own battery. * The camera was connected to a laptop running on its own battery. − +<gallery widths=300 heights=200 mode=nolines> <!-- caption="Setting up external tool"--> + File:10393 battery48v 1.jpeg| Fig.6 Battery + File:10393 battery48v power cable.jpeg| Fig.7 Power cable + File:10393 battery48v 48-to-12v converter.jpeg| Fig.8 48-to-12v DC DC converter cable + File:10393 battery48v 2.jpeg| Fig.9 Battery and power cable + File:10393 battery48v all connected.jpeg| Fig.10 All connected +</gallery> [[Category:393]] [[Category:393]] OlegFile:10393 battery48v power cable.jpeg
Oleg uploaded File:10393 battery48v power cable.jpeg
New page
Oleg10393 power
Powering from batteries
← Older revision Revision as of 21:11, 12 January 2018 (One intermediate revision by the same user not shown)Line 27: Line 27: |valign='top'|[[File:10393 power33 3.jpeg|thumb|320px|Fig.5 Power supply]] |valign='top'|[[File:10393 power33 3.jpeg|thumb|320px|Fig.5 Power supply]] |} |} + +==Powering from batteries== +===12V setup=== +Power from any battery output voltage ranging 12-36V. + +===48V setup=== +Power from any battery output voltage ranging 18-75V. + +===Example setup and cables for 48V=== +* ANTY BATTERY 48V 4A(ANTY or BOOANT, can be found on aliexpress). +* Power cable with an inline fuse and a switch. Is used to power the camera +* Cable with a 48-to-12v converter ([https://www.digikey.com/product-detail/en/cui-inc/PYB20-Q48-S12-DIN/102-3224-ND/4477482 CUI INC PYB15-Q48-S12]). It was used to power an extra network switch which might not be needed. +* The camera was connected to a laptop running on its own battery. + + + [[Category:393]] [[Category:393]] Oleg10393 power
Tmp manual
In the package
← Older revision Revision as of 20:31, 12 January 2018 Line 10: Line 10: |[[File:NC393-CS marked ports.jpeg|thumb|200px|Fig.1 10393 interfaces]] |[[File:NC393-CS marked ports.jpeg|thumb|200px|Fig.1 10393 interfaces]] |} |} −* Power supply wall adapter (default: 18-75V, [[10393_power|more information]])+* Power supply wall adapter (default: 18-75V, [[10393_power|more information]] on power supply options) * CAT6 network cable * CAT6 network cable * μUSB-to-USB cable * μUSB-to-USB cable OlegWorking with raw image data
Processing
← Older revision Revision as of 19:36, 12 January 2018 (14 intermediate revisions by the same user not shown)Line 1: Line 1: −==Downloading==+==<font color='darkblue'>Downloading</font>== * Available options (channels can be 0..3): * Available options (channels can be 0..3): − # set receiving buffer size in 4kB pages (thus 4096 equals to 16MB)+ <font size='2em'># set receiving buffer size in 4kB pages (thus 4096 equals to 16MB) − echo {size} > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2+ '''echo {size} > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2''' # start from the N-th frame position in buffer. Currently, 0 or 1 # start from the N-th frame position in buffer. Currently, 0 or 1 − echo 1 > /sys/devices/soc0/elphel393-videomem\@0/video_frame_number+ '''echo 1 > /sys/devices/soc0/elphel393-videomem\@0/video_frame_number''' # initiate transfer, wait for X-th frame (X - absolute frame number), 0 = no waiting # initiate transfer, wait for X-th frame (X - absolute frame number), 0 = no waiting − echo X > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2+ '''echo X > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2''' − # copy to file # copy to file − cat /dev/image_raw2 > /tmp/test.raw+ '''cat /dev/image_raw2 > /tmp/test.raw''' # see in hex # see in hex − hexdump /tmp/test.raw+ '''hexdump /tmp/test.raw''' + # copy to PC + '''scp /tmp/test.raw user@address:/path/'''</font> + +* Minimal: + + <font size='2em'>'''echo 4096 > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2''' + '''echo 0 > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2''' + '''cat /dev/image_raw2 > /tmp/test.raw'''</font> + + + +==<font color='darkblue'>Displaying</font>== +===ImageMagick=== +* Camera settings: 2592x1936 JPEG, actual valid pixels - 2596x1940, pixels read - 2608x1940: + <font size='2em'>convert -size 2608x1940 -depth 8 -endian MSB -normalize gray:test.raw -compress lzw result.tiff</font> +* Camera settings: 2592x1936 JP4, actual pixels available: 2592x1936 + <font size='2em'>convert -size 2592x1936 -depth 8 -endian MSB -normalize gray:test.raw -compress lzw result.tiff</font> + +The result is a grayscale tiff + +===bayer2rgb program=== +* Available [https://github.com/jdthomas/bayer2rgb here]. +* Camera settings: 2592x1936 JPEG: + <font size='2em'>bayer2rgb -w 2608 -v 1940 -b 8 -f GRBG -m AHD -t -i test.raw -o test.tiff</font> +The result is a colored tiff image. Pixel values are linear. + +===Python=== +* Camera settings: 2592x1936 JPEG: + <font size='2em'>''#!/usr/bin/python3'' + from PIL import Image + rawData = open("test.raw", 'rb').read() + imgSize = (2608,1940)# the image size + img = Image.frombytes('L', imgSize, rawData) + img.save("result.jpeg")# can give any format you like .png</font> − # copy to PC+The result will be a grayscale image. − scp /tmp/test.raw user@address:/path/ −* Minimal: − echo 4096 > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2+==<font color='darkblue'>Processing</font>== − echo 0 > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2+ Open the file and process as pixel array RGGB, GRBG, GBRG or BGGR - 8 or 16 bits − cat /dev/image_raw2 > /tmp/test.raw −==Previewing==+[[Category:393]] +[[Category:raw image data]] +[[Category:bayer pixel array]] OlegWorking with raw image data
Previewing
← Older revision Revision as of 18:53, 12 January 2018 (One intermediate revision by the same user not shown)Line 1: Line 1: ==Downloading== ==Downloading== * Available options (channels can be 0..3): * Available options (channels can be 0..3): − # set receiving buffer size in 4kB pages (thus 4096 equals to 16MB)+ <font size='2em'># set receiving buffer size in 4kB pages (thus 4096 equals to 16MB) − echo {size} > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2+ '''echo {size} > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2''' # start from the N-th frame position in buffer. Currently, 0 or 1 # start from the N-th frame position in buffer. Currently, 0 or 1 − echo 1 > /sys/devices/soc0/elphel393-videomem\@0/video_frame_number+ '''echo 1 > /sys/devices/soc0/elphel393-videomem\@0/video_frame_number''' # initiate transfer, wait for X-th frame (X - absolute frame number), 0 = no waiting # initiate transfer, wait for X-th frame (X - absolute frame number), 0 = no waiting − echo X > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2+ '''echo X > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2''' − # copy to file # copy to file − cat /dev/image_raw2 > /tmp/test.raw+ '''cat /dev/image_raw2 > /tmp/test.raw''' # see in hex # see in hex − hexdump /tmp/test.raw+ '''hexdump /tmp/test.raw''' − # copy to PC # copy to PC − scp /tmp/test.raw user@address:/path/+ '''scp /tmp/test.raw user@address:/path/'''</font> − * Minimal: * Minimal: − echo 4096 > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2+ <font size='2em'>'''echo 4096 > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2''' − echo 0 > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2+ '''echo 0 > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2''' − cat /dev/image_raw2 > /tmp/test.raw+ '''cat /dev/image_raw2 > /tmp/test.raw'''</font> −==Previewing==+==Displaying== OlegWorking with raw image data
Created page with "==Downloading== * Available options (channels can be 0..3): # set receiving buffer size in 4kB pages (thus 4096 equals to 16MB) echo {size} > /sys/devices/soc0/elphel393-mem..."
New page
==Downloading==* Available options (channels can be 0..3):
# set receiving buffer size in 4kB pages (thus 4096 equals to 16MB)
echo {size} > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2
# start from the N-th frame position in buffer. Currently, 0 or 1
echo 1 > /sys/devices/soc0/elphel393-videomem\@0/video_frame_number
# initiate transfer, wait for X-th frame (X - absolute frame number), 0 = no waiting
echo X > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2
# copy to file
cat /dev/image_raw2 > /tmp/test.raw
# see in hex
hexdump /tmp/test.raw
# copy to PC
scp /tmp/test.raw user@address:/path/
* Minimal:
echo 4096 > /sys/devices/soc0/elphel393-mem\@0/buffer_pages_raw_chn2
echo 0 > /sys/devices/soc0/elphel393-videomem\@0/membridge_start2
cat /dev/image_raw2 > /tmp/test.raw
==Previewing== Oleg
Features
Redirected page to Features 393
← Older revision Revision as of 03:42, 12 January 2018 Line 1: Line 1: −#REDIRECT [[Features 353]]+#REDIRECT [[Features 393]] +Legacy Features pages for legacy 353 cameras is renamed to [[Features 353]] Andrey.filippovFeatures
Andrey.filippov moved page Features to Features 353
Andrey.filippov353
Redirected page to 10393
← Older revision Revision as of 02:45, 12 January 2018 (One intermediate revision by the same user not shown)Line 1: Line 1: #REDIRECT [[10393]] #REDIRECT [[10393]] +Legacy 353 page is renamed to [[353_legacy]] Andrey.filippov353
Redirected page to 10393
← Older revision Revision as of 02:45, 12 January 2018 (2 intermediate revisions by the same user not shown)Line 1: Line 1: −#REDIRECT [[353 legacy]]+#REDIRECT [[10393]] +Legacy 353 page is renamed to [[353_legacy]] Andrey.filippov353
Redirected page to 10393
← Older revision Revision as of 02:23, 12 January 2018 Line 1: Line 1: −#REDIRECT [[353 legacy]]+#REDIRECT [[10393]] Andrey.filippov