Resolution of underlying surface model with 2.5D mesh

@pierotofy: I am curious what the underlying resolution is for the 2.5D mesh creation?

See --mesh-resolution:

  --mesh-resolution <positive float>
                        Size of the interpolated surface model used for
                        deriving the 2.5D mesh, expressed in pixels per meter.
                        Higher values work better for complex or urban
                        terrains. Lower values work better on flat areas.
                        Resolution has no effect on the number of vertices,
                        but high values can severely impact runtime speed and
                        memory usage. When set to zero, the program
                        automatically attempts to find a good value based on
                        the point cloud extent and target vertex count

When set to 0 (default) that value is computed with:

	if (resolution == 0.0){
		resolution = (double)maxVertexCount / (sqrt(extentX * extentY) * 75.0);
		log << "Automatically set resolution to " << std::fixed << resolution << "\n";
	}

https://github.com/OpenDroneMap/OpenDroneMap/blob/master/modules/odm_25dmeshing/src/Odm25dMeshing.cpp#L147

Insider tip, there’s a undocumented flag in the 2.5D mesh program that lets you export the interpolated DSM by setting the -outputDsmFile argument. https://github.com/OpenDroneMap/OpenDroneMap/blob/master/modules/odm_25dmeshing/src/Odm25dMeshing.cpp#L437

1 Like

That was going to be my next question… .

I assume that’s not exposed through to ODM but just in the underlying utility.

Correct.

1 Like