Difference between revisions of "Eyesis4Pi workflow"
From ElphelWiki
(34 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | == | + | ==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 | ||
+ | |- | ||
+ | |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 | * [http://wiki.elphel.com/index.php?title=Eyesis_gui elphel-eyesis-gui] - camera GUI | ||
+ | --> | ||
− | = | + | {| |
− | + | |- valign="top" | |
− | * The modules | + | |[[File:Recording gui settings.jpeg|thumb|500px|Recording WebGUI, settings]] |
− | 192.168.0.221- | + | |[[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. | ||
− | + | * A single image format is JP4 (a RAW format with a better quality than *.jpeg). | |
− | * A single image format is JP4 (a | ||
* 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]] | ||
+ | |} | ||
− | ==== | + | ==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'> | <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 52: | Line 213: | ||
* Copy all the *.mov or *.jp4 files to certain locations (folders must have the r/w rights enabled for everyone): | * Copy all the *.mov or *.jp4 files to certain locations (folders must have the r/w rights enabled for everyone): | ||
<font size='2'> | <font size='2'> | ||
− | + | /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. | + | * '''<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 12:20, 21 May 2018
Contents
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:
|
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:
|
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.
Post-Processing
A. WebGUI part (PHP + JavaScript + HTML)
- Copying images before processing.
- Extracting GPS coordinates from images.
- Stitching (after ImageJ).
- Formatting/resizing the results.
B. ImageJ part (Java)
- Applying pixel mapping information
- Aberration correction
- Distortion correction
- Vignetting correction
- Color correction
- Denoising
- Sharpening