cars.applications.triangulation.line_of_sight_intersection
this module contains the dense_matching application class.
Module Contents
Classes
Triangulation |
Functions
|
Compute points clouds from image objects and disparity objects. |
- class cars.applications.triangulation.line_of_sight_intersection.LineOfSightIntersection(conf=None)
Bases:
cars.applications.triangulation.triangulation.Triangulation
Triangulation
- check_conf(conf)
Check configuration
- Parameters
conf (dict) – configuration to check
- Returns
overloaded configuration
- Return type
dict
- get_geometry_loader()
- run(sensor_image_left, sensor_image_right, epipolar_images_left, epipolar_images_right, grid_left, grid_right, epipolar_disparity_map_left, epipolar_disparity_map_right, epsg, orchestrator=None, pair_folder=None, pair_key='PAIR_0', uncorrected_grid_right=None, geoid_path=None, disp_min=0, disp_max=0)
Run Triangulation application.
Created left and right CarsDataset filled with xarray.Dataset, corresponding to 3D points clouds, stored on epipolar geometry grid.
- Parameters
sensor_image_left (CarsDataset) – tiled sensor left image Dict Must contain keys : “image”, “color”, “geomodel”, “no_data”, “mask”. Paths must be absolutes
sensor_image_right (CarsDataset) – tiled sensor right image Dict Must contain keys : “image”, “color”, “geomodel”, “no_data”, “mask”. Paths must be absolutes
epipolar_images_left (CarsDataset) – tiled epipolar left image
epipolar_images_right (CarsDataset) – tiled epipolar right image
grid_left –
left epipolar grid. Grid CarsDataset contains :
A single tile stored in [0,0], containing a (N, M, 2) shape array in xarray Dataset
Attributes containing: “grid_spacing”, “grid_origin”, “epipolar_size_x”, epipolar_size_y”, “epipolar_origin_x”, “epipolar_origin_y”,”epipolar_spacing_x”, “epipolar_spacing”, “disp_to_alt_ratio”, :type grid_left: CarsDataset
grid_right (CarsDataset) –
right epipolar grid. Grid CarsDataset contains :
- A single tile stored in [0,0], containing a (N, M, 2) shape
array in xarray Dataset
- Attributes containing: “grid_spacing”, “grid_origin”,
”epipolar_size_x”, epipolar_size_y”, “epipolar_origin_x”, “epipolar_origin_y”,”epipolar_spacing_x”, “epipolar_spacing”, “disp_to_alt_ratio”,
epipolar_disparity_map_left (CarsDataset) –
tiled left disparity map or sparse matches:
if CarsDataset is instance of “arrays”, CarsDataset contains:
N x M Delayed tiles Each tile will be a future xarray Dataset containing:
data with keys : “disp”, “disp_msk”
attrs with keys: profile, window, overlaps
attributes containing:”largest_epipolar_region” “opt_epipolar_tile_size”,”epipolar_regions_grid”
if CarsDataset is instance of “points”, CarsDataset contains:
N x M Delayed tiles Each tile will be a future pandas DataFrame containing:
data : (L, 4) shape matches
attributes containing:”disp_lower_bound”,”disp_upper_bound”, “elevation_delta_lower_bound”,”elevation_delta_upper_bound”
epipolar_disparity_map_right (CarsDataset) – tiled right disparity map or sparse matches
orchestrator – orchestrator used
pair_folder (str) – folder used for current pair
pair_key (str) – pair key id
uncorrected_grid_right (CarsDataset) – not corrected right epipolar grid used if self.snap_to_img1
geoid_path (str) – geoid path
disp_min (int) – minimum disparity
disp_max (int) – maximum disparity
- Returns
left points cloud, right points cloud. Each CarsDataset contains:
N x M Delayed tiles Each tile will be a future xarray Dataset containing:
data : with keys : “x”, “y”, “z”, “corr_msk” optional: “color”, “msk”,
attrs with keys: “margins”, “epi_full_size”, “epsg”
attributes containing: “disp_lower_bound”, “disp_upper_bound”, “elevation_delta_lower_bound”,”elevation_delta_upper_bound”
- Return type
Tuple(CarsDataset, CarsDataset)
- cars.applications.triangulation.line_of_sight_intersection.compute_points_cloud(left_image_object: xarray.Dataset, right_image_object: xarray.Dataset, left_disparity_object: xarray.Dataset, right_disparity_object: xarray.Dataset, input_stereo_cfg: dict, geometry_loader: str, geoid_data: xarray.Dataset = None, snap_to_img1: bool = False, add_msk_info: bool = False, saving_info_left=None, saving_info_right=None) Dict[str, Tuple[xarray.Dataset, xarray.Dataset]]
Compute points clouds from image objects and disparity objects.
- Parameters
left_image_object –
Left image dataset with :
cst.EPI_IMAGE
cst.EPI_MSK (if given)
cst.EPI_COLOR (for left, if given)
right_image_object (xr.Dataset) – Right image
left_disparity_object (xr.Dataset) –
Left disparity map dataset with :
cst_disp.MAP
cst_disp.VALID
cst.EPI_COLOR
right_disparity_object (xr.Dataset) –
Right disparity map dataset (None if use_sec_disp not activated) with :
cst_disp.MAP
cst_disp.VALID
cst.EPI_COLOR
input_stereo_cfg (dict) – Configuration for stereo processing
geometry_loader (str) – name of geometry loader to use
geoid_data (str) – Geoid used for altimetric reference. Defaults to None for using ellipsoid as altimetric reference.
snap_to_img1 (bool) – If True, Lines of Sight of img2 are moved so as to cross those of img1
add_msk_info (bool) – boolean enabling the addition of the masks’ information in the point clouds final dataset
- Returns
Left disparity object, Right disparity object (if exists)
Returned objects are composed of :
dataset (None for right object if use_sec_disp not activated) with :
cst.X
cst.Y
cst.Z
cst.EPI_COLOR