Skip to content

zinsmatt/3D-Curved-Surfaces-Segmentation

Repository files navigation

TopCoder Marathon Match: Fault Detection in a 3D Seismic Volume (3rd place)

(Link to challenge)

The goal of this challenge was to detect and segment faults (curved surfaces) from 3D seismic volume data. My solution is based on point cloud analysis with PCL. The algorithms were developed in C++ and a dockerized version of the code is provided.

The program takes a 3D Fault Likelihood volume as input, transforms it into a point cloud, segments curved surfaces and creates separate meshes.

Dependencies

  • PCL
  • Eigen3
  • segyio
  • NumPy
  • PyMeshFix

Building and Running Docker version

 docker build -t image_name .
 docker run -v path_to/training/inputs/:/input -v path_to/results/:/output image_name /input /output