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.

Files changed (144) hide show
  1. cars/__init__.py +3 -3
  2. cars/applications/__init__.py +0 -3
  3. cars/applications/application.py +14 -6
  4. cars/applications/application_template.py +42 -0
  5. cars/applications/auxiliary_filling/abstract_auxiliary_filling_app.py +12 -2
  6. cars/applications/auxiliary_filling/auxiliary_filling_algo.py +2 -2
  7. cars/applications/auxiliary_filling/auxiliary_filling_from_sensors_app.py +95 -46
  8. cars/applications/auxiliary_filling/auxiliary_filling_wrappers.py +7 -6
  9. cars/applications/dem_generation/abstract_dem_generation_app.py +9 -5
  10. cars/applications/dem_generation/dem_generation_algo.py +1 -1
  11. cars/applications/dem_generation/dem_generation_wrappers.py +44 -59
  12. cars/applications/dem_generation/dichotomic_generation_app.py +9 -6
  13. cars/applications/dem_generation/rasterization_app.py +112 -43
  14. cars/applications/dense_match_filling/__init__.py +1 -1
  15. cars/applications/dense_match_filling/abstract_dense_match_filling_app.py +2 -15
  16. cars/applications/dense_match_filling/fill_disp_algo.py +32 -373
  17. cars/applications/dense_match_filling/fill_disp_wrappers.py +0 -343
  18. cars/applications/dense_match_filling/zero_padding_app.py +10 -5
  19. cars/applications/dense_matching/abstract_dense_matching_app.py +2 -1
  20. cars/applications/dense_matching/census_mccnn_sgm_app.py +48 -60
  21. cars/applications/dense_matching/cpp/dense_matching_cpp.cp312-win_amd64.dll.a +0 -0
  22. cars/applications/dense_matching/cpp/dense_matching_cpp.cp312-win_amd64.pyd +0 -0
  23. cars/applications/dense_matching/dense_matching_algo.py +48 -14
  24. cars/applications/dense_matching/dense_matching_wrappers.py +11 -3
  25. cars/applications/dense_matching/disparity_grid_algo.py +95 -79
  26. cars/applications/dense_matching/loaders/config_mapping.json +13 -0
  27. cars/applications/dense_matching/loaders/global_land_cover_map.tif +0 -0
  28. cars/applications/dense_matching/loaders/pandora_loader.py +169 -34
  29. cars/applications/dsm_filling/border_interpolation_app.py +11 -12
  30. cars/applications/dsm_filling/bulldozer_filling_app.py +16 -15
  31. cars/applications/dsm_filling/exogenous_filling_app.py +14 -14
  32. cars/applications/grid_generation/abstract_grid_generation_app.py +1 -1
  33. cars/applications/grid_generation/epipolar_grid_generation_app.py +4 -2
  34. cars/applications/grid_generation/grid_correction_app.py +4 -1
  35. cars/applications/grid_generation/grid_generation_algo.py +7 -2
  36. cars/applications/ground_truth_reprojection/abstract_ground_truth_reprojection_app.py +1 -1
  37. cars/applications/ground_truth_reprojection/direct_localization_app.py +2 -2
  38. cars/applications/ground_truth_reprojection/ground_truth_reprojection_algo.py +2 -1
  39. cars/applications/point_cloud_fusion/abstract_pc_fusion_app.py +0 -155
  40. cars/applications/point_cloud_fusion/mapping_to_terrain_tiles_app.py +0 -658
  41. cars/applications/point_cloud_fusion/pc_fusion_algo.py +0 -1339
  42. cars/applications/point_cloud_fusion/pc_fusion_wrappers.py +0 -869
  43. cars/applications/point_cloud_outlier_removal/abstract_outlier_removal_app.py +11 -6
  44. cars/applications/point_cloud_outlier_removal/outlier_removal_algo.py +9 -8
  45. cars/applications/point_cloud_outlier_removal/small_components_app.py +101 -270
  46. cars/applications/point_cloud_outlier_removal/statistical_app.py +120 -277
  47. cars/applications/rasterization/abstract_pc_rasterization_app.py +2 -1
  48. cars/applications/rasterization/rasterization_algo.py +18 -6
  49. cars/applications/rasterization/rasterization_wrappers.py +2 -1
  50. cars/applications/rasterization/simple_gaussian_app.py +88 -116
  51. cars/applications/resampling/abstract_resampling_app.py +1 -1
  52. cars/applications/resampling/bicubic_resampling_app.py +3 -1
  53. cars/applications/resampling/resampling_algo.py +60 -53
  54. cars/applications/resampling/resampling_wrappers.py +3 -1
  55. cars/applications/sparse_matching/abstract_sparse_matching_app.py +1 -1
  56. cars/applications/sparse_matching/sift_app.py +5 -25
  57. cars/applications/sparse_matching/sparse_matching_algo.py +3 -2
  58. cars/applications/sparse_matching/sparse_matching_wrappers.py +1 -1
  59. cars/applications/triangulation/abstract_triangulation_app.py +1 -1
  60. cars/applications/triangulation/line_of_sight_intersection_app.py +13 -11
  61. cars/applications/triangulation/pc_transform.py +552 -0
  62. cars/applications/triangulation/triangulation_algo.py +6 -4
  63. cars/applications/triangulation/triangulation_wrappers.py +1 -0
  64. cars/bundleadjustment.py +6 -6
  65. cars/cars.py +11 -9
  66. cars/core/cars_logging.py +80 -49
  67. cars/core/constants.py +0 -1
  68. cars/core/datasets.py +5 -2
  69. cars/core/geometry/abstract_geometry.py +364 -22
  70. cars/core/geometry/shareloc_geometry.py +112 -82
  71. cars/core/inputs.py +72 -19
  72. cars/core/outputs.py +1 -1
  73. cars/core/preprocessing.py +17 -3
  74. cars/core/projection.py +126 -6
  75. cars/core/tiling.py +10 -3
  76. cars/data_structures/cars_dataset.py +12 -10
  77. cars/data_structures/corresponding_tiles_tools.py +0 -103
  78. cars/data_structures/format_transformation.py +4 -1
  79. cars/devibrate.py +6 -3
  80. cars/extractroi.py +20 -21
  81. cars/orchestrator/cluster/abstract_cluster.py +15 -5
  82. cars/orchestrator/cluster/abstract_dask_cluster.py +6 -2
  83. cars/orchestrator/cluster/dask_jobqueue_utils.py +1 -1
  84. cars/orchestrator/cluster/log_wrapper.py +149 -22
  85. cars/orchestrator/cluster/mp_cluster/multiprocessing_cluster.py +12 -4
  86. cars/orchestrator/cluster/mp_cluster/multiprocessing_profiler.py +2 -2
  87. cars/orchestrator/cluster/pbs_dask_cluster.py +1 -1
  88. cars/orchestrator/cluster/sequential_cluster.py +5 -4
  89. cars/orchestrator/cluster/slurm_dask_cluster.py +1 -1
  90. cars/orchestrator/orchestrator.py +15 -4
  91. cars/orchestrator/registry/id_generator.py +1 -0
  92. cars/orchestrator/registry/saver_registry.py +2 -2
  93. cars/pipelines/conf_resolution/conf_final_resolution.json +5 -3
  94. cars/pipelines/default/default_pipeline.py +461 -1052
  95. cars/pipelines/parameters/advanced_parameters.py +91 -64
  96. cars/pipelines/parameters/advanced_parameters_constants.py +6 -5
  97. cars/pipelines/parameters/application_parameters.py +71 -0
  98. cars/pipelines/parameters/depth_map_inputs.py +0 -314
  99. cars/pipelines/parameters/dsm_inputs.py +40 -4
  100. cars/pipelines/parameters/output_parameters.py +44 -8
  101. cars/pipelines/parameters/sensor_inputs.py +122 -73
  102. cars/pipelines/parameters/sensor_inputs_constants.py +0 -2
  103. cars/pipelines/parameters/sensor_loaders/__init__.py +4 -3
  104. cars/pipelines/parameters/sensor_loaders/basic_classif_loader.py +106 -0
  105. cars/pipelines/parameters/sensor_loaders/{basic_sensor_loader.py → basic_image_loader.py} +16 -22
  106. cars/pipelines/parameters/sensor_loaders/pivot_classif_loader.py +121 -0
  107. cars/pipelines/parameters/sensor_loaders/{pivot_sensor_loader.py → pivot_image_loader.py} +10 -21
  108. cars/pipelines/parameters/sensor_loaders/sensor_loader.py +4 -6
  109. cars/pipelines/parameters/sensor_loaders/sensor_loader_template.py +1 -3
  110. cars/pipelines/pipeline_template.py +1 -3
  111. cars/pipelines/unit/unit_pipeline.py +676 -1070
  112. cars/starter.py +4 -3
  113. cars-1.0.0a4.dist-info/DELVEWHEEL +2 -0
  114. {cars-1.0.0a2.dist-info → cars-1.0.0a4.dist-info}/METADATA +135 -53
  115. {cars-1.0.0a2.dist-info → cars-1.0.0a4.dist-info}/RECORD +120 -134
  116. cars.libs/libgcc_s_seh-1-b2494fcbd4d80cf2c98fdd5261f6d850.dll +0 -0
  117. cars.libs/libstdc++-6-e9b0d12ae0e9555bbae55e8dfd08c3f7.dll +0 -0
  118. cars.libs/libwinpthread-1-7882d1b093714ccdfaf4e0789a817792.dll +0 -0
  119. cars/applications/dense_match_filling/cpp/__init__.py +0 -0
  120. cars/applications/dense_match_filling/cpp/dense_match_filling_cpp.cp312-win_amd64.dll.a +0 -0
  121. cars/applications/dense_match_filling/cpp/dense_match_filling_cpp.cp312-win_amd64.pyd +0 -0
  122. cars/applications/dense_match_filling/cpp/dense_match_filling_cpp.py +0 -72
  123. cars/applications/dense_match_filling/cpp/includes/dense_match_filling.hpp +0 -46
  124. cars/applications/dense_match_filling/cpp/meson.build +0 -9
  125. cars/applications/dense_match_filling/cpp/src/bindings.cpp +0 -11
  126. cars/applications/dense_match_filling/cpp/src/dense_match_filling.cpp +0 -142
  127. cars/applications/dense_match_filling/plane_app.py +0 -556
  128. cars/applications/hole_detection/__init__.py +0 -30
  129. cars/applications/hole_detection/abstract_hole_detection_app.py +0 -125
  130. cars/applications/hole_detection/cloud_to_bbox_app.py +0 -346
  131. cars/applications/hole_detection/hole_detection_algo.py +0 -144
  132. cars/applications/hole_detection/hole_detection_wrappers.py +0 -53
  133. cars/applications/point_cloud_denoising/__init__.py +0 -29
  134. cars/applications/point_cloud_denoising/abstract_pc_denoising_app.py +0 -273
  135. cars/applications/point_cloud_fusion/__init__.py +0 -30
  136. cars/applications/point_cloud_fusion/cloud_fusion_constants.py +0 -39
  137. cars/applications/sparse_matching/pandora_sparse_matching_app.py +0 -0
  138. cars/pipelines/parameters/depth_map_inputs_constants.py +0 -25
  139. cars-1.0.0a2.dist-info/DELVEWHEEL +0 -2
  140. cars.libs/libgcc_s_seh-1-f2b6825d483bdf14050493af93b5997d.dll +0 -0
  141. cars.libs/libstdc++-6-6b0059df6bc601df5a0f18a5805eea05.dll +0 -0
  142. cars.libs/libwinpthread-1-e01b8e85fd67c2b861f64d4ccc7df607.dll +0 -0
  143. {cars-1.0.0a2.dist-info → cars-1.0.0a4.dist-info}/WHEEL +0 -0
  144. {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
- """