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: 8 min 6 sec ago

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

Eyesis4Pi 393 Footage Procedures page

Mon, 03/06/2017 - 19:26

Step 3:

← Older revision Revision as of 02:26, 7 March 2017 (2 intermediate revisions not shown)Line 57: Line 57:   Copies all the images into the specified directory for further processing in ImageJ. The source images can be selected for processing right at     Copies all the images into the specified directory for further processing in ImageJ. The source images can be selected for processing right at     their own directory w/o copying.   their own directory w/o copying. -* '''[[Eyesis4Pi_Panorama_Previewer|Eyesis Panorama Previewer]]'''-link+* '''[[Eyesis4Pi_393_Panorama_Previewer#Requirements|Eyesis4Pi 393 Panorama Previewer]]'''-link   Alternatively to '''Copy All''' allows to preview and copy selected panoramas for processing   Alternatively to '''Copy All''' allows to preview and copy selected panoramas for processing </font> </font> Line 108: Line 108:   Launches "enblend" from a stitch.php script for all panoramas in '''ImageJ-processed subfolder''':   Launches "enblend" from a stitch.php script for all panoramas in '''ImageJ-processed subfolder''':    ''enblend -l 10 --no-optimize --fine-mask -a -v -w -o result.tif 1334546768_780764-*_EQR.tiff 1334546768_780764-*_EQR-*.tiff''    ''enblend -l 10 --no-optimize --fine-mask -a -v -w -o result.tif 1334546768_780764-*_EQR.tiff 1334546768_780764-*_EQR-*.tiff''  +  +'''Note:''' The output is an equirectangular projection of the whole panorama in jpeg format. Quick previews:  + * Drag and drop to [http://community.elphel.com/files/eyesis4pi-393/demos/threejs/index.html?file=result_1343349274_575238-0-25-1.jpeg threejs demo] * Split images for WebGL Editor (<1min/set) * Split images for WebGL Editor (<1min/set) Oleg

Eyesis4Pi 393 Panorama Previewer

Mon, 03/06/2017 - 18:32

Requirements:

New page

==Description==
This WebUI made for previewing unstitched Eyesis4Pi footage - JP4s or JPEGs. It can be used for selecting panoramas - if all the panoramas are to be processed than using it is not necessary.
{|
|- valign="top"
|[[File:Previewer_snapshot1.jpeg|thumb|500px|Previewer snapshot. 24 head sensors]]
|}

==Requirements==
* Linux OS ([http://www.kubuntu.org/ Kubuntu] preferably).
* [http://www.apache.org/ Apache2] web server.
* PHP

==Source==
Available for direct downloading from the [https://github.com/Elphel/eyesis4pi393-panorama-previewer.git GitHub] or from a terminal window provided GIT client is installed:
<font size='2'>
git clone https://github.com/Elphel/eyesis4pi393-panorama-previewer.git panorama_preview
</font>

==User Guide==
===Install===
* Clone the repository.
* Install the required software.
* Create a link from the web server root path to the source folder.
* Place footage to '''/data/footage/FOOTAGE_NAME'''.
* Extract a KML file from the '''Footage Procedures''' page.

===Work===
* Select the footage series in the '''Choose Date''' drop down menu.
* Use map and '''Image number''' for navigation.
* Use copy button to move the selected preview to the processing directory.

[[Category:Eyesis4Pi 393]]
[[Category:User Guide]] Oleg

Eyesis4Pi 393 Footage Procedures page

Mon, 03/06/2017 - 18:15

Created page with "<br/><br/> ==Procedures== * Copying images before processing. * Extracting GPS coordinates from the images' EXIF headers. * Stitching the panorama sets processed in ImageJ into e..."

New page

<br/><br/>
==Procedures==
* Copying images before processing.
* Extracting GPS coordinates from the images' EXIF headers.
* Stitching the panorama sets processed in ImageJ into equirectangular projection format.
* Formatting/resizing the results.

==WebGUI screenshot==
'''Note:''' ''ImageJ is not included into the WebGUI at the moment because it's not yet modified for launching from a browser.''
{|
|[[File:Footage procedures.png|thumb|400px|Footage procedures WebGUI]]
|}

==System requirements==
* Linux OS ([http://www.kubuntu.org/ Kubuntu] preferably).
* [http://www.apache.org/ Apache2] web server.
* [http://php.net/ PHP] (5.6.x, not 7)
* [http://www.imagemagick.org/script/index.php ImageMagick] - ''convert''.
* [http://hugin.sourceforge.net/ Hugin tools] - ''enblend''.

==Download==
Available for direct downloading from the [https://github.com/Elphel/eyesis4pi393-footage-procedures.git GitHub] or from a terminal window provided the GIT is installed:
<font size='2'>
git clone https://github.com/Elphel/eyesis4pi393-footage-procedures.git footage_procedures
</font>

==Installation==
* Clone the repository.
* Install the required software.
* Create a link from the web server root path to the source folder. Terminal window example:
<font size="2">
sudo ln -sf /<PATH_TO_FOOTAGE_PROCEDURES>/footage_procedures /<WEB_SERVER_ROOT_DIR>/footage_procedures
</font>
* It is assumed that the footage series are located at:
<font size='2'>
'''/data/footage/FOOTAGE1'''
'''/data/footage/FOOTAGE2'''
...
</font>

==Working==
===Step 1===
{|
|[[File:Fpstep1.jpeg|thumb|820px|Step 1]]
|}
<font size='2'>
* '''Processing folder'''-input
A folder at "/data/footage" with the footage in subfolders. Normally a one subfolder per SSD will be created by the downloading script. The splitting script will search one directory down
* '''Split All *.movs'''-button ('''If footage is recorded to the SSDs, internal or external''')
Splits all '''*.mov''' files in '''/data/footage/FOOTAGE1/N/''', where directory N contains *.movs, *.imgs or *.bins from the N-th SSD. The results are placed into '''/data/footage/FOOTAGE1/0''' as if the footage was recorded onto PC.
* '''Filter Out Images with Non-Matching Timestamps'''-button
Filters out uncomplete panoramas (missing files).
* '''Generate KML'''-button
Creates a KML file (map_points.kml in the '''/data/footage/FOOTAGE1''') for the '''Eyesis Panorama Previewer'''.
'''Note:''' '''''/data/footage/FOOTAGE1''' directory should have r/w rights for the map could be saved in there.''
* '''Copy All'''-button
Copies all the images into the specified directory for further processing in ImageJ. The source images can be selected for processing right at
their own directory w/o copying.
* '''[[Eyesis4Pi_Panorama_Previewer|Eyesis Panorama Previewer]]'''-link
Alternatively to '''Copy All''' allows to preview and copy selected panoramas for processing
</font>
<br/><br/>

===Step 2===
{|
|[[File:Fpstep2.jpeg|thumb|820px|Step 2]]
|}

* N/A means only that it's not available in the WebGUI
* Please read an article about [[Eyesis4pi_Post-Processing|Post-Processing in ImageJ]].

<!--
====Manual launch instructions (subject to changes soon)====
* Launch ImageJ -> Plugins -> Compile & Run. Find and select '''EyesisCorrections.java'''.
{|
|- valign="top"
|[[File:Eyesis_corrections_plugin.jpeg|thumb|800px|Eyesis corrections plugin interface]]
|}
* '''Restore''' button -> browse for default.corr-xml.
* '''Configure correction''' button - make sure that the following paths are set correctly:
<font size='2'>
'''Source files directory''' - directory with the footage images
'''Sensor calibration directory''' - [YOUR-PATH]/sensor_calibration_files
'''Aberration kernels (sharp) directory''' - [YOUR-PATH]/kernels/sharp
'''Aberration kernels (smooth) directory''' - [YOUR-PATH]/kernels/smooth
'''Equirectangular maps directory(may be empty)''' - [YOUR-PATH]/kernels/eqr (it should be created automatically if the w/r rights of [YOUR-PATH]/kernels allow)

* '''Configure warping''' -> rebuild map files - this will create maps in [YOUR-PATH]/kernels/eqr. Will take ~5-10 minutes.
* '''Select source files''' -> select all the footage files to be processed.
* '''Process files''' to start the processing. Depending on the PC power can take ~30 minutes for a panorama of 19 images.
-->
<br/><br/>
===Step 3===
{|
|[[File:Fpstep3.jpeg|thumb|820px|Step 3]]
|}
<font size="2">
* '''Processing root folder'''-input
A root folder for post-processing - absolute path

* '''Sources subfolder'''-input
A folder with the JP4 source images in the '''Processing root folder''' - the sources are used for GPS data extraction.

* '''ImageJ-processed subfolder'''-input
A folder with the ImageJ plugin post-processing results to be stitched.

* '''Stitch'''-button (~3min/set)
Launches "enblend" from a stitch.php script for all panoramas in '''ImageJ-processed subfolder''':
''enblend -l 10 --no-optimize --fine-mask -a -v -w -o result.tif 1334546768_780764-*_EQR.tiff 1334546768_780764-*_EQR-*.tiff''

* Split images for WebGL Editor (<1min/set)
Cuts stitched panoramas into 8 pieces for the WebGL Editor.
{|
|[[File:Testcut.jpeg|thumb|400px|Tiles for the WebGL Editor]]
|}

* '''Compress images for Google Earth'''-button (~5sec/set)
Creates rescaled low resolution panoramas - so the KML file could be opened from Google Earth.

* '''Generate KML for the WebGL Editor'''-button (quick)
Scans all the source images in the '''Sources subfolder''' and creates a KML file with the GPS data. The file is saved into the '''Processing root folder'''

* '''Path prefix inside KML'''-input
Adds this prefix to the file name to make the final http link.
'''Note''': "published" images should be accessible at this path (locally '''/<web_server_root>/panoramas/''' = '''/<webgl-editor-path>/images/''')

* '''Visibility'''-input
Tag inside the KML telling the Editor whether to show the panorama as a camera model ("1") or not ("0"). Use "1".

* '''Starting Index'''-input
KML records names.

* After images are split and KML is generated the results will be in the '''Processing root folder''' ready to be copied to the WebGL editor.
1. map.kml -> '''/<webgl_editor_path>/kml_files/'''
2. Splitted images -> '''/<webgl_editor_path>/images/'''
3. In the browser go to <webgl_editor_web_path>/pano_index.html
4. Don't forget to set up the database for the WebGL Editor - [[Eyesis_Panorama_Database|guide]].

</font>

==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

Pages