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: 33 min 14 sec ago

Eyesis4Pi 393 workflow

Thu, 03/16/2017 - 14:54

← Older revision Revision as of 20:54, 16 March 2017 Line 1: Line 1: −==Actual Workflow==+==Workflow==     ===Footage Acquisition=== ===Footage Acquisition=== Line 7: Line 7:  |-   |-    |align="center"                    | 1 |align="center"                    | 1 −|style="padding:0px 15px 0px 15px;"| Mounting on a vehicle +|style="padding:0px 15px 0px 15px;"| Mount −|align="center"                    | 15+|align="center"                    | - −|style="padding:0px 15px 0px 15px;"| We do not provide racks or backpacks yet+|style="padding:0px 15px 0px 15px;"|    |- |-  |align="center"                    | 2 |align="center"                    | 2  |style="padding:0px 15px 0px 15px;"| Power on and boot   |style="padding:0px 15px 0px 15px;"| Power on and boot   −|align="center"                    | 1-2 +|align="center"                    | -  |style="padding:0px 15px 0px 15px;"| |style="padding:0px 15px 0px 15px;"|  |- |-  |align="center"                    | 3 |align="center"                    | 3  |style="padding:0px 15px 0px 15px;"| Network setup |style="padding:0px 15px 0px 15px;"| Network setup −|align="center"                    | 0-1+|align="center"                    | - −|style="padding:0px 15px 0px 15px;"| Needed only once. [http://linuxlibrary.org/kubuntu-network-configuration/  Kubuntu Network Configuration].+|style="padding:0px 15px 0px 15px;"| [http://linuxlibrary.org/kubuntu-network-configuration/  Kubuntu Network Configuration].  |- |-  |align="center"                    | 4 |align="center"                    | 4 −|style="padding:0px 15px 0px 15px;"| [[Eyesis4Pi_User_Guide_-_Recording|Accessing the WebGUI]]  +|style="padding:0px 15px 0px 15px;"| System tests ([[Eyesis4Pi 393 User Guide - Recording|Web GUI]]) −|align="center"                    | 0-1 +|align="center"                    | -   −|style="padding:0px 15px 0px 15px;"|The camera is controlled through a WebGUI +|style="padding:0px 15px 0px 15px;"| Optional, GPS lock,  |- |-  |align="center"                    | 5 |align="center"                    | 5 −|style="padding:0px 15px 0px 15px;"| System tests +|style="padding:0px 15px 0px 15px;"| [[Eyesis4Pi_User_Guide_-_Recording|Accessing the WebGUI]] −|align="center"                    | 0-1 +|align="center"                    | - −|style="padding:0px 15px 0px 15px;"| Optional+|style="padding:0px 15px 0px 15px;"| The camera is controlled through a WebGUI  |- |-  |align="center"                    | 6 |align="center"                    | 6 Oleg

Eyesis4Pi 393 workflow

Thu, 03/16/2017 - 14:43

Created page with "==Actual Workflow== ===Footage Acquisition=== {| class="wikitable" |- ! Step !! Description !! Time, min !! Comment |- |align="center" | 1 |style="padding..."

New page

==Actual Workflow==

===Footage Acquisition===
{| class="wikitable"
|-
! Step !! Description !! Time, min !! Comment
|-
|align="center" | 1
|style="padding:0px 15px 0px 15px;"| Mounting on a vehicle
|align="center" | 15
|style="padding:0px 15px 0px 15px;"| We do not provide racks or backpacks yet
|-
|align="center" | 2
|style="padding:0px 15px 0px 15px;"| Power on and boot
|align="center" | 1-2
|style="padding:0px 15px 0px 15px;"|
|-
|align="center" | 3
|style="padding:0px 15px 0px 15px;"| Network setup
|align="center" | 0-1
|style="padding:0px 15px 0px 15px;"| Needed only once. [http://linuxlibrary.org/kubuntu-network-configuration/ Kubuntu Network Configuration].
|-
|align="center" | 4
|style="padding:0px 15px 0px 15px;"| [[Eyesis4Pi_User_Guide_-_Recording|Accessing the WebGUI]]
|align="center" | 0-1
|style="padding:0px 15px 0px 15px;"|The camera is controlled through a WebGUI
|-
|align="center" | 5
|style="padding:0px 15px 0px 15px;"| System tests
|align="center" | 0-1
|style="padding:0px 15px 0px 15px;"| Optional
|-
|align="center" | 6
|style="padding:0px 15px 0px 15px;"| Waiting for GPS lock
|align="center" | 0-10
|style="padding:0px 15px 0px 15px;"| Cold start can take up to 10 min
|-
|align="center" | 7
|style="padding:0px 15px 0px 15px;"| Setting up paths and shooting parameters
|align="center" | 0-1
|style="padding:0px 15px 0px 15px;"| Initial settings can take longer time of course
|-
|align="center" | 8
|style="padding:0px 15px 0px 15px;"| Start recording
|align="center" | -
|style="padding:0px 15px 0px 15px;"|
|-
|align="center" | 9
|style="padding:0px 15px 0px 15px;"| Stop recording
|align="center" | -
|style="padding:0px 15px 0px 15px;"| Output:
* Images in a [[JP4|JP4]] format (a RAW format with a better quality than JPEG)
* Binary log with the IMU,GPS and Internal Timestamp records.
|-
|align="center" | 10
|style="padding:0px 15px 0px 15px;"| Downloading GPS/IMU log
|align="center" | 0-10
|style="padding:0px 15px 0px 15px;"| Download onto recording PC, depends on the file size.
|-
|align="center" | 11
|style="padding:0px 15px 0px 15px;"| Camera power off
|align="center" | 0-1
|style="padding:0px 15px 0px 15px;"| Power off the switch, unplug cables
|-
|align="center" | 12
|style="padding:0px 15px 0px 15px;"| Taking the camera off the vehicle
|align="center" | 10
|style="padding:0px 15px 0px 15px;"| If needed
|}

===Post-Processing===
{| class="wikitable"
|-
! Step !! Description !! Time, min !! Program !! Comment
|-
|align="center" | 1
|style="padding:0px 15px 0px 15px;"| Copying footage from SSDs to the PC
|align="center" | 10-30
|align="center" style="padding:0px 15px 0px 15px;"| Manual
|style="padding:0px 15px 0px 15px;"|
|-
|align="center" | 2
|style="padding:0px 15px 0px 15px;"| Selecting images for post-processing
|align="center" | -
|align="center" style="padding:0px 15px 0px 15px;"| WebGUI - [[Eyesis4Pi_Panorama_Previewer|Panorama Previewer]]
|style="padding:0px 15px 0px 15px;"| Optional, if not all the images are needed
|-
|align="center" | 3
|style="padding:0px 15px 0px 15px;"| Copying selected or all the images for post-processing
|align="center" | 10-30
|align="center" style="padding:0px 15px 0px 15px;"| WebGUI - [[Eyesis4Pi_Footage_Procedures_page|Footage Procedures]]
|style="padding:0px 15px 0px 15px;"|
|-
|align="center" | 4
|style="padding:0px 15px 0px 15px;"| Post-processing in ImageJ
|align="center" | 20-30<sup>1</sup>
|align="center" style="padding:0px 15px 0px 15px;"| [[Eyesis4pi_Post-Processing|ImageJ]]
|style="padding:5px 15px 5px 15px;"| Output: transformed according pixel map images ready for stitching and blending.
Procedures performed:
* Applying pixel mapping information
* Aberration correction
* Distortion correction
* Vignetting correction
* Color correction
* Denoising
* Sharpening
|-
|align="center" | 5
|style="padding:0px 15px 0px 15px;"| Stitching and blending
|align="center" | 2-5<sup>1</sup>
|style="padding:0px 15px 0px 15px;"| WebGUI - [[Eyesis4Pi_Footage_Procedures_page|Footage Procedures]]
|style="padding:0px 15px 0px 15px;"| Output panoramas in equirectangular projection
|-
|align="center" | 6
|style="padding:0px 15px 0px 15px;"| Preparing panoramas for WebGL Viewer
|align="center" | 2-5<sup>1</sup>
|style="padding:0px 15px 0px 15px;"| WebGUI - [[Eyesis4Pi_Footage_Procedures_page|Footage Procedures]]
|style="padding:0px 15px 0px 15px;"| Optional
|}
<sup>1</sup>- per single scene
<br><br>
==GUIs Overview==

=== WebGUI (recording)===
* PHP+JavaScript+HTML.
* Installed on the laptop or PC used for recording.

[[Eyesis4Pi_User_Guide|More info...]]
<!--
* [http://wiki.elphel.com/index.php?title=Eyesis_gui elphel-eyesis-gui] - camera GUI
-->

{|
|- valign="top"
|[[File:Recording gui settings.jpeg|thumb|500px|Recording WebGUI, settings]]
|[[File:Recording gui pattern.jpeg|thumb|700px|Recording WebGUI, preview - test pattern]]
|}

<!--
* The modules haveindividual IP address:
192.168.0.221-229
* 192.168.0.221 - master camera, sends sync signals to others.
* A single image format is JP4 (a RAW format with a better quality than *.jpeg).
* Corresponding frames have the same time stamps generated by the master camera.
* The master camera frames are geotagged.
* The IMU log is stored on 1 of the 2 Compact Flash cards (non-removable) attached to the master camera.
-->

=== Post-Processing===

====A. WebGUI part (PHP + JavaScript + HTML)====
* Copying images before processing.
* Extracting GPS coordinates from images.
* Stitching (after ImageJ).
* Formatting/resizing the results.
[[Eyesis4Pi_Footage_Procedures_page|More info...]]
{|
|[[File:Footage procedures.png|thumb|400px|Footage procedures WebGUI]]
|}

====B. ImageJ part (Java)====
* Applying pixel mapping information
* Aberration correction
* Distortion correction
* Vignetting correction
* Color correction
* Denoising
* Sharpening
[[Eyesis4pi_Post-Processing|More info...]]
{|
|- valign="top"
|[[File:Eyesis_corrections_plugin.jpeg|thumb|800px|Eyesis corrections plugin interface]]
|}

==Links==
* [[Elphel_Eyesis4Pi|Eyesis4Pi Main Article]]
* [[Eyesis4Pi_workflow|Workflow]]
* [[Eyesis4Pi_User_Guide|User Guide - Recording]]
* [[Eyesis4Pi_Footage_Procedures_page|User Guide - Post-Processing: Footage Procedures]]
* [[Eyesis4pi_Post-Processing|User Guide - Post-processing: ImageJ]]
* [[Eyesis4Pi_data_structure|Data Structure Description]]
* [[Eyesis4Pi_Calibration|Calibration Process]]

<!--
<font size='2'>
sudo apt-get install apache2 php5 ufraw dcraw libjpeg-progs imagemagick hugin
</font>
* Apache web server + php
* [http://wiki.elphel.com/index.php?title=Movie2dng Movie2DNG] - extracting JP4 (JP4 is the Elphel raw image format) images from *.MOVs.
* [[Elphel_Software_Kit_for_Ubuntu#ImageJ_and_Elphel_plugins_for_imageJ|ImageJ]] (by 3rd party) - ImageJ with Elphel plugins (image quality enhancement, aberration correction, color balance, stitching) for processing JP4s to create TIFF/JPEG output;
* [http://www.imagemagick.org/script/index.php ImageMagick] # (by 3rd party), also with a PHP scrip by Elphel is used for converting/modifying panorama JPEGs - scaling for WebGL panorama viewer/editor;
# other pre-installed PHP scripts:
** exif2kml.php - extract the GPS data from images and put it all to a KML file of the route.
** create_links_xml_file.php - read the KML file and create file with records-links of the route points. It is used in [http://eyesisbox.elphel.net/webgl-pano/geo_tests.html Elphel WebGL Viewer]

Other:
* [http://ufraw.sourceforge.net/ Ufraw] (by 3rd party) - to view/process DNG/TIFF
* [http://www.cybercom.net/~dcoffin/dcraw/ Dcraw] (by 3rd party) - for converting JPEGs
* cjpeg

=====Verify installation=====
In a terminal window type & enter commands ("command not found" == not installed):
<font size='2'>
movie2dng
convert
nona
enblend
cjpeg --help
dcraw
</font>
== Post processing workflow==

* Copy all the *.mov or *.jp4 files to certain locations (folders must have the r/w rights enabled for everyone):
<font size='2'>
/data/footage/<folder>
</font>
All the php scripts are launched from a single page - [[Eyesis4Pi_Footage_Procedures_page|Footage Procedures]]:
* '''<nowiki>http://127.0.0.1/scripts/split_mov.php?dir=<footage_name></nowiki>''' - (usage TBA) - it applies [http://wiki.elphel.com/index.php?title=Movie2dng Movie2DNG] to all the footage files. The output is JP4 files. (if needed)
* '''<nowiki>http://127.0.0.1/scripts/exif2kml.php?dir=<footage_name></nowiki>''' - it extracts the GPS data from images and puts it all to a KML file of the route. The output is a KML file.
* Launch [http://rsbweb.nih.gov/ij/ ImageJ] and process the files. The output are enhanced, stitched JPEGs (optionally TIFFs).
* '''<nowiki>http://127.0.0.1/scripts/convert_images_for_webgl.php?dir=<results_dir></nowiki>''' - rescale results using [http://www.imagemagick.org/script/index.php ImageMagick].
-->
[[Category:Eyesis4Pi]]
[[Category:User Guide]] Oleg

Eyesis4Pi 393

Thu, 03/16/2017 - 14:31

‎Operation

← Older revision Revision as of 20:31, 16 March 2017 Line 72: Line 72:     ==Operation== ==Operation== −* The system is controlled from a laptop via a [[Eyesis4Pi User Guide - Recording|web-based interface (Eyesis4Pi GUI)]]. Which also displays real-time previews and parameters.+* The system is controlled from a laptop via a [[Eyesis4Pi_393_User_Guide_-_Recording|web-based interface (Eyesis4Pi GUI)]]. Which also displays real-time previews and parameters.  * Power consumption is about 50W. * Power consumption is about 50W.  * Power supply: * Power supply: Oleg

Eyesis4Pi 393 User Guide - Recording

Thu, 03/16/2017 - 14:25

← Older revision Revision as of 20:25, 16 March 2017 (4 intermediate revisions by the same user not shown)Line 133: Line 133:  == Setting recording parameters: camera settings == == Setting recording parameters: camera settings ==    −*Check camera settings at the '''Settings''' -&gt; '''Camera'''-tab+* '''Settings''' -&gt; '''Camera'''-tab    −<font size="2"></font>  −  −<font size="2">     '''Trigger period,ms ''' - 1/FPS, 200 = 5fps, 250 = 4fps, 500 = 2fps, 1000 = 1fps...   '''Trigger period,ms ''' - 1/FPS, 200 = 5fps, 250 = 4fps, 500 = 2fps, 1000 = 1fps...  + '''HDRVexpos''' - not used.  + '''Manual Exposure''' - used when auto exposure is off.    '''AutoExp max, ms''' - the autoexposure value limit.   '''AutoExp max, ms''' - the autoexposure value limit.    '''AutoExp level''' - value of a pixel at which the autoexposure works.   '''AutoExp level''' - value of a pixel at which the autoexposure works.    '''AutoExp fracpix''' - number of pixels below the Autoexp level.   '''AutoExp fracpix''' - number of pixels below the Autoexp level.    '''AutoExp frame ahead''' - number of previous frames used for calculatin the current frame exposure.   '''AutoExp frame ahead''' - number of previous frames used for calculatin the current frame exposure.  + '''HDR mode''' - not used    '''Compression quality''' - JP4/JPEG compression quality.   '''Compression quality''' - JP4/JPEG compression quality.    − Recommended values for 1 fps:+* '''Settings''' -&gt; '''Other'''-tab − '''Trigger period''' = 1000 (ms)  −</font>     −<font size="2"></font> + Displays temperatures  + '''Normal REC''' - record to a file system  + '''Fast REC''' - record to a raw partition (default mode)  + '''Reset Fast REC''' - when Fast REC is enabled the system remembers write pointers, '''reset''' - sets the write pointer back to the beginning of the raw partiiton  + '''Reboot''' - system reboot     {| {|  |- |- −| [[Image:Camera tab.jpeg|thumb|500px]]+| [[File:Eyesis4pi393gui tab camera.png|thumb|500px]]  +| [[File:Eyesis4pi393gui tab other.png|thumb|500px]]  |} |}    −<br><br>+== Start == −   −== Recording ==      *'''Record'''-button to start recording *'''Record'''-button to start recording Line 167: Line 168:  |} |}    −<br><br> +== Stop == −   −== Stopping ==      *'''Stop'''-button for stop. *'''Stop'''-button for stop. Line 178: Line 177:  |} |}    −<br><br>  +<br>  <!-- <!--  == Downloading IMU/GPS Log == == Downloading IMU/GPS Log == Oleg

File:Eyesis4pi393gui tab other.png

Thu, 03/16/2017 - 14:02

Oleg uploaded File:Eyesis4pi393gui tab other.png

New page

== Licensing ==
{{CC }} Oleg

File:Eyesis4pi393gui tab camera.png

Thu, 03/16/2017 - 14:01

Oleg uploaded File:Eyesis4pi393gui tab camera.png

New page

== Licensing ==
{{CC }} Oleg

Eyesis4Pi 393 User Guide - Recording

Thu, 03/16/2017 - 13:38

← Older revision Revision as of 19:38, 16 March 2017 Line 199: Line 199:  == Links == == Links ==    −*[[Elphel Eyesis4Pi|Eyesis4Pi Main Article]]  +*[[Eyesis4Pi_393|Eyesis4Pi 393 Main Article]]    *[[Eyesis4Pi workflow|Workflow]]   *[[Eyesis4Pi workflow|Workflow]]    *[[Eyesis4Pi User Guide|User Guide - Recording]]   *[[Eyesis4Pi User Guide|User Guide - Recording]]   Oleg

Eyesis4Pi 393 User Guide - Recording

Thu, 03/16/2017 - 13:38

← Older revision Revision as of 19:38, 16 March 2017 (5 intermediate revisions by the same user not shown)Line 25: Line 25:     * Eyesis4Pi 393 * Eyesis4Pi 393  +* External SSD enclosure  * Switch * Switch  * PC / Laptop * PC / Laptop Line 32: Line 33:  == Power On == == Power On ==    −*Turn the switch on. +* Connect the camera's ethernet cables to the switch. −*Connect the camera's ethernet cables to the switch. Boot takes about 1 min.+* Power on: switch, SSD enclosure, Eyesis4Pi. Boot takes about 1 min.  <b> <b>    Important Notice: Use a fan to cool the camera's pole when shooting indoors.   Important Notice: Use a fan to cool the camera's pole when shooting indoors. Line 39: Line 40:  <br/><br/> <br/><br/>    −== Network Set Up ==+== Network Setup ==     *Connect the PC to the Gigabit port of the switch.   *Connect the PC to the Gigabit port of the switch.   Line 53: Line 54:  <font size="2"></font> '''''Note:''' Eyesis4Pi 393 default IP addresses: 192.168.0.161-163'' <br><br>   <font size="2"></font> '''''Note:''' Eyesis4Pi 393 default IP addresses: 192.168.0.161-163'' <br><br>       +<!--  == System Tests == == System Tests ==    Line 83: Line 85:  </font> </font>    −<font size="2"></font> <!--+<font size="2"></font>    {| {|  |- |- Line 100: Line 102:  |[[File:Cf cards.jpeg|thumb|Fig.5 CF cards]] |[[File:Cf cards.jpeg|thumb|Fig.5 CF cards]]  |} |} −--> <br> <br>  +<br> <br>   − +-->  +<!--  == Setting recording parameters: storage paths == == Setting recording parameters: storage paths ==    Line 127: Line 130:     <br><br>   <br><br>   − +-->  == Setting recording parameters: camera settings == == Setting recording parameters: camera settings ==    Line 135: Line 138:     <font size="2"> <font size="2"> −  '''Trigger period,ms ''' - 1/FPS.+  '''Trigger period,ms ''' - 1/FPS, 200 = 5fps, 250 = 4fps, 500 = 2fps, 1000 = 1fps... − '''Skip frames mask''' - hex 0x1ff - bit[8]=enable, bits[7:0] - '''1''' - record frame, '''0''' - skip frame - in an 8-frame sequence.  − '''HDRVexpos''' - in the HDR mode - the darker frame multiplication coefficient to get exposure for the lighter frame.     '''AutoExp max, ms''' - the autoexposure value limit.   '''AutoExp max, ms''' - the autoexposure value limit.    '''AutoExp level''' - value of a pixel at which the autoexposure works.   '''AutoExp level''' - value of a pixel at which the autoexposure works. Line 143: Line 144:    '''AutoExp frame ahead''' - number of previous frames used for calculatin the current frame exposure.   '''AutoExp frame ahead''' - number of previous frames used for calculatin the current frame exposure.    '''Compression quality''' - JP4/JPEG compression quality.   '''Compression quality''' - JP4/JPEG compression quality. −  − '''HDR mode''' - at the fps rate the dark and the bright images alternate.  −  − '''Skip Frames Mask''':   −  0x1ff - frames are not skipped, camera is triggered at '''Trigger period'''.  −  0x155 - the camera is triggered at '''Trigger period'''/2 but only every other frame is recorded. It makes autoexposure adapt quicker and in the '''HDR mode''' records only normally exposed images skipping the underexposed ones.        Recommended values for 1 fps:   Recommended values for 1 fps:    '''Trigger period''' = 1000 (ms)   '''Trigger period''' = 1000 (ms) − '''Skip Frames Mask''' = 0x155  − '''HDR mode''' = '''On'''   </font> </font>    Line 186: Line 179:     <br><br>   <br><br>   − +<!--  == Downloading IMU/GPS Log == == Downloading IMU/GPS Log ==    Line 192: Line 185:     <br><br>   <br><br>   − +--><!--  == Checking the Recorded Footage == == Checking the Recorded Footage ==    Line 203: Line 196:     '''''Note:''' Missing files most likely means that the FPS is too high''.   '''''Note:''' Missing files most likely means that the FPS is too high''.   − +-->  == Links == == Links ==    −*[[Elphel Eyesis4Pi|Eyesis4Pi Main Article]]  +*[[Eyesis4Pi_393|Eyesis4Pi 393 Main Article]]    *[[Eyesis4Pi workflow|Workflow]]   *[[Eyesis4Pi workflow|Workflow]]    *[[Eyesis4Pi User Guide|User Guide - Recording]]   *[[Eyesis4Pi User Guide|User Guide - Recording]]   Oleg

Eyesis4Pi 393 User Guide - Recording

Thu, 03/16/2017 - 13:18

Created page with "== Download & Install== Install GUI to the device that will be used for recording. There are several ways to install it: Terminal: cd <any-path> git clone https://github.co..."

New page

== Download & Install==
Install GUI to the device that will be used for recording. There are several ways to install it:

Terminal:
cd <any-path>
git clone https://github.com/Elphel/eyesis4pi-393-gui.git
git pull (repeat any time to get the latest)
GitHub.com:
https://github.com/Elphel/eyesis4pi-393-gui

Follow the instructions in INSTALL.txt:
1. (For Kubuntu 16.04) Install the following packages, terminal:
sudo apt-get install apache2 php5.6 php5.6-curl

2. Make the src folder visible to the web server:
2a. Create a link, terminal: "sudo ln -sf <path-to-eyesis4pi_gui-folder> /var/www/eyesisgui"
2b. Or copy all the files to /var/www/eyesisgui.
Note: "/var/www" is the (apache2) web server's document root folder.

(for recording to the device over network only)
2c. Make the footage root folder "/data/footage" writable for everyone.


== Equipment/Package ==

* Eyesis4Pi 393
* Switch
* PC / Laptop

<br/><br/>

== Power On ==

*Turn the switch on.
*Connect the camera's ethernet cables to the switch. Boot takes about 1 min.
<b>
Important Notice: Use a fan to cool the camera's pole when shooting indoors.
</b>
<br/><br/>

== Network Set Up ==

*Connect the PC to the Gigabit port of the switch.
*Configure the PC's network settings ([http://linuxlibrary.org/kubuntu-network-configuration/ Kubuntu Network Configuration Guide]):

<font size="2"></font>

<font size="2">
IP address: 192.168.0.68 (example)
Mask: 255.255.255.0
</font>

<font size="2"></font> '''''Note:''' Eyesis4Pi 393 default IP addresses: 192.168.0.161-163'' <br><br>

== System Tests ==

*Open the GUI page (the address is bookmarked in the Firefox and in the Chrome). The GUI address is:

<font size="2"></font>

<font size="2">
http://127.0.0.1/eyesisgui/index.html
</font>

<font size="2"></font>

{|
|- valign="top"
| [[Image:Recording gui settings.jpeg|thumb|500px]]
|}

*Go to the "Settings" -&gt; "Test"-tab:

*Follow the '''Open the test page'''-link, the tests are:

<font size="2"></font>

<font size="2">
1. All the modules are online.
2. GPS locked
3. IMU detected
4. Internal CF cards are present
</font>

<font size="2"></font> <!--
{|
|-
|[[File:Other tab.jpeg|400px|thumb|Fig.2 Other-tab]]
|}
{|
|-
|[[File:Eyesis4pi test pattern.jpeg|600px|thumb|Fig.3 Eyesis4Pi Test Pattern]]
|}
{|
|-
|[[File:Gps coords.jpeg|400px|thumb|Fig.4 GPS coordinates]]
|}
{|
|-
|[[File:Cf cards.jpeg|thumb|Fig.5 CF cards]]
|}
--> <br> <br>

== Setting recording parameters: storage paths ==

*Check paths at the '''Settings''' -&gt; '''Recording'''-tab

<font size="2"></font>

<font size="2">
'''Absolute footage path''' - the path to the folder where all the footage series are stored. '''Must be writable to everyone.'''
'''Series subfolder''' - created automatically
'''Files limit in a subfodler''' - number of files stored in a subfolder inside '''Series subfolder'''

'''CF card device name''' - GPS/IMU log is saved to the internal CF cards. On the master camera they are /dev/hda1 &amp; /dev/hdb1
'''GPS/IMU log file name''' - absolute path (in the master camera)+ log base name
'''Starting index''' - logs are named as follows - '''[base_name]-[index]'''
'''Records per file''' - number of records per log file. New file: an incremented index is added to the base name.
</font>

<font size="2"></font>

{|
|-
| [[Image:Recording tab.jpeg|thumb|500px]]
|}

<br><br>

== Setting recording parameters: camera settings ==

*Check camera settings at the '''Settings''' -&gt; '''Camera'''-tab

<font size="2"></font>

<font size="2">
'''Trigger period,ms ''' - 1/FPS.
'''Skip frames mask''' - hex 0x1ff - bit[8]=enable, bits[7:0] - '''1''' - record frame, '''0''' - skip frame - in an 8-frame sequence.
'''HDRVexpos''' - in the HDR mode - the darker frame multiplication coefficient to get exposure for the lighter frame.
'''AutoExp max, ms''' - the autoexposure value limit.
'''AutoExp level''' - value of a pixel at which the autoexposure works.
'''AutoExp fracpix''' - number of pixels below the Autoexp level.
'''AutoExp frame ahead''' - number of previous frames used for calculatin the current frame exposure.
'''Compression quality''' - JP4/JPEG compression quality.

'''HDR mode''' - at the fps rate the dark and the bright images alternate.

'''Skip Frames Mask''':
0x1ff - frames are not skipped, camera is triggered at '''Trigger period'''.
0x155 - the camera is triggered at '''Trigger period'''/2 but only every other frame is recorded. It makes autoexposure adapt quicker and in the '''HDR mode''' records only normally exposed images skipping the underexposed ones.

Recommended values for 1 fps:
'''Trigger period''' = 1000 (ms)
'''Skip Frames Mask''' = 0x155
'''HDR mode''' = '''On'''
</font>

<font size="2"></font>

{|
|-
| [[Image:Camera tab.jpeg|thumb|500px]]
|}

<br><br>

== Recording ==

*'''Record'''-button to start recording

{|
|-
| [[Image:Rec.jpeg|thumb|300px]]
|}

<br><br>

== Stopping ==

*'''Stop'''-button for stop.

{|
|-
| [[Image:Rec.jpeg|thumb|300px]]
|}

<br><br>

== Downloading IMU/GPS Log ==

*After stopping - go to the '''Settings''' -&gt; '''Recording'''-tab to download the IMU/GPS log.

<br><br>

== Checking the Recorded Footage ==

*Check the footage at the '''Absolute footage path''' - each panorama set should consist of 9 images named with a timestamp of when it was taken plus the index of the camera (seconds_microseconds_index.jp4):

{|
|-
| [[Image:Footage folder structure.jpeg|thumb|300px|Footage folder structure.jpeg]]
|}

'''''Note:''' Missing files most likely means that the FPS is too high''.

== Links ==

*[[Elphel Eyesis4Pi|Eyesis4Pi Main Article]]
*[[Eyesis4Pi workflow|Workflow]]
*[[Eyesis4Pi User Guide|User Guide - Recording]]
*[[Eyesis4Pi Footage Procedures page|User Guide - Post-Processing: Footage Procedures]]
*[[Eyesis4pi Post-Processing|User Guide - Post-processing: ImageJ]]
*[[Eyesis4Pi data structure|Data Structure Description]]
*[[Eyesis4Pi Calibration|Calibration Process]]
[[Category:Eyesis4Pi]]
[[Category:User Guide]] Oleg

Eyesis4Pi 393

Thu, 03/16/2017 - 12:52

‎3D Model

← Older revision Revision as of 18:52, 16 March 2017 Line 116: Line 116:  {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;" {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;"  |-   |-   −| <span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/EYESIS4PI-26-393-ASSY.x3d http://community.elphel.com/pictures/eyesis4pi/EYESIS4PI-26-393_resized_2.jpeg]</span>+| <span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/EYESIS4PI-26-393-ASSY.x3d https://community.elphel.com/pictures/eyesis4pi/EYESIS4PI-26-393_resized_2.jpeg]</span>  |- |- −| [http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/EYESIS4PI-26-393-ASSY.x3d Eyesis4PI-26-393 3D]+| [https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/EYESIS4PI-26-393-ASSY.x3d Eyesis4PI-26-393 3D]  |} |}  |} |} Oleg

User:KaitlynSalier95

Wed, 03/15/2017 - 15:59

User account KaitlynSalier95 was created

KaitlynSalier95

Template:Cad5

Mon, 03/13/2017 - 12:39

← Older revision Revision as of 18:39, 13 March 2017 Line 7: Line 7:  {| border="0" cellpadding="2" {| border="0" cellpadding="2"  |- |- −|[[Image:{{{1}}}.jpeg|thumb|<span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/files/x3d/{{{1}}}.x3d http://community.elphel.com/pictures/webx3dicon.png]</span><br/>[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||  +|[[Image:{{{1}}}.jpeg|thumb|<span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/files/x3d/{{{1}}}.x3d https://community.elphel.com/pictures/webx3dicon.png]</span><br/>[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||    |- |-  |} |} Oleg

Template:Cad4b

Mon, 03/13/2017 - 12:38

← Older revision Revision as of 18:38, 13 March 2017 Line 9: Line 9:  {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;" {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;"  |- |- −| <span class="plainlinks">[http://community.elphel.com/files/production/{{{1}}}.jpeg http://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span>+| <span class="plainlinks">[https://community.elphel.com/files/production/{{{1}}}.jpeg https://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span> −| <span class="plainlinks">[http://community.elphel.com/files/production/{{{1}}}_extra.jpeg http://community.elphel.com/files/production/{{{1}}}_extra_resized.jpeg]</span>+| <span class="plainlinks">[https://community.elphel.com/files/production/{{{1}}}_extra.jpeg https://community.elphel.com/files/production/{{{1}}}_extra_resized.jpeg]</span>  |- |-  | | −<span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/{{{1}}}.x3d http://community.elphel.com/pictures/webx3dicon.png]</span><br/>+<span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/{{{1}}}.x3d https://community.elphel.com/pictures/webx3dicon.png]</span><br/> −[http://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)]&nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)]&nbsp;&nbsp;  | |  |} |} Oleg

Template:Cad4a

Mon, 03/13/2017 - 12:37

← Older revision Revision as of 18:37, 13 March 2017 Line 9: Line 9:  {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;" {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;"  |- |- −| <span class="plainlinks">[http://community.elphel.com/files/production/{{{1}}}.jpeg http://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span>+| <span class="plainlinks">[https://community.elphel.com/files/production/{{{1}}}.jpeg https://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span>  |- |-  | | −<span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/{{{1}}}.x3d http://community.elphel.com/pictures/webx3dicon.png]</span><br/>+<span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/{{{1}}}.x3d https://community.elphel.com/pictures/webx3dicon.png]</span><br/> −[http://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)]&nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)]&nbsp;&nbsp;  |} |}  | | Oleg

Template:Cad4

Mon, 03/13/2017 - 12:36

← Older revision Revision as of 18:36, 13 March 2017 Line 7: Line 7:  {| border="0" cellpadding="2" {| border="0" cellpadding="2"  |- |- −| [[Image:{{{1}}}.jpeg|thumb|<span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/files/x3d/{{{1}}}.x3d http://community.elphel.com/pictures/webx3dicon.png]</span><br/>[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||  +| [[Image:{{{1}}}.jpeg|thumb|<span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/files/x3d/{{{1}}}.x3d https://community.elphel.com/pictures/webx3dicon.png]</span><br/>[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||    |- |-  | {{#if: {{{2|}}} | <span title="{{{2}}}" style="color:red;">Known problems</span> | &nbsp; }} | {{#if: {{{2|}}} | <span title="{{{2}}}" style="color:red;">Known problems</span> | &nbsp; }}  | |  |} |} Oleg

Template:Cad4c assembly

Mon, 03/13/2017 - 12:33

← Older revision Revision as of 18:33, 13 March 2017 Line 9: Line 9:  {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;" {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;"  |- |- −| <span class="plainlinks">[http://community.elphel.com/x3d/index.html?animate&model=/x3d/x3d_model_files/x3d/{{{1}}}-ASSY.x3d http://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span>+| <span class="plainlinks">[https://community.elphel.com/x3d/index.html?animate&model=/x3d/x3d_model_files/x3d/{{{1}}}-ASSY.x3d https://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span>  |- |-  | | −<span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d2/index.html?animate&model=/x3d/x3d_model_files/x3d/{{{1}}}-ASSY.x3d http://community.elphel.com/pictures/webx3dicon.png]</span>+<span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d2/index.html?animate&model=/x3d/x3d_model_files/x3d/{{{1}}}-ASSY.x3d https://community.elphel.com/pictures/webx3dicon.png]</span>  | |  |} |} Line 18: Line 18:  Copyright &copy; {{CURRENTYEAR}} Elphel Inc. Copyright &copy; {{CURRENTYEAR}} Elphel Inc.    −Licensed under [http://ohwr.org/cernohl CERN OHL v.1.1], [http://www.gnu.org/copyleft/fdl.html GNU FDL v.1.3]+Licensed under [https://ohwr.org/cernohl CERN OHL v.1.1], [https://www.gnu.org/copyleft/fdl.html GNU FDL v.1.3]  |- |-  |{{#if: {{{2|}}} | <span title="{{{2}}}" style="color:red;">Known problems</span> | &nbsp; }} |{{#if: {{{2|}}} | <span title="{{{2}}}" style="color:red;">Known problems</span> | &nbsp; }}  | |  |} |} Oleg

Main Page

Mon, 03/13/2017 - 12:29

‎Welcome to the Elphel Project Wiki

← Older revision Revision as of 18:29, 13 March 2017 Line 1: Line 1:  __NOTOC__   __NOTOC__    <center> <center> −= Welcome to the Elphel Project Wiki =+= Welcome to Elphel Wiki =  </center> <center>[[Image:Elphel logo 2.png]]</center>   </center> <center>[[Image:Elphel logo 2.png]]</center>      Oleg

Template:Cad4c

Thu, 03/09/2017 - 15:13

‎Usage:

← Older revision Revision as of 22:13, 9 March 2017 Line 9: Line 9:  {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;" {| border="0" cellpadding="3" style="border:1px solid lightgray;border-collapse:collapse;"  |- |- −| <span class="plainlinks">[http://community.elphel.com/files/production/{{{1}}}.jpeg http://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span>+| <span class="plainlinks">[https://community.elphel.com/files/production/{{{1}}}.jpeg https://community.elphel.com/files/production/{{{1}}}_resized.jpeg]</span>  |- |-  | | −<span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/{{{1}}}.x3d http://community.elphel.com/pictures/webx3dicon.png]</span><br/>+<span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/x3d/x3d_model_files/x3d/{{{1}}}.x3d https://community.elphel.com/pictures/webx3dicon.png]</span><br/> −[http://community.elphel.com/files/production/{{{1}}}.stl 3d (stl)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.stl 3d (stl)]&nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp;<br/>+[https://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp;<br/> −[http://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)]&nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)]&nbsp;&nbsp;  | |  |} |} Line 30: Line 30:  |- |-  |[[Image:{{{1}}}.jpeg|thumb|220px| |[[Image:{{{1}}}.jpeg|thumb|220px| −[http://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.stp.tar.gz 3d (step)]&nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)] &nbsp;&nbsp;+[https://community.elphel.com/files/production/{{{1}}}.dxf.tar.gz 2d (dxf)] &nbsp;&nbsp; −[http://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)] &nbsp;&nbsp;]]+[https://community.elphel.com/files/production/{{{1}}}.pdf        2d (pdf)] &nbsp;&nbsp;]]  |- |-  |} |}  --> --> Oleg

Template:Cad5a

Thu, 03/09/2017 - 15:11

‎Usage:

← Older revision Revision as of 22:11, 9 March 2017 Line 7: Line 7:  {| border="0" cellpadding="2" {| border="0" cellpadding="2"  |- |- −|[[Image:{{{1}}}.jpeg|thumb|<span class="plainlinks" title="View model in the Web X3D Viewer">[http://community.elphel.com/x3d/index.html?nobuttons&animate&model=/files/x3d/{{{1}}}.x3d http://community.elphel.com/pictures/webx3dicon.png]</span><br/>[[Media:{{{1}}}.stl|3d (stl)]]&nbsp;&nbsp;[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||  +|[[Image:{{{1}}}.jpeg|thumb|<span class="plainlinks" title="View model in the Web X3D Viewer">[https://community.elphel.com/x3d/index.html?nobuttons&animate&model=/files/x3d/{{{1}}}.x3d https://community.elphel.com/pictures/webx3dicon.png]</span><br/>[[Media:{{{1}}}.stl|3d (stl)]]&nbsp;&nbsp;[[Media:{{{1}}}.stp.tar.gz|3d (step)]]&nbsp;&nbsp;[[Media:{{{1}}}.dxf.tar.gz|2d (dxf)]]&nbsp;&nbsp;[[Media:{{{1}}}.pdf|2d (pdf)]]]] ||    |- |-  |} |} Oleg

Using FPGA SATA logs to debug or profile software

Wed, 03/08/2017 - 19:42

New page

SATA controller implemented in FPGA can write time stamps into specific memory region with 1/75 usec resolution. This feature called ''datascope'' was used to debug the controller itself, but it can also be used to debug or profile software. Each record in memory is a 32 bit value which is composed of a time stamp (28 lower bits) and a user defined tag (3 bits):
0x<8 + user tag><time stamp>
To add a time stamp, write a user defined tag to a specific memory location in the SATA controller's memory region. The controller will combine the tag with timer value and write it to memory.

Here is a short example of using datascope in driver's code. First, create a couple of global (for simplicity) variables, one is a pointer to the ''datascope'' register and the other is a flag (optional) which enables writing to the register:
static void __iomem *dscope_reg = NULL;
static unsigned int dscope_en = 0;

Second, create memory mapping for ''datascope'' register somewhere in start up code:

const unsigned long reg_addr = 0x80000178;

// initialize data scope
if (dscope_reg == NULL) {
dscope_reg = ioremap(reg_addr, 4);
if (dscope_reg == NULL)
printk(KERN_ERR "Can not ioremap data scope register\n");
else
dscope_en = 1;
}
}
Here, ''reg_addr'' is the ''datascope'' register address which consists of the following parts: 0x80000000 is the start address of AHCI controller memory registers, 0x100 is port 0 start address and 0x78 is one register in vendor specific register space (0x70 - 0x7f, see Serial ATA Advanced Host Controller Interface specification);

Third, remove ''datascope'' memory mapping when finished:
if (dscope_reg != NULL) {
iounmap(dscope_reg);
dscope_reg = NULL;
}

Invoke this function from code to set time stamp with tag ''tag'':
void dscope_timestamp(unsigned int cmd)
{
uint32_t data;

if (dscope_reg != NULL && dscope_en) {
data = tag & 0x7;
iowrite32(data, dscope_reg);
}
}

''Datascope'' writes time stamps to a memory region starting from 0x80001000 and occupying one memory page. In-camera python script can be used to watch the content of this memory region:
# cd /usr/local/bin/; python
>>> import x393_mem
>>> mem = x393_mem.X393Mem(1,0,1)
>>> _=mem.mem_dump(0x80001000, 100, 4)
The controller can use this memory region for debug output during its operation. If such interference is undesirable - remove AHCI driver:
modprobe -r ahci_elphel

[[Category:393]] Mikhail

Pages