Eyesis4Pi 393 workflow: Difference between revisions

From ElphelWiki
Jump to navigation Jump to search
Oleg (talk | contribs)
No edit summary
Oleg (talk | contribs)
 
(18 intermediate revisions by the same user not shown)
Line 16: Line 16:
|align="center"                    | -
|align="center"                    | -
|align="center"                    | -
|align="center"                    | -
|style="padding:0px 15px 0px 15px;"| [http://linuxlibrary.org/kubuntu-network-configuration/  Kubuntu Network Configuration].
|style="padding:0px 15px 0px 15px;"| set pc ip address to, e.g., 192.168.0.68
|-
|-
|align="center"                    | 3
|align="center"                    | 3
Line 28: Line 28:
|align="center"                    | -
|align="center"                    | -
|align="center"                    | [[Eyesis4Pi 393 User Guide - Recording|Web GUI]]
|align="center"                    | [[Eyesis4Pi 393 User Guide - Recording|Web GUI]]
|style="padding:0px 15px 0px 15px;"| Initial settings can take longer time of course
|style="padding:0px 15px 0px 15px;"| Initial settings can take longer time
|-
|-
|align="center" valign="top"      | 5
|align="center" valign="top"      | 5
Line 34: Line 34:
|align="center" valign="top"      | -
|align="center" valign="top"      | -
|align="center" valign="top"      | [[Eyesis4Pi 393 User Guide - Recording|Web GUI]]  
|align="center" valign="top"      | [[Eyesis4Pi 393 User Guide - Recording|Web GUI]]  
|style="padding:0px 15px 0px 15px;"| Acquired data:
|style="padding:0px 15px 0px 15px;"| Output:
* Images in [[JP4|JP4]] format (a RAW format with a better quality than JPEG)
* Images in [[JP4|JP4]] format (a RAW format with a better quality than JPEG)
* Binary log with the IMU, GPS and Internal Timestamp records.
* Binary log with the IMU, GPS and Internal Timestamp records.
|}
|}
*'''[[Eyesis4Pi_393_User_Guide_-_Recording|User Guide: Recording]]'''.


===Download===
===Download===
Line 46: Line 48:
|align="center" valign="top"      | 1
|align="center" valign="top"      | 1
|style="padding:0px 15px 0px 15px;" valign="top" | Copy footage from SSDs to storage
|style="padding:0px 15px 0px 15px;" valign="top" | Copy footage from SSDs to storage
|align="center" valign="top"      | up to 30
|align="center" valign="top"      | -
|align="center" style="padding:0px 15px 0px 15px;" valign="top"| [https://github.com/Elphel/elphel-tools-x393 python scripts]
|align="center" style="padding:0px 15px 0px 15px;" valign="top"| [https://git.elphel.com/Elphel/elphel-tools-x393 python scripts]
|style="padding:0px 15px 0px 15px;"|
|style="padding:0px 15px 0px 15px;"|
* both, internal and external SSDs, are downloaded through SATA interface (up to 6Gbit/s)
* data from internal SSDs is downloaded through eSATA cables coming out of the camera
* data from internal SSDs is downloaded through eSATA cables coming out of the camera
* external SSDs are swappable
* external SSDs are swappable
* Output: Binary log and SSD partition files (default size: 10GB)
|}
|}
* [[Eyesis4Pi_393_Post_Processing|'''User Guide: Downloading footage''']].


===Post-Process===
===Post-Process===
Line 59: Line 65:
|-
|-
|align="center"                    | 1
|align="center"                    | 1
|style="padding:0px 15px 0px 15px;"| Copying footage from SSDs to the PC
|style="padding:0px 15px 0px 15px;"| Extract images
|align="center"                    | 10-30
|align="center"                    | -
|align="center" style="padding:0px 15px 0px 15px;"| Manual
|align="center" style="padding:0px 15px 0px 15px;"| [https://git.elphel.com/Elphel/elphel-tools-x393 extract_images.php]
|style="padding:0px 15px 0px 15px;"|
|style="padding:0px 15px 0px 15px;"| Extract individual image files from data files
|-
|-
|align="center"                    | 2
|align="center"                    | 2
|style="padding:0px 15px 0px 15px;"| Selecting images for post-processing
|style="padding:0px 15px 0px 15px;"| Post-process
|align="center"                    | -
|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]]
|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.  
|style="padding:5px 15px 5px 15px;"| Output: transformed according pixel map images ready for stitching and blending.  
Line 90: Line 84:
* Sharpening
* Sharpening
|-
|-
|align="center"                    | 5
|align="center"                    | 3
|style="padding:0px 15px 0px 15px;"| Stitching and blending
|style="padding:0px 15px 0px 15px;"| Stitch and blend
|align="center"                    | 2-5<sup>1</sup>
|align="center"                    | -
|style="padding:0px 15px 0px 15px;"| WebGUI - [[Eyesis4Pi_Footage_Procedures_page|Footage Procedures]]
|style="padding:0px 15px 0px 15px;"|  
|style="padding:0px 15px 0px 15px;"| Output panoramas in equirectangular projection
|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]]
|}
|}


<!--
== Links ==
* 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]]


*[[Eyesis4Pi_393|Eyesis4Pi 393 Main Article]]
*[[Eyesis4Pi_393_workflow|Workflow]]
*[[Eyesis4Pi_393_User_Guide_-_Recording|User Guide: Recording]]
*[[Eyesis4Pi_393_Downloading_footage|User Guide: Downloading footage]]
*[[Eyesis4Pi_393_Footage_Procedures_page|User Guide: Post-Processing selected few panoramas]]
*[[Eyesis4pi Post-Processing|User Guide - Post-processing: ImageJ]]
<!--
<!--
<font size='2'>
*[[Eyesis4Pi data structure|Data Structure Description]]  
sudo apt-get install apache2 php5 ufraw dcraw libjpeg-progs imagemagick hugin
*[[Eyesis4Pi Calibration|Calibration Process]]
</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:Eyesis4Pi393]]
[[Category:User Guide]]
[[Category:User Guide]]

Latest revision as of 20:19, 21 May 2018

Workflow

Record

Step Description Time, min Program Comment
1 Power on and boot - -
2 Network setup - - set pc ip address to, e.g., 192.168.0.68
3 System tests - Web GUI Optional
4 Set up paths and shooting parameters - Web GUI Initial settings can take longer time
5 Start/Stop recording - Web GUI Output:
  • Images in JP4 format (a RAW format with a better quality than JPEG)
  • Binary log with the IMU, GPS and Internal Timestamp records.

Download

Step Description Time, min Program Comment
1 Copy footage from SSDs to storage - python scripts
  • both, internal and external SSDs, are downloaded through SATA interface (up to 6Gbit/s)
  • data from internal SSDs is downloaded through eSATA cables coming out of the camera
  • external SSDs are swappable
  • Output: Binary log and SSD partition files (default size: 10GB)

Post-Process

Step Description Time, min Program Comment
1 Extract images - extract_images.php Extract individual image files from data files
2 Post-process - 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
3 Stitch and blend - Output: panoramas in equirectangular projection

Links