Seems when a submodel is ran remotely, the MVE folder and ODM mesh are not generated compare to a locally run split merge

Dataset used is Phalaborwa. The 36 images.

I used the ClusterODM locally on Virtualbox ubuntu 16.04. NodeODM was run on another machine. I used the docker configurations.

The command ran locally was sudo docker run -ti --rm -v /$(pwd):/datasets/code opendronemap/odm --project-path /datasets --split 18 --split-overlap 75 --use-3dmesh --sm-cluster http://172.17.0.1:4000

The nodeODM command ran from the other machine was just sudo docker run -p 3000:3000 opendronemap/nodeodm.

I want to get the same folders output from the sub Model 0 ran locally and the sub Model 1.
Sub Model 1 is missing mve, odm_filterpoints, odm_meshing, odm_texturing …etc. As you can see in the images below.

Sub Model 0 ran locally
image

Sub Model 1 ran remotely.
image

This is the command prompt from the other machine that nodeODM is running:
image

I was expecting 2 sub models have the odm_texture folder and the mve folder.

Excellent question. Since ClusterODM is minimizing what needs to be transferred over the network between nodes, it only transfers (nearly) the minimum of what it needs to stitch the models back together.

If, for some reason, you need access to all the data, you can mount the data drive on your NodeODM instance like this:
docker run -p 3000:3000 -v /home/username/nodeodm:/var/www/data opendronemap/nodeodm

But the data will be there for a short period of time. After the minimum data are transfered back to ClusterODM, I believe it auto-cleans up the data on the node, but I am not positive about this. That may not happen for a few days.

1 Like

So if I want like the MVE and the Mesh output to execute on the remote and transfer back to the Local Machine , I should change the code on the ClusterODM or the NodeODM?
Seems like I should change the transfer part from the ClusterODM.
Does NodeODM and the regular ODM have the same features like about the execute MVE and the Mesh for the odm_texture.ply file?

The changes would have to be made in ClusterODM, I think, but @pierotofy would know better.

You would need to patch ODM and change the remote parameter of https://github.com/OpenDroneMap/ODM/blob/master/opendm/remote.py#L455 and https://github.com/OpenDroneMap/ODM/blob/master/opendm/remote.py#L502 to return the folders you need.

2 Likes