Main function: line reconstruction given depths

limap.runners.line_fitnmerge.fit_3d_segs(all_2d_segs, imagecols, depths, fitting_config)

Fit 3D line segments over points produced by depth unprojection

Parameters:
  • all_2d_segs (dict[int -> np.adarray]) – All the 2D line segments for each image

  • imagecols (limap.base.ImageCollection) – The image collection of all images of interest

  • depths (dict[int -> CustomizedDepthReader], where CustomizedDepthReader inherits limap.base.depth_reader_base.BaseDepthReader) – The depth map readers for each image

  • fitting_config (dict) – Configuration, fields refer to cfgs/examples/fitting_3Dline.yaml

Returns:

for each image, output a list of np.array pair, representing two endpoints

Return type:

output (dict[int -> list[(np.array, np.array)]])

limap.runners.line_fitnmerge.fit_3d_segs_with_points3d(all_2d_segs, imagecols, p3d_reader, fitting_config, inloc_dataset=None)

Fit 3D line segments over a set of 3D points

Parameters:
  • all_2d_segs (dict[int -> np.adarray]) – All the 2D line segments for each image

  • imagecols (limap.base.ImageCollection) – The image collection of all images of interest

  • p3d_reader (dict[int -> CustomizedP3DReader], where CustomizedP3DReader inherits limap.base.p3d_reader_base.BaseP3DReader) – The point cloud readers for each image

  • fitting_config (dict) – Configuration, fields refer to cfgs/examples/fitting_3Dline.yaml

Returns:

for each image, output a list of np.array pair, representing two endpoints

Return type:

output (dict[int -> list[(np.array, np.array)]])

limap.runners.line_fitnmerge.line_fitnmerge(cfg, imagecols, depths, neighbors=None, ranges=None)

Line reconstruction over multi-view RGB images given depths

Parameters:
  • cfg (dict) – Configuration. Fields refer to cfgs/fitnmerge/default.yaml as an example

  • imagecols (limap.base.ImageCollection) – The image collection corresponding to all the images of interest

  • depths (dict[int -> CustomizedDepthReader], where CustomizedDepthReader inherits limap.base.depth_reader_base.BaseDepthReader) – The depth map readers for each image

  • neighbors (dict[int -> list[int]], optional) – visual neighbors for each image. By default we compute neighbor information from the covisibility of COLMAP triangulation.

  • ranges (pair of np.array each of shape (3,), optional) – robust 3D ranges for the scene. By default we compute range information from the COLMAP triangulation.

Returns:

list of output 3D line tracks

Return type:

list[limap.base.LineTrack]

limap.runners.line_fitnmerge.line_fitting_with_3Dpoints(cfg, imagecols, p3d_readers, inloc_read_transformations=False)

Line reconstruction over multi-view images with its point cloud

Parameters:
  • cfg (dict) – Configuration. Fields refer to cfgs/fitnmerge/default.yaml as an example

  • imagecols (limap.base.ImageCollection) – The image collection corresponding to all the images of interest

  • p3d_reader (dict[int -> CustomizedP3DReader], where CustomizedP3DReader inherits limap.base.p3d_reader_base.BaseP3DReader) – The point cloud readers for each image

  • neighbors (dict[int -> list[int]], optional) – visual neighbors for each image. By default we compute neighbor information from the covisibility of COLMAP triangulation.

  • ranges (pair of np.array each of shape (3,), optional) – robust 3D ranges for the scene. By default we compute range information from the COLMAP triangulation.

Returns:

list of output 3D line tracks

Return type:

list[limap.base.LineTrack]