Skip to content

Terrain reconstruction method using implicit deformable model

Notifications You must be signed in to change notification settings

julesmorel/dtm_pybind11

Repository files navigation

Terrain Reconstruction from Point Clouds Using Implicit Deformable Model

Setup

Requirements

  • Linux (tested on Ubuntu 21.10)
  • PCL 1.11
  • Python 3.9.7
  • GNU Scientific Library

Build

Compile the package by running the following commands:

cmake .
make

Usage

Import the package:

import dtm

Build the implicit surface model:

  • MINIMUM_POINTS: the path to the ASCII file containing the minimum points to approximate.
  • BB_POINTS: the path to the ASCII file containing the 4 points of the minimum bounding rectangle of the minimum points.
  • MINIMUM_POINTS_NUMBER: the minimum number of points in the quadtree leaves.
  • MINIMUM_SIZE: the minimum size (in meter) of the quadtree leaves.
surface = dtm.dtm(MINIMUM_POINTS,BB_POINTS,MINIMUM_POINTS_NUMBER,MINIMUM_SIZE)

Apply the deformation to the initial implicit surface (optional):

  • NUMBER_ITERATIONS: the number of iterations of the deformable model.
  • GAMMA: the ratio adjusting the elasticity of the surface.
surface.applyDeformableModel(NUMBER_ITERATIONS,GAMMA)

Extract the surface mesh model by polygonization of the implicit surface:

  • NX, NY and NZ: the division of the polygonizer 3D grid
surface.polygonize(NX,NY,NZ)

Save the surface mesh model as an .obj:

  • OBJ_FILE: the path to the .obj file.
surface.exportDTM(OBJ_FILE)

Plot the results of each steps of the algorithm (optional):

surface.display()

Example

To run the algorithm on the testing data, simply run:

python test.py

The graphical output should be similar to the image below screenshot

About

Terrain reconstruction method using implicit deformable model

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published