Difference between revisions of "Eyesis workflow"

From ElphelWiki
Jump to: navigation, search
m (Reverted edits by Oleg (talk) to last revision by Olga)
 
(One intermediate revision by the same user not shown)
Line 1: Line 1:
 
==Preface==
 
==Preface==
The following page describes the Eyesis4Pi camera software and post-processing procedures.
+
The following page describes the Eyesis camera post-processing procedures.
  
== Elphel-Eyesis GUI (recording)==
+
==Eyesis Output==
 +
[[Image:Eyesis_frames.jpg|thumb|500px|Fig.1 Eyesis frames]]
 +
* 3x HDDs, each containing *.mov files from 3x 3-sensor modules (a single HDD is connected to an individual camera module).
 +
* Each frame in a *.mov file is a combination of frames from 3 sensors glued vertically - triplet.
 +
* The modules are numbered - 1,2,3 - having individual ip address:
 +
192.168.0.221
 +
192.168.0.222
 +
192.168.0.223
 +
* The sub images are [1.1, 1.2, 1.3], [2.1, 2.2, 2.3], [3.1, 3.2, 3.3]. 3.1 is the fisheye image.
 +
* The frames in *.movs are indexed.
 +
* A single image format is JP4 (a raw format with a higher quality and frame rate against *.jpeg).
 +
* Corresponding frames have the same time stamps generated by the 1st camera.
 +
* The 1st camera frames are geotagged.
 +
 
 +
==Post-Processing Setup==
 +
* HDDs are put into a processing PC and the data is copied.
  
Elpehl-Eyesis GUI (PHP+JavaScript+HTML) is installed on the laptop and used for controlling the Eyesis camera.
+
==Workflow==
  
* [http://wiki.elphel.com/index.php?title=Eyesis_gui elphel-eyesis-gui] - camera GUI  
+
==== Elpehl-Eyesis GUI (Graphical User Interface)====
  
==Eyesis Output==
+
Elpehl-Eyesis GUI is installed on the laptop and used for controlling the Eyesis camera.
* Each frame in a *.mov file is a combination of frames from 3 sensors glued vertically - triplet.
 
* The modules are numbered - 1..8 - having individual ip address:
 
192.168.0.221-228
 
* 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 higher quality and frame rate 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 Software==
+
* [http://wiki.elphel.com/index.php?title=Eyesis_gui elphel-eyesis-gui] - camera GUI
  
 
==== Elphel Eyesis SDK software (pre-installed), for post-processing:====
 
==== Elphel Eyesis SDK software (pre-installed), for post-processing:====
sudo apt-get install apache2 php5 ufraw dcraw libjpeg-progs imagemagick hugin
+
 
* 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.
 
* [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://rsbweb.nih.gov/ij/ ImageJ] (by 3rd party) - ImageJ with Elphel plugins (image quality enhancement, color balance) 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;
+
* [http://hugin.sourceforge.net/ Hugin tools] (by 3rd party), with Elphel PHP scripts for automatic work  is used for panorama stitching;  
 +
* [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;
 
# other pre-installed PHP scripts:
 
# other pre-installed PHP scripts:
 
** exif2kml.php - extract the GPS data from images and put it all to a KML file of the route.
 
** 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]
 
** 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:
+
other:
 
* [http://ufraw.sourceforge.net/ Ufraw] (by 3rd party) - to view/process DNG/TIFF
 
* [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
 
* [http://www.cybercom.net/~dcoffin/dcraw/ Dcraw] (by 3rd party) - for converting JPEGs
* cjpeg
 
  
=====Verify installation=====
+
==== Processing panorama possible steps====
In a terminal window type & enter commands ("command not found" == not installed):
 
movie2dng
 
convert
 
nona
 
enblend
 
cjpeg --help
 
dcraw
 
  
== Post processing workflow==
+
* A stitching template *.pto should be created in [http://hugin.sourceforge.net/ Hugin] It is created once and reused later for every panorama. Elphel is providing a sample template with the camera (individual for each camera).
  
 
* Copy all the *.mov files to certain locations (folders must have the r/w rights enabled for everyone):
 
* Copy all the *.mov files to certain locations (folders must have the r/w rights enabled for everyone):
 
  Currently:
 
  Currently:
  hdd1: /data/disk-1/<footage_name>/
+
  hdd1: /data/disk/<footage_name>/
  ...
+
hdd2: /data/disk-1/<footage_name>/
hdd8: /data/disk-8/<footage_name>/
+
  hdd3: /data/disk-2/<footage_name>/
  
All the php scripts are launched from a single page:
 
 
* '''<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.
 
* '''<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 is JPEGs (optionally TIFFs). (This step can be skipped, but some other way of converting files to JPEGs is required); after that run movie2dng+dcraw, for example.
 +
* '''<nowiki>http://127.0.0.1/scripts/stitch.php?dir=<dir_name></nowiki>''' - stitch the images processed in ImageJ using [http://hugin.sourceforge.net/ Hugin tools].
 
* '''<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].

Latest revision as of 13:35, 26 March 2012

Preface

The following page describes the Eyesis camera post-processing procedures.

Eyesis Output

Fig.1 Eyesis frames
  • 3x HDDs, each containing *.mov files from 3x 3-sensor modules (a single HDD is connected to an individual camera module).
  • Each frame in a *.mov file is a combination of frames from 3 sensors glued vertically - triplet.
  • The modules are numbered - 1,2,3 - having individual ip address:
192.168.0.221 
192.168.0.222
192.168.0.223
  • The sub images are [1.1, 1.2, 1.3], [2.1, 2.2, 2.3], [3.1, 3.2, 3.3]. 3.1 is the fisheye image.
  • The frames in *.movs are indexed.
  • A single image format is JP4 (a raw format with a higher quality and frame rate against *.jpeg).
  • Corresponding frames have the same time stamps generated by the 1st camera.
  • The 1st camera frames are geotagged.

Post-Processing Setup

  • HDDs are put into a processing PC and the data is copied.

Workflow

Elpehl-Eyesis GUI (Graphical User Interface)

Elpehl-Eyesis GUI is installed on the laptop and used for controlling the Eyesis camera.

Elphel Eyesis SDK software (pre-installed), for post-processing:

  • Movie2DNG - extracting JP4 (JP4 is the Elphel raw image format) images from *.MOVs.
  • ImageJ (by 3rd party) - ImageJ with Elphel plugins (image quality enhancement, color balance) for processing JP4s to create TIFF/JPEG output;
  • Hugin tools (by 3rd party), with Elphel PHP scripts for automatic work is used for panorama stitching;
  • ImageMagick # (by 3rd party), also with a PHP scrip by Elphel is used for converting/modifying panorama JPEGs - scaling for WebGL panorama viewer;
  1. 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 Elphel WebGL Viewer

other:

  • Ufraw (by 3rd party) - to view/process DNG/TIFF
  • Dcraw (by 3rd party) - for converting JPEGs

Processing panorama possible steps

  • A stitching template *.pto should be created in Hugin It is created once and reused later for every panorama. Elphel is providing a sample template with the camera (individual for each camera).
  • Copy all the *.mov files to certain locations (folders must have the r/w rights enabled for everyone):
Currently:
hdd1: /data/disk/<footage_name>/
hdd2: /data/disk-1/<footage_name>/
hdd3: /data/disk-2/<footage_name>/
  • http://127.0.0.1/scripts/split_mov.php?dir=<footage_name> - (usage TBA) - it applies Movie2DNG to all the footage files. The output is JP4 files.
  • http://127.0.0.1/scripts/exif2kml.php?dir=<footage_name> - 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 ImageJ and process the files. The output is JPEGs (optionally TIFFs). (This step can be skipped, but some other way of converting files to JPEGs is required); after that run movie2dng+dcraw, for example.
  • http://127.0.0.1/scripts/stitch.php?dir=<dir_name> - stitch the images processed in ImageJ using Hugin tools.
  • http://127.0.0.1/scripts/convert_images_for_webgl.php?dir=<results_dir> - rescale results using ImageMagick.