Difference between revisions of "Eyesis4Pi workflow"

From ElphelWiki
Jump to: navigation, search
(Created page with "==Preface== The following page describes the Eyesis camera post-processing procedures. ==Eyesis Output== thumb|500px|Fig.1 Eyesis frames * 3x HDDs, e...")
 
Line 1: Line 1:
 
==Preface==
 
==Preface==
The following page describes the Eyesis camera post-processing procedures.
+
The following page describes the Eyesis4Pi camera software and post-processing procedures.
 +
 
 +
== Elphel-Eyesis4Pi GUI (recording)==
 +
 
 +
Elpehl-Eyesis GUI (PHP+JavaScript+HTML) is installed on the laptop and used for controlling the Eyesis camera.
 +
 
 +
* [http://wiki.elphel.com/index.php?title=Eyesis_gui elphel-eyesis-gui] - camera GUI
  
 
==Eyesis Output==
 
==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.
 
* 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:
+
* The modules are numbered - 1..8 - having individual ip address:
  192.168.0.221  
+
  192.168.0.221-228
192.168.0.222
+
* 192.168.0.221 - master camera, sends sync signals to others.
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.
 
* The frames in *.movs are indexed.
* A single image format is JP4 (a raw format with a higher quality and frame rate against *.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 1st camera.
+
* Corresponding frames have the same time stamps generated by the master camera.
* The 1st 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.
==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.
 
  
* [http://wiki.elphel.com/index.php?title=Eyesis_gui elphel-eyesis-gui] - camera GUI
+
== Post Processing Software==
  
 
==== Elphel Eyesis SDK software (pre-installed), for post-processing:====
 
==== Elphel Eyesis SDK software (pre-installed), for post-processing:====
Line 31: Line 25:
 
* Apache web server + php
 
* 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, color balance) for processing JP4s to create TIFF/JPEG output;
+
* [[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://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/editor;
* [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
Line 52: Line 45:
 
  dcraw
 
  dcraw
  
==== Processing panorama possible steps====
+
== 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-1/<footage_name>/
  hdd2: /data/disk-2/<footage_name>/
+
  ...
  hdd3: /data/disk-3/<footage_name>/
+
  hdd8: /data/disk-8/<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 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.
+
* 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/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].

Revision as of 13:28, 26 March 2012

Preface

The following page describes the Eyesis4Pi camera software and post-processing procedures.

Elphel-Eyesis4Pi GUI (recording)

Elpehl-Eyesis GUI (PHP+JavaScript+HTML) is installed on the laptop and used for controlling the Eyesis camera.

Eyesis Output

  • 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

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

In a terminal window type & enter commands ("command not found" == not installed):

movie2dng 
convert 
nona
enblend 
cjpeg --help
dcraw

Post processing workflow

  • Copy all the *.mov files to certain locations (folders must have the r/w rights enabled for everyone):
Currently:
hdd1: /data/disk-1/<footage_name>/
...
hdd8: /data/disk-8/<footage_name>/

All the php scripts are launched from a single page:

  • 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 are enhanced, stitched JPEGs (optionally TIFFs).
  • http://127.0.0.1/scripts/convert_images_for_webgl.php?dir=<results_dir> - rescale results using ImageMagick.