Eyesis4Pi workflow: Difference between revisions

From ElphelWiki
Jump to navigation Jump to search
Oleg (talk | contribs)
No edit summary
Oleg (talk | contribs)
No edit summary
 
(33 intermediate revisions by the same user not shown)
Line 1: Line 1:
==Preface==
==Actual Workflow==
The following page describes the Eyesis4Pi camera software and post-processing procedures.


== Elphel-Eyesis4Pi GUI (recording)==
===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
|-
|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
|}


Elpehl-Eyesis GUI (PHP+JavaScript+HTML) is installed on the laptop and used for controlling the Eyesis camera.
===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  
* [http://wiki.elphel.com/index.php?title=Eyesis_gui elphel-eyesis-gui] - camera GUI  
-->


==EyesisPi Output==
{|
* Each frame in a *.mov file is a combination of frames from 3 sensors glued vertically - triplet.
|- valign="top"
* The modules are numbered - 1..8 - having individual ip address:
|[[File:Recording gui settings.jpeg|thumb|500px|Recording WebGUI, settings]]
  192.168.0.221-228
|[[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.
* 192.168.0.221 - master camera, sends sync signals to others.
* The frames in *.movs are indexed.
* A single image format is JP4 (a RAW format with a better quality than *.jpeg).
* A single image format is JP4 (a raw format with a higher quality and frame rate than *.jpeg).
* Corresponding frames have the same time stamps generated by the master camera.
* Corresponding frames have the same time stamps generated by the master camera.
* The master camera frames are geotagged.
* 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.
* 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]]
|}


== Post Processing Software==
==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]]


==== Elphel Eyesis4Pi SDK software (pre-installed), for post-processing:====
<!--
<font size='2'>
<font size='2'>
  sudo apt-get install apache2 php5 ufraw dcraw libjpeg-progs imagemagick hugin
  sudo apt-get install apache2 php5 ufraw dcraw libjpeg-progs imagemagick hugin
Line 54: Line 215:
  /data/footage/<folder>
  /data/footage/<folder>
</font>
</font>
All the php scripts are launched from a single page:
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/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.
* '''<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).
* 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].
* '''<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]]

Latest revision as of 20:20, 21 May 2018

Actual Workflow

Footage Acquisition

Step Description Time, min Comment
1 Mounting on a vehicle 15 We do not provide racks or backpacks yet
2 Power on and boot 1-2
3 Network setup 0-1 Needed only once. Kubuntu Network Configuration.
4 Accessing the WebGUI 0-1 The camera is controlled through a WebGUI
5 System tests 0-1 Optional
6 Waiting for GPS lock 0-10 Cold start can take up to 10 min
7 Setting up paths and shooting parameters 0-1 Initial settings can take longer time
8 Start recording -
9 Stop recording - Output:
  • Images in a JP4 format (a RAW format with a better quality than JPEG)
  • Binary log with the IMU,GPS and Internal Timestamp records.
10 Downloading GPS/IMU log 0-10 Download onto recording PC, depends on the file size.
11 Camera power off 0-1 Power off the switch, unplug cables
12 Taking the camera off the vehicle 10 If needed

Post-Processing

Step Description Time, min Program Comment
1 Copying footage from SSDs to the PC 10-30 Manual
2 Selecting images for post-processing - WebGUI - Panorama Previewer Optional, if not all the images are needed
3 Copying selected or all the images for post-processing 10-30 WebGUI - Footage Procedures
4 Post-processing in ImageJ 20-301 ImageJ 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
5 Stitching and blending 2-51 WebGUI - Footage Procedures Output panoramas in equirectangular projection
6 Preparing panoramas for WebGL Viewer 2-51 WebGUI - Footage Procedures Optional

1- per single scene

GUIs Overview

WebGUI (recording)

  • PHP+JavaScript+HTML.
  • Installed on the laptop or PC used for recording.

More info...

Recording WebGUI, settings
Recording WebGUI, preview - test pattern


Post-Processing

A. WebGUI part (PHP + JavaScript + HTML)

  • Copying images before processing.
  • Extracting GPS coordinates from images.
  • Stitching (after ImageJ).
  • Formatting/resizing the results.

More info...

Footage procedures WebGUI

B. ImageJ part (Java)

  • Applying pixel mapping information
  • Aberration correction
  • Distortion correction
  • Vignetting correction
  • Color correction
  • Denoising
  • Sharpening

More info...

Eyesis corrections plugin interface

Links