cars 1.0.0a2__cp312-cp312-win_amd64.whl → 1.0.0a4__cp312-cp312-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of cars might be problematic. Click here for more details.
- cars/__init__.py +3 -3
- cars/applications/__init__.py +0 -3
- cars/applications/application.py +14 -6
- cars/applications/application_template.py +42 -0
- cars/applications/auxiliary_filling/abstract_auxiliary_filling_app.py +12 -2
- cars/applications/auxiliary_filling/auxiliary_filling_algo.py +2 -2
- cars/applications/auxiliary_filling/auxiliary_filling_from_sensors_app.py +95 -46
- cars/applications/auxiliary_filling/auxiliary_filling_wrappers.py +7 -6
- cars/applications/dem_generation/abstract_dem_generation_app.py +9 -5
- cars/applications/dem_generation/dem_generation_algo.py +1 -1
- cars/applications/dem_generation/dem_generation_wrappers.py +44 -59
- cars/applications/dem_generation/dichotomic_generation_app.py +9 -6
- cars/applications/dem_generation/rasterization_app.py +112 -43
- cars/applications/dense_match_filling/__init__.py +1 -1
- cars/applications/dense_match_filling/abstract_dense_match_filling_app.py +2 -15
- cars/applications/dense_match_filling/fill_disp_algo.py +32 -373
- cars/applications/dense_match_filling/fill_disp_wrappers.py +0 -343
- cars/applications/dense_match_filling/zero_padding_app.py +10 -5
- cars/applications/dense_matching/abstract_dense_matching_app.py +2 -1
- cars/applications/dense_matching/census_mccnn_sgm_app.py +48 -60
- cars/applications/dense_matching/cpp/dense_matching_cpp.cp312-win_amd64.dll.a +0 -0
- cars/applications/dense_matching/cpp/dense_matching_cpp.cp312-win_amd64.pyd +0 -0
- cars/applications/dense_matching/dense_matching_algo.py +48 -14
- cars/applications/dense_matching/dense_matching_wrappers.py +11 -3
- cars/applications/dense_matching/disparity_grid_algo.py +95 -79
- cars/applications/dense_matching/loaders/config_mapping.json +13 -0
- cars/applications/dense_matching/loaders/global_land_cover_map.tif +0 -0
- cars/applications/dense_matching/loaders/pandora_loader.py +169 -34
- cars/applications/dsm_filling/border_interpolation_app.py +11 -12
- cars/applications/dsm_filling/bulldozer_filling_app.py +16 -15
- cars/applications/dsm_filling/exogenous_filling_app.py +14 -14
- cars/applications/grid_generation/abstract_grid_generation_app.py +1 -1
- cars/applications/grid_generation/epipolar_grid_generation_app.py +4 -2
- cars/applications/grid_generation/grid_correction_app.py +4 -1
- cars/applications/grid_generation/grid_generation_algo.py +7 -2
- cars/applications/ground_truth_reprojection/abstract_ground_truth_reprojection_app.py +1 -1
- cars/applications/ground_truth_reprojection/direct_localization_app.py +2 -2
- cars/applications/ground_truth_reprojection/ground_truth_reprojection_algo.py +2 -1
- cars/applications/point_cloud_fusion/abstract_pc_fusion_app.py +0 -155
- cars/applications/point_cloud_fusion/mapping_to_terrain_tiles_app.py +0 -658
- cars/applications/point_cloud_fusion/pc_fusion_algo.py +0 -1339
- cars/applications/point_cloud_fusion/pc_fusion_wrappers.py +0 -869
- cars/applications/point_cloud_outlier_removal/abstract_outlier_removal_app.py +11 -6
- cars/applications/point_cloud_outlier_removal/outlier_removal_algo.py +9 -8
- cars/applications/point_cloud_outlier_removal/small_components_app.py +101 -270
- cars/applications/point_cloud_outlier_removal/statistical_app.py +120 -277
- cars/applications/rasterization/abstract_pc_rasterization_app.py +2 -1
- cars/applications/rasterization/rasterization_algo.py +18 -6
- cars/applications/rasterization/rasterization_wrappers.py +2 -1
- cars/applications/rasterization/simple_gaussian_app.py +88 -116
- cars/applications/resampling/abstract_resampling_app.py +1 -1
- cars/applications/resampling/bicubic_resampling_app.py +3 -1
- cars/applications/resampling/resampling_algo.py +60 -53
- cars/applications/resampling/resampling_wrappers.py +3 -1
- cars/applications/sparse_matching/abstract_sparse_matching_app.py +1 -1
- cars/applications/sparse_matching/sift_app.py +5 -25
- cars/applications/sparse_matching/sparse_matching_algo.py +3 -2
- cars/applications/sparse_matching/sparse_matching_wrappers.py +1 -1
- cars/applications/triangulation/abstract_triangulation_app.py +1 -1
- cars/applications/triangulation/line_of_sight_intersection_app.py +13 -11
- cars/applications/triangulation/pc_transform.py +552 -0
- cars/applications/triangulation/triangulation_algo.py +6 -4
- cars/applications/triangulation/triangulation_wrappers.py +1 -0
- cars/bundleadjustment.py +6 -6
- cars/cars.py +11 -9
- cars/core/cars_logging.py +80 -49
- cars/core/constants.py +0 -1
- cars/core/datasets.py +5 -2
- cars/core/geometry/abstract_geometry.py +364 -22
- cars/core/geometry/shareloc_geometry.py +112 -82
- cars/core/inputs.py +72 -19
- cars/core/outputs.py +1 -1
- cars/core/preprocessing.py +17 -3
- cars/core/projection.py +126 -6
- cars/core/tiling.py +10 -3
- cars/data_structures/cars_dataset.py +12 -10
- cars/data_structures/corresponding_tiles_tools.py +0 -103
- cars/data_structures/format_transformation.py +4 -1
- cars/devibrate.py +6 -3
- cars/extractroi.py +20 -21
- cars/orchestrator/cluster/abstract_cluster.py +15 -5
- cars/orchestrator/cluster/abstract_dask_cluster.py +6 -2
- cars/orchestrator/cluster/dask_jobqueue_utils.py +1 -1
- cars/orchestrator/cluster/log_wrapper.py +149 -22
- cars/orchestrator/cluster/mp_cluster/multiprocessing_cluster.py +12 -4
- cars/orchestrator/cluster/mp_cluster/multiprocessing_profiler.py +2 -2
- cars/orchestrator/cluster/pbs_dask_cluster.py +1 -1
- cars/orchestrator/cluster/sequential_cluster.py +5 -4
- cars/orchestrator/cluster/slurm_dask_cluster.py +1 -1
- cars/orchestrator/orchestrator.py +15 -4
- cars/orchestrator/registry/id_generator.py +1 -0
- cars/orchestrator/registry/saver_registry.py +2 -2
- cars/pipelines/conf_resolution/conf_final_resolution.json +5 -3
- cars/pipelines/default/default_pipeline.py +461 -1052
- cars/pipelines/parameters/advanced_parameters.py +91 -64
- cars/pipelines/parameters/advanced_parameters_constants.py +6 -5
- cars/pipelines/parameters/application_parameters.py +71 -0
- cars/pipelines/parameters/depth_map_inputs.py +0 -314
- cars/pipelines/parameters/dsm_inputs.py +40 -4
- cars/pipelines/parameters/output_parameters.py +44 -8
- cars/pipelines/parameters/sensor_inputs.py +122 -73
- cars/pipelines/parameters/sensor_inputs_constants.py +0 -2
- cars/pipelines/parameters/sensor_loaders/__init__.py +4 -3
- cars/pipelines/parameters/sensor_loaders/basic_classif_loader.py +106 -0
- cars/pipelines/parameters/sensor_loaders/{basic_sensor_loader.py → basic_image_loader.py} +16 -22
- cars/pipelines/parameters/sensor_loaders/pivot_classif_loader.py +121 -0
- cars/pipelines/parameters/sensor_loaders/{pivot_sensor_loader.py → pivot_image_loader.py} +10 -21
- cars/pipelines/parameters/sensor_loaders/sensor_loader.py +4 -6
- cars/pipelines/parameters/sensor_loaders/sensor_loader_template.py +1 -3
- cars/pipelines/pipeline_template.py +1 -3
- cars/pipelines/unit/unit_pipeline.py +676 -1070
- cars/starter.py +4 -3
- cars-1.0.0a4.dist-info/DELVEWHEEL +2 -0
- {cars-1.0.0a2.dist-info → cars-1.0.0a4.dist-info}/METADATA +135 -53
- {cars-1.0.0a2.dist-info → cars-1.0.0a4.dist-info}/RECORD +120 -134
- cars.libs/libgcc_s_seh-1-b2494fcbd4d80cf2c98fdd5261f6d850.dll +0 -0
- cars.libs/libstdc++-6-e9b0d12ae0e9555bbae55e8dfd08c3f7.dll +0 -0
- cars.libs/libwinpthread-1-7882d1b093714ccdfaf4e0789a817792.dll +0 -0
- cars/applications/dense_match_filling/cpp/__init__.py +0 -0
- cars/applications/dense_match_filling/cpp/dense_match_filling_cpp.cp312-win_amd64.dll.a +0 -0
- cars/applications/dense_match_filling/cpp/dense_match_filling_cpp.cp312-win_amd64.pyd +0 -0
- cars/applications/dense_match_filling/cpp/dense_match_filling_cpp.py +0 -72
- cars/applications/dense_match_filling/cpp/includes/dense_match_filling.hpp +0 -46
- cars/applications/dense_match_filling/cpp/meson.build +0 -9
- cars/applications/dense_match_filling/cpp/src/bindings.cpp +0 -11
- cars/applications/dense_match_filling/cpp/src/dense_match_filling.cpp +0 -142
- cars/applications/dense_match_filling/plane_app.py +0 -556
- cars/applications/hole_detection/__init__.py +0 -30
- cars/applications/hole_detection/abstract_hole_detection_app.py +0 -125
- cars/applications/hole_detection/cloud_to_bbox_app.py +0 -346
- cars/applications/hole_detection/hole_detection_algo.py +0 -144
- cars/applications/hole_detection/hole_detection_wrappers.py +0 -53
- cars/applications/point_cloud_denoising/__init__.py +0 -29
- cars/applications/point_cloud_denoising/abstract_pc_denoising_app.py +0 -273
- cars/applications/point_cloud_fusion/__init__.py +0 -30
- cars/applications/point_cloud_fusion/cloud_fusion_constants.py +0 -39
- cars/applications/sparse_matching/pandora_sparse_matching_app.py +0 -0
- cars/pipelines/parameters/depth_map_inputs_constants.py +0 -25
- cars-1.0.0a2.dist-info/DELVEWHEEL +0 -2
- cars.libs/libgcc_s_seh-1-f2b6825d483bdf14050493af93b5997d.dll +0 -0
- cars.libs/libstdc++-6-6b0059df6bc601df5a0f18a5805eea05.dll +0 -0
- cars.libs/libwinpthread-1-e01b8e85fd67c2b861f64d4ccc7df607.dll +0 -0
- {cars-1.0.0a2.dist-info → cars-1.0.0a4.dist-info}/WHEEL +0 -0
- {cars-1.0.0a2.dist-info → cars-1.0.0a4.dist-info}/entry_points.txt +0 -0
|
@@ -117,7 +117,7 @@ class DirectLocalization(
|
|
|
117
117
|
|
|
118
118
|
return overloaded_conf
|
|
119
119
|
|
|
120
|
-
def run( # noqa: C901
|
|
120
|
+
def run( # pylint: disable=too-many-positional-arguments # noqa: C901
|
|
121
121
|
self,
|
|
122
122
|
sensor_left,
|
|
123
123
|
sensor_right,
|
|
@@ -495,7 +495,7 @@ class DirectLocalization(
|
|
|
495
495
|
)
|
|
496
496
|
|
|
497
497
|
|
|
498
|
-
def maps_generation_wrapper(
|
|
498
|
+
def maps_generation_wrapper( # pylint: disable=too-many-positional-arguments
|
|
499
499
|
sensor_left,
|
|
500
500
|
grid_left,
|
|
501
501
|
geom_plugin,
|
|
@@ -32,7 +32,7 @@ from cars.core.projection import point_cloud_conversion
|
|
|
32
32
|
from cars.pipelines.parameters import sensor_inputs_constants as sens_cst
|
|
33
33
|
|
|
34
34
|
|
|
35
|
-
def get_ground_truth(
|
|
35
|
+
def get_ground_truth( # pylint: disable=too-many-positional-arguments
|
|
36
36
|
geom_plugin,
|
|
37
37
|
grid,
|
|
38
38
|
sensor,
|
|
@@ -76,6 +76,7 @@ def get_ground_truth(
|
|
|
76
76
|
|
|
77
77
|
(positions_col, positions_row) = np.meshgrid(cols, rows)
|
|
78
78
|
|
|
79
|
+
direct_loc = None
|
|
79
80
|
if target == "epipolar":
|
|
80
81
|
|
|
81
82
|
positions = np.stack([positions_col, positions_row], axis=2)
|
|
@@ -1,155 +0,0 @@
|
|
|
1
|
-
#!/usr/bin/env python
|
|
2
|
-
# coding: utf8
|
|
3
|
-
#
|
|
4
|
-
# Copyright (c) 2020 Centre National d'Etudes Spatiales (CNES).
|
|
5
|
-
#
|
|
6
|
-
# This file is part of CARS
|
|
7
|
-
# (see https://github.com/CNES/cars).
|
|
8
|
-
#
|
|
9
|
-
# Licensed under the Apache License, Version 2.0 (the "License");
|
|
10
|
-
# you may not use this file except in compliance with the License.
|
|
11
|
-
# You may obtain a copy of the License at
|
|
12
|
-
#
|
|
13
|
-
# http://www.apache.org/licenses/LICENSE-2.0
|
|
14
|
-
#
|
|
15
|
-
# Unless required by applicable law or agreed to in writing, software
|
|
16
|
-
# distributed under the License is distributed on an "AS IS" BASIS,
|
|
17
|
-
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
18
|
-
# See the License for the specific language governing permissions and
|
|
19
|
-
# limitations under the License.
|
|
20
|
-
#
|
|
21
|
-
"""
|
|
22
|
-
this module contains the abstract PointCloudFusion application class.
|
|
23
|
-
"""
|
|
24
|
-
import logging
|
|
25
|
-
from abc import ABCMeta, abstractmethod
|
|
26
|
-
from typing import Dict
|
|
27
|
-
|
|
28
|
-
from cars.applications.application import Application
|
|
29
|
-
from cars.applications.application_template import ApplicationTemplate
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
@Application.register("point_cloud_fusion")
|
|
33
|
-
class PointCloudFusion(ApplicationTemplate, metaclass=ABCMeta):
|
|
34
|
-
"""
|
|
35
|
-
PointCloudFusion
|
|
36
|
-
"""
|
|
37
|
-
|
|
38
|
-
available_applications: Dict = {}
|
|
39
|
-
default_application = "mapping_to_terrain_tiles"
|
|
40
|
-
|
|
41
|
-
def __new__(cls, conf=None): # pylint: disable=W0613
|
|
42
|
-
"""
|
|
43
|
-
Return the required application
|
|
44
|
-
:raises:
|
|
45
|
-
- KeyError when the required application is not registered
|
|
46
|
-
|
|
47
|
-
:param conf: configuration for fusion
|
|
48
|
-
:return: a application_to_use object
|
|
49
|
-
"""
|
|
50
|
-
|
|
51
|
-
fusion_method = cls.default_application
|
|
52
|
-
if bool(conf) is False or "method" not in conf:
|
|
53
|
-
logging.info(
|
|
54
|
-
"Fusion method not specified, "
|
|
55
|
-
"default {} is used".format(fusion_method)
|
|
56
|
-
)
|
|
57
|
-
else:
|
|
58
|
-
fusion_method = conf.get("method", cls.default_application)
|
|
59
|
-
|
|
60
|
-
if fusion_method not in cls.available_applications:
|
|
61
|
-
logging.error(
|
|
62
|
-
"No Fusion application named {} registered".format(
|
|
63
|
-
fusion_method
|
|
64
|
-
)
|
|
65
|
-
)
|
|
66
|
-
raise KeyError(
|
|
67
|
-
"No Fusion application named {} registered".format(
|
|
68
|
-
fusion_method
|
|
69
|
-
)
|
|
70
|
-
)
|
|
71
|
-
|
|
72
|
-
logging.info(
|
|
73
|
-
"The PointCloudFusion({}) application will be used".format(
|
|
74
|
-
fusion_method
|
|
75
|
-
)
|
|
76
|
-
)
|
|
77
|
-
|
|
78
|
-
return super(PointCloudFusion, cls).__new__(
|
|
79
|
-
cls.available_applications[fusion_method]
|
|
80
|
-
)
|
|
81
|
-
|
|
82
|
-
def __init_subclass__(cls, short_name, **kwargs): # pylint: disable=E0302
|
|
83
|
-
super().__init_subclass__(**kwargs)
|
|
84
|
-
cls.available_applications[short_name] = cls
|
|
85
|
-
|
|
86
|
-
def __init__(self, conf=None):
|
|
87
|
-
"""
|
|
88
|
-
Init function of PointCloudFusion
|
|
89
|
-
|
|
90
|
-
:param conf: configuration
|
|
91
|
-
:return: an application_to_use object
|
|
92
|
-
"""
|
|
93
|
-
|
|
94
|
-
super().__init__(conf=conf)
|
|
95
|
-
|
|
96
|
-
@abstractmethod
|
|
97
|
-
def run(
|
|
98
|
-
self,
|
|
99
|
-
list_epipolar_point_clouds,
|
|
100
|
-
bounds,
|
|
101
|
-
epsg,
|
|
102
|
-
source_pc_names=None,
|
|
103
|
-
orchestrator=None,
|
|
104
|
-
margins=0,
|
|
105
|
-
optimal_terrain_tile_width=500,
|
|
106
|
-
roi=None,
|
|
107
|
-
):
|
|
108
|
-
"""
|
|
109
|
-
Run EpipolarCloudFusion application.
|
|
110
|
-
|
|
111
|
-
Creates a CarsDataset corresponding to the merged point clouds,
|
|
112
|
-
tiled with the terrain grid used during rasterization.
|
|
113
|
-
|
|
114
|
-
:param list_epipolar_point_clouds: list with point clouds\
|
|
115
|
-
Each CarsDataset contains:
|
|
116
|
-
|
|
117
|
-
- N x M Delayed tiles. \
|
|
118
|
-
Each tile will be a future xarray Dataset containing:
|
|
119
|
-
|
|
120
|
-
- data : with keys : "x", "y", "z", "corr_msk" \
|
|
121
|
-
optional: "texture", "msk", "z_inf", "z_sup"
|
|
122
|
-
- attrs with keys: "margins", "epi_full_size", "epsg"
|
|
123
|
-
- attributes containing: "disp_lower_bound", "disp_upper_bound" \
|
|
124
|
-
"elevation_delta_lower_bound", "elevation_delta_upper_bound"
|
|
125
|
-
:type list_epipolar_point_clouds: list(CarsDataset) filled with
|
|
126
|
-
xr.Dataset
|
|
127
|
-
:param bounds: terrain bounds
|
|
128
|
-
:type bounds: list
|
|
129
|
-
:param epsg: epsg to use
|
|
130
|
-
:type epsg: str
|
|
131
|
-
:param source_pc_names: source pc names
|
|
132
|
-
:type source_pc_names: list[str]
|
|
133
|
-
:param orchestrator: orchestrator used
|
|
134
|
-
:type orchestrator: Orchestrator
|
|
135
|
-
:param margins: margins needed for tiles, meter or degree
|
|
136
|
-
:type margins: float
|
|
137
|
-
:param optimal_terrain_tile_width: optimal terrain tile width
|
|
138
|
-
:type optimal_terrain_tile_width: int
|
|
139
|
-
|
|
140
|
-
:return: Merged point clouds
|
|
141
|
-
|
|
142
|
-
CarsDataset contains:
|
|
143
|
-
|
|
144
|
-
- Z x W Delayed tiles\
|
|
145
|
-
Each tile will be a future pandas DataFrame containing:
|
|
146
|
-
|
|
147
|
-
- data : with keys : "x", "y", "z", "corr_msk" \
|
|
148
|
-
optional: "clr", "msk", "data_valid","coord_epi_geom_i",\
|
|
149
|
-
"coord_epi_geom_j","idx_im_epi", "z_inf", "z_sup"
|
|
150
|
-
- attrs with keys: "epsg"
|
|
151
|
-
- attributes containing: "bounds", "epsg"
|
|
152
|
-
|
|
153
|
-
:rtype: CarsDataset filled with pandas.DataFrame
|
|
154
|
-
|
|
155
|
-
"""
|