Skip to content

csps export_v0.4.2

Nils Hamel edited this page Aug 31, 2015 · 3 revisions

Overview

The csps-export software is used to convert data from processed CSPS structure into JSON file. The JSON file contains general information on considered CSPS processed structure and information about each camera capture such as position and orientation. It also initialize JSON fields that are modified by other softwares engage in camera raw data processing.

In other word, the generated JSON file is used as the reference information of the camera captures of a given record segment. It is then considered as reference by interfaces for raw data management.

It is also designed to be able to consider a previous JSON file in order to update its content only considering the fields that are not modified by other softwares in order to update only CSPS related fields.

Usage

The csps-export software expects the following arguments and parameters. Starting with the stream arguments and parameters :

--path -p

Path to the CSPS directory structure.

--export -e

Path to the exportation file. This path can point to the
previously created JSON file for update.

The CSPS stream tags specification are performed through the following arguments and parameters :

--cam-tag -c, --cam-mod -m

CSPS-tag of the camera device and CSPS-module to consider for
query on CSPS, respectively.

--gps-tag -g, --gps-mod -n

CSPS-tag of the GPS device and CSPS-module to consider for query
on CSPS, respectively.

--imu-tag -i, --imu-mod -s

CSPS-tag of the IMU device and CSPS-module to consider for query
on CSPS, respectively.

--still-tag -t, --still-mod -k

CSPS-tag of still range device and CSPS-module to consider for
query on CSPS, respectively.

Missing GPS signal can be managed using the following argument and parameter :

--forced -f

Allow to manually specify all the camera captures position using
the parameter that contains the longitude, latitude and altitude
separated by comas.

Demonstration

Considering a CSPS-processed structure obtained using an eyesis4pi camera device in Geneva, the following JSON output is obtained using csps-export software :

{
    "split":false,
    "preview":false,
    "trash":false,
    "pose":
    [
    {
        "still":true,
        "raw":"unknown",
        "sec":1400683814,
        "usec":523612,
        "position":null,
        "orientation":
        [
            2.4026949016698651e-01,
            9.6618697580735757e-01,
            9.2787060633467353e-02,
            -9.6088073919725547e-01,
            2.5028126416312613e-01,
            -1.1799110044227233e-01,
            -1.3724648491518088e-01,
            -6.0798024117707308e-02,
            9.8866881868411360e-01,
            0.0000000000000000e+00 
        ]
    },
    ...
    {
        "still":true,
        "raw":"unknown",
        "sec":1400683815,
        "usec":523612,
        "position":
        [
            3.8619999999999999e+02,
            6.1273933333333330e+00,
            4.6187331666666658e+01,
            0.0000000000000000e+00
        ],
        "orientation":
        [
            2.3928914551005934e-01,
            9.6656873258495390e-01,
            9.1672371427854907e-02,
            -9.6121725755232301e-01,
            2.4914782807951327e-01,
            -1.1791530456639111e-01,
            -1.3682575538259809e-01,
            -5.9895749411666158e-02,
            9.8878241753256857e-01,
            0.0000000000000000e+00 
        ]
    },
    ...
    ],
    "single":true,
    "gps":true
}

The different fields are related to FOXEL specific data storage and processing architecture. The JSON contains an header that provides three fields indicating the state of the data in FOXEL structure that are updated by other data processing softwares, typically rawdata-procedure. It also contains a footer indicating GPS signal availability and if the measure are manually specified.

The main field is an array of object each related to a single camera capture. It contains information about qualitative information on camera device motion, capture file state, the capture timestamps seconds and microseconds parts, the camera position (WGS84) and the camera orientation matrix. If the position or orientation of the camera is not available, the fields indicate null.

Compilation

The software binary can be build using its specific makefile by simply typing in its base directory :

$ make clean && make build [OPENMP=false]

The binary is placed in the local bin directory and is not copied in the main bin directory. To generate the documentation, use the command :

$ make clean-documentation && make documentation

To install or uninstall the binaries on the local computer, use the commands :

# make install
# make uninstall

Clone this wiki locally