Steps to produce only "reconstruction.json"

Dear ODM community,

I was wondering on how the reconstruction.json file is generated in the ODM processing pipeline. More specifically I was interested in the rotation & translation parameter in the trajectory generated by the OpenSFM algorithm. The rotation & translation parameter in question can be seen in the snippet below (this is one of the image from the zoo dataset, and the reconstruction.json was generated after a successful run of ODM).

"DSC01697.JPG": {
            ...
            "rotation": [
                -2.186851194543431, 
                2.2019867696750857, 
                -0.1579245439010709
            ], 
            "translation": [
                10.401283803998144, 
                -129.92227486165226, 
                295.0198007286047
            ], 
            "capture_time": 1477384174.0
        }, 

I would like to use ODM to gather the rotation & translation parameter of the images in a dataset. The reason why:

  • I am trying to do a performance comparison of ODM with the Map2DFusion algorithm referenced here in this forum. Right now, I am able to run Map2DFusion with the provided dataset but then I would like to use other dataset (e.g.: senseFly Industrial Estate Dataset) to do the comparison.
  • I am at the state where I am able to understand what the trajectory.txt in Map2DFusion means but I am stuck at figuring out how the author of Map2DFusion were able to calculate the tx ty and tz in the trajectory.txt (I’ve emailed the Map2DFusion author with no luck). I’ve tried various suggestion in other forum and various code on github but I just can’t get the number of tx ty and tz quite right.

Any comments or input is appreciated. Many thanks!

Best Regards,
Timmy

Perhaps this can help. https://github.com/pierotofy/node-map2dfusion/blob/master/exif_to_camera.js#L103

It’s a project stub to generate the trajectory.txt file from the EXIF data of images. Not exactly what you’re looking for, but could be a start…

Hi Pierotofy,

Actually, I had checked your repo as well.
I had been able to reproduce from LLA into XYZ from here, but as per my understanding, values stored in the trajectory (the output) is tx ty and tz right? This is the one I am unable to understand.

Anyway, can you help me how to run your codes? I am not familiar with JS language.

Regards,
Ardi