diff --git a/.buildinfo b/.buildinfo index 5d3414df..20882a9d 100644 --- a/.buildinfo +++ b/.buildinfo @@ -1,4 +1,4 @@ # Sphinx build info version 1 # This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done. -config: fd5eb1438bd9bf37a103350bcfc01499 +config: 7da5eb014733f8246883ccbde337b5e1 tags: 645f666f9bcd5a90fca523b33c5a78b7 diff --git a/_modules/index.html b/_modules/index.html index e218915d..dd388329 100644 --- a/_modules/index.html +++ b/_modules/index.html @@ -3,7 +3,7 @@
-
it from the las metadata)
"""
- points = pdal_read_las_array(src_las_path, epsg)
+ points, metadata = pdal_read_las_array(src_las_path, epsg)
+
# Check input dims to see what we can keep.
input_dims = points.dtype.fields.keys()
self.extra_dims_as_dict = {
@@ -221,7 +222,7 @@ Source code for lidar_prod.tasks.cleaning
}
pipeline = pdal.Pipeline(arrays=[points]) | get_pdal_writer(
- target_las_path, extra_dims=self.get_extra_dims_as_str()
+ target_las_path, reader_metadata=metadata, extra_dims=self.get_extra_dims_as_str()
)
os.makedirs(osp.dirname(target_las_path), exist_ok=True)
pipeline.execute()
diff --git a/_modules/lidar_prod/tasks/utils.html b/_modules/lidar_prod/tasks/utils.html
index fbd51e8a..060898b2 100644
--- a/_modules/lidar_prod/tasks/utils.html
+++ b/_modules/lidar_prod/tasks/utils.html
@@ -3,7 +3,7 @@
- lidar_prod.tasks.utils — lidar_prod V1.10.1 documentation
+ lidar_prod.tasks.utils — lidar_prod V1.10.2 documentation
@@ -15,7 +15,7 @@
-
+
@@ -156,6 +156,8 @@ Source code for lidar_prod.tasks.utils
import numpy as np
import pdal
import psycopg2
+import pyproj
+from pdaltools.las_info import get_writer_parameters_from_reader_metadata
log = logging.getLogger(__name__)
@@ -189,25 +191,31 @@ Source code for lidar_prod.tasks.utils
[docs]
-def get_pipeline(input_value: pdal.pipeline.Pipeline | str, epsg: int | str):
+def get_pipeline(
+ input_value: pdal.pipeline.Pipeline | str, epsg: int | str, las_metadata: dict = None
+):
"""If the input value is a pipeline, returns it, if it's a las path return the corresponding
- pipeline
+ pipeline,
+ If the input is a las_path, pipeline_metadata is updated to the new pipeline metadata
Args:
input_value (pdal.pipeline.Pipeline | str): input value to get a pipeline from
(las pipeline or path to a file to read with pdal)
epsg (int | str): if input_value is a string, use the epsg value to override the crs from
the las header
+ las_metadata (dict): current pipeline metadata, used to propagate input metadata to the
+ application output las (epsg, las version, etc)
Returns:
- pdal pipeline
+ pdal pipeline, updated pipeline_metadata dict
"""
if isinstance(input_value, str):
pipeline = pdal.Pipeline() | get_pdal_reader(input_value, epsg)
pipeline.execute()
+ las_metadata = get_input_las_metadata(pipeline)
else:
pipeline = input_value
- return pipeline
+ return pipeline, las_metadata
@@ -274,15 +282,20 @@ Source code for lidar_prod.tasks.utils
[docs]
-def get_las_data_from_las(las_path: str) -> laspy.lasdata.LasData:
+def get_las_data_from_las(las_path: str, epsg: str | int = None) -> laspy.lasdata.LasData:
"""Load las data from a las file"""
- return laspy.read(las_path)
+ las = laspy.read(las_path)
+ if las.header.parse_crs() is None and epsg is not None:
+ las.header.add_crs(pyproj.crs.CRS(epsg))
+ return las
[docs]
-def get_pdal_writer(target_las_path: str, extra_dims: str = "all") -> pdal.Writer.las:
+def get_pdal_writer(
+ target_las_path: str, reader_metadata=dict(), extra_dims: str = "all"
+) -> pdal.Writer.las:
"""Standard LAS Writer which imposes LAS 1.4 specification and dataformat 8.
Args:
@@ -293,13 +306,15 @@ Source code for lidar_prod.tasks.utils
pdal.Writer.las: writer to use in a pipeline.
"""
- return pdal.Writer.las(
- filename=target_las_path,
- minor_version=4,
- dataformat_id=8,
- forward="all",
- extra_dims=extra_dims,
- )
+ if reader_metadata:
+ metadata = {"metadata": {"readers.las": reader_metadata}}
+ params = get_writer_parameters_from_reader_metadata(metadata)
+
+ else:
+ params = {"forward": "all", "minor_version": 4, "dataformat_id": 8}
+ params["extra_dims"] = extra_dims
+
+ return pdal.Writer.las(filename=target_las_path, **params)
@@ -337,7 +352,7 @@ Source code for lidar_prod.tasks.utils
[docs]
-def pdal_read_las_array(las_path: str, epsg: int | str):
+def pdal_read_las_array(las_path: str, epsg: int | str = None):
"""Read LAS as a named array.
Args:
@@ -348,10 +363,12 @@ Source code for lidar_prod.tasks.utils
Returns:
np.ndarray: named array with all LAS dimensions, including extra ones, with dict-like
access.
+ las_metadata dict
"""
p1 = pdal.Pipeline() | get_pdal_reader(las_path, epsg)
p1.execute()
- return p1.arrays[0]
+ metadata = p1.metadata["metadata"]["readers.las"]
+ return p1.arrays[0], metadata
diff --git a/_static/documentation_options.js b/_static/documentation_options.js
index 06fd8787..f359f304 100644
--- a/_static/documentation_options.js
+++ b/_static/documentation_options.js
@@ -1,5 +1,5 @@
const DOCUMENTATION_OPTIONS = {
- VERSION: 'V1.10.1',
+ VERSION: 'V1.10.2',
LANGUAGE: 'en',
COLLAPSE_INDEX: false,
BUILDER: 'html',
diff --git a/apidoc/lidar_prod.commons.html b/apidoc/lidar_prod.commons.html
index 3ee36884..7c6cefab 100644
--- a/apidoc/lidar_prod.commons.html
+++ b/apidoc/lidar_prod.commons.html
@@ -4,7 +4,7 @@
- lidar_prod.commons — lidar_prod V1.10.1 documentation
+ lidar_prod.commons — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/apidoc/lidar_prod.html b/apidoc/lidar_prod.html
index edb1efb8..7f89378b 100644
--- a/apidoc/lidar_prod.html
+++ b/apidoc/lidar_prod.html
@@ -4,7 +4,7 @@
- lidar_prod.run — lidar_prod V1.10.1 documentation
+ lidar_prod.run — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/apidoc/lidar_prod.tasks.html b/apidoc/lidar_prod.tasks.html
index 5b1dbfcc..46deb477 100644
--- a/apidoc/lidar_prod.tasks.html
+++ b/apidoc/lidar_prod.tasks.html
@@ -4,7 +4,7 @@
- lidar_prod.tasks — lidar_prod V1.10.1 documentation
+ lidar_prod.tasks — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
@@ -189,12 +189,12 @@ lidar_prod.tasks
-prepare(input_values: str | Pipeline, prepared_las_path: str, save_result: bool = False) None [source]
+prepare(input_values: str | Pipeline, prepared_las_path: str, save_result: bool = False, las_metadata: dict | None = None) dict [source]
-
-run(input_values: str | Pipeline, target_las_path: str | None = None) str [source]
+run(input_values: str | Pipeline, target_las_path: str | None = None, las_metadata: dict | None = None) dict [source]
Runs application.
Transforms cloud at input_values following building validation logic,
and saves it to target_las_path
@@ -204,13 +204,19 @@ lidar_prod.tasksinput_values¶ (str| pdal.pipeline.Pipeline) – path or pipeline to input LAS file with
channel (a _sphinx_paramlinks_lidar_prod.tasks.building_validation.BuildingValidator.run.building probability) –
+las_metadata¶ (dict) – current pipeline metadata, used to propagate input metadata to the
-- Returns:
-returns target_las_path
+
+
application output las (epsg, las version, etc)
+
+- Returns:
+returns las_metadata: metadata of the input las, which contain
+information to pass to the writer in order for the application to have an output
+with the same header (las version, srs, …) as the input
-- Return type:
--
+
- Return type:
+-
@@ -223,7 +229,7 @@ lidar_prod.tasks
-update(src_las_path: str | None = None, target_las_path: str | None = None) None [source]
+update(src_las_path: str | None = None, target_las_path: str | None = None, las_metadata: dict | None = None) dict [source]
Updates point cloud classification channel.
@@ -445,17 +451,14 @@ lidar_prod.tasks
Parameters:
-
-src_las_path¶ (pdal.pipeline.Pipeline) – input LAS pipeline
-
-
+pipeline¶ (pdal.pipeline.Pipeline) – input LAS pipeline
-
-run(input_values: str | Pipeline)[source]
+run(input_values: str | Pipeline, las_metadata: dict | None = None) dict [source]
Application.
Transform cloud at src_las_path following building completion logic
-- Returns:
-returns target_las_path for potential terminal piping.
+
+application output las (epsg, las version, etc)
+
+- Returns:
+returns las_metadata: metadata of the initial las, which contain
+information to pass to the writer in order for the application to have an output
+with the same header (las version, srs, …) as the input
-- Return type:
--
+
- Return type:
+-
@@ -495,7 +504,7 @@ lidar_prod.tasks
-run(input_values: str | Pipeline, target_las_path: str | None = None) str [source]
+run(input_values: str | Pipeline, target_las_path: str | None = None, las_metadata: dict | None = None) dict [source]
Identify potential buildings in a new channel, excluding former candidates as well as
already confirmed building (confirmed by either Validation or Completion).
@@ -504,9 +513,12 @@ lidar_prod.tasksinput_values¶ (str | pdal.pipeline.Pipeline) – path or pipeline to input LAS file with
channel (a _sphinx_paramlinks_lidar_prod.tasks.building_identification.BuildingIdentifier.run.building probability) –
+las_metadata¶ (dict) – current pipeline metadata, used to propagate input metadata to the
+
application output las (epsg, las version, etc)
+Returns: updated las_metadata
@@ -645,7 +657,7 @@ lidar_prod.tasks
-lidar_prod.tasks.utils.get_las_data_from_las(las_path: str) LasData [source]
+lidar_prod.tasks.utils.get_las_data_from_las(las_path: str, epsg: str | int | None = None) LasData [source]
Load las data from a las file
@@ -672,7 +684,7 @@ lidar_prod.tasks
-lidar_prod.tasks.utils.get_pdal_writer(target_las_path: str, extra_dims: str = 'all') las [source]
+lidar_prod.tasks.utils.get_pdal_writer(target_las_path: str, reader_metadata={}, extra_dims: str = 'all') las [source]
Standard LAS Writer which imposes LAS 1.4 specification and dataformat 8.
- Parameters:
@@ -692,9 +704,10 @@ lidar_prod.tasks
-
-lidar_prod.tasks.utils.get_pipeline(input_value: Pipeline | str, epsg: int | str)[source]
+lidar_prod.tasks.utils.get_pipeline(input_value: Pipeline | str, epsg: int | str, las_metadata: dict | None = None)[source]
If the input value is a pipeline, returns it, if it’s a las path return the corresponding
-pipeline
+pipeline,
+If the input is a las_path, pipeline_metadata is updated to the new pipeline metadata
- Parameters:
@@ -702,17 +715,19 @@ lidar_prod.tasksepsg¶ (int | str) – if input_value is a string, use the epsg value to override the crs from
header (the _sphinx_paramlinks_lidar_prod.tasks.utils.get_pipeline.las) –
+las_metadata¶ (dict) – current pipeline metadata, used to propagate input metadata to the
+las (application _sphinx_paramlinks_lidar_prod.tasks.utils.get_pipeline.output) –
- Returns:
-pdal pipeline
+pdal pipeline, updated pipeline_metadata dict
-
-lidar_prod.tasks.utils.pdal_read_las_array(las_path: str, epsg: int | str)[source]
+lidar_prod.tasks.utils.pdal_read_las_array(las_path: str, epsg: str | int | None = None)[source]
Read LAS as a named array.
- Parameters:
@@ -724,7 +739,8 @@ lidar_prod.tasksReturns:
named array with all LAS dimensions, including extra ones, with dict-like
-access.
+access.
+las_metadata dict
- Return type:
np.ndarray
diff --git a/background/overview.html b/background/overview.html
index a16cae8b..2522811c 100644
--- a/background/overview.html
+++ b/background/overview.html
@@ -4,7 +4,7 @@
- Overview of the process — lidar_prod V1.10.1 documentation
+ Overview of the process — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/background/production_process.html b/background/production_process.html
index 9de371d5..4bafaf40 100644
--- a/background/production_process.html
+++ b/background/production_process.html
@@ -4,7 +4,7 @@
- Production process used to transform point clouds classification — lidar_prod V1.10.1 documentation
+ Production process used to transform point clouds classification — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/background/thresholds_optimization_process.html b/background/thresholds_optimization_process.html
index 5f6e6d32..1a3804b2 100644
--- a/background/thresholds_optimization_process.html
+++ b/background/thresholds_optimization_process.html
@@ -4,7 +4,7 @@
- Strategy to find optimal decision thresholds for Building validation — lidar_prod V1.10.1 documentation
+ Strategy to find optimal decision thresholds for Building validation — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/configs.html b/configs.html
index cff74b95..50c14bb5 100644
--- a/configs.html
+++ b/configs.html
@@ -4,7 +4,7 @@
- Default configuration — lidar_prod V1.10.1 documentation
+ Default configuration — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/genindex.html b/genindex.html
index dc50ea06..e328494c 100644
--- a/genindex.html
+++ b/genindex.html
@@ -3,7 +3,7 @@
- Index — lidar_prod V1.10.1 documentation
+ Index — lidar_prod V1.10.2 documentation
@@ -15,7 +15,7 @@
-
+
@@ -329,6 +329,16 @@ L
+
-
lidar_prod.tasks.building_completion
@@ -356,8 +368,6 @@
L
- module
-
-
-
lidar_prod.tasks.building_identification
@@ -465,6 +475,8 @@
O
- OPT_VEGETATION (lidar_prod.run.POSSIBLE_TASK attribute)
- optimize() (lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer method)
+
+ - output las (lidar_prod.tasks.utils.get_pipeline parameter)
- overlays (lidar_prod.tasks.building_validation.BuildingValidationClusterInfo attribute)
@@ -476,20 +488,24 @@ P
- pdal_read_las_array() (in module lidar_prod.tasks.utils)
- - pipeline (lidar_prod.tasks.utils.get_integer_bbox parameter)
+
- pipeline (lidar_prod.tasks.building_completion.BuildingCompletor.prepare_for_building_completion parameter)
+
+
- pipeline or path to a file to read with pdal) (lidar_prod.tasks.utils.get_pipeline parameter)
- POSSIBLE_TASK (class in lidar_prod.run)
+
+
-
- prepare_for_building_completion() (lidar_prod.tasks.building_completion.BuildingCompletor method)
- print_config() (in module lidar_prod.commons.commons)
@@ -540,11 +556,9 @@
S
- split_idx_by_dim() (in module lidar_prod.tasks.utils)
- - src_las_path (lidar_prod.tasks.building_completion.BuildingCompletor.prepare_for_building_completion parameter)
+
- src_las_path (lidar_prod.tasks.cleaning.Cleaner.run parameter)
@@ -556,11 +570,9 @@ T
- target (lidar_prod.tasks.building_validation.BuildingValidationClusterInfo attribute)
- - target_las_path (lidar_prod.tasks.building_completion.BuildingCompletor.prepare_for_building_completion parameter)
+
- target_las_path (lidar_prod.tasks.building_completion.BuildingCompletor.run parameter)
- - (lidar_prod.tasks.building_completion.BuildingCompletor.run parameter)
-
- (lidar_prod.tasks.building_identification.BuildingIdentifier.run parameter)
- (lidar_prod.tasks.building_validation.BuildingValidator.run parameter)
diff --git a/guides/development.html b/guides/development.html
index 8321f694..4ad52f06 100644
--- a/guides/development.html
+++ b/guides/development.html
@@ -4,7 +4,7 @@
-
Developer’s guide — lidar_prod V1.10.1 documentation
+ Developer’s guide — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/guides/thresholds_optimization.html b/guides/thresholds_optimization.html
index 5591bddc..6d2ed486 100644
--- a/guides/thresholds_optimization.html
+++ b/guides/thresholds_optimization.html
@@ -4,7 +4,7 @@
- How to optimize building validation decision thresholds? — lidar_prod V1.10.1 documentation
+ How to optimize building validation decision thresholds? — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/index.html b/index.html
index a57e561c..efde6102 100644
--- a/index.html
+++ b/index.html
@@ -4,7 +4,7 @@
- Lidar-Prod > Documentation — lidar_prod V1.10.1 documentation
+ Lidar-Prod > Documentation — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/introduction.html b/introduction.html
index b72e90a3..e9732cee 100644
--- a/introduction.html
+++ b/introduction.html
@@ -4,7 +4,7 @@
- <no title> — lidar_prod V1.10.1 documentation
+ <no title> — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/objects.inv b/objects.inv
index 9bbfcccc..e53f37ed 100644
Binary files a/objects.inv and b/objects.inv differ
diff --git a/py-modindex.html b/py-modindex.html
index 1edcf8ba..9df00853 100644
--- a/py-modindex.html
+++ b/py-modindex.html
@@ -3,7 +3,7 @@
- Python Module Index — lidar_prod V1.10.1 documentation
+ Python Module Index — lidar_prod V1.10.2 documentation
@@ -15,7 +15,7 @@
-
+
diff --git a/search.html b/search.html
index de0b3088..b88aa9d6 100644
--- a/search.html
+++ b/search.html
@@ -3,7 +3,7 @@
- Search — lidar_prod V1.10.1 documentation
+ Search — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/searchindex.js b/searchindex.js
index 990cb2db..70696c4d 100644
--- a/searchindex.js
+++ b/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["apidoc/lidar_prod", "apidoc/lidar_prod.commons", "apidoc/lidar_prod.tasks", "background/overview", "background/production_process", "background/thresholds_optimization_process", "configs", "guides/development", "guides/thresholds_optimization", "index", "introduction", "tutorials/install", "tutorials/use"], "filenames": ["apidoc/lidar_prod.rst", "apidoc/lidar_prod.commons.rst", "apidoc/lidar_prod.tasks.rst", "background/overview.md", "background/production_process.md", "background/thresholds_optimization_process.md", "configs.rst", "guides/development.md", "guides/thresholds_optimization.md", "index.rst", "introduction.md", "tutorials/install.md", "tutorials/use.md"], "titles": ["lidar_prod.run", "lidar_prod.commons", "lidar_prod.tasks", "Overview of the process", "Production process used to transform point clouds classification", "Strategy to find optimal decision thresholds for Building validation", "Default configuration", "Developer\u2019s guide", "How to optimize building validation decision thresholds?", "Lidar-Prod > Documentation", "<no title>", "Installation", "Using the app"], "terms": {"class": [0, 2, 3, 9, 10], "possible_task": 0, "valu": [0, 2], "sourc": [0, 1, 2, 5, 6, 9, 10, 11], "base": [0, 2, 3, 4, 5, 8, 9, 10], "enum": 0, "an": [0, 2, 3, 7, 8, 12], "enumer": 0, "apply_build": 0, "apply_on_build": [0, 12], "clean": [0, 6, 12], "get_shapefil": [0, 12], "id_vegetation_unclassifi": 0, "identify_vegetation_unclassifi": [0, 12], "opt_build": 0, "optimize_build": [0, 8, 12], "opt_unclassifi": 0, "optimize_unc_id": [0, 12], "opt_veget": 0, "optimize_veg_id": [0, 12], "main": [0, 7, 9, 10], "config": [0, 1, 6, 12], "dictconfig": [0, 1], "entri": [0, 9, 10], "point": [0, 2, 3, 5, 8, 9, 10, 12], "either": [0, 2, 7], "appli": 0, "optim": [0, 2, 4, 6, 9, 10], "threshold": [0, 2, 4, 6, 9, 10], "check": [0, 2], "configur": [0, 1, 2, 8, 9, 12], "file": [0, 2, 3, 4, 6, 7, 8, 11, 12], "usag": [0, 11], "eval_tim": 1, "function": 1, "callabl": 1, "decor": 1, "log": 1, "durat": 1, "method": 1, "extra": [1, 2, 4], "ignore_warn": [1, 6], "print_config": [1, 6, 12], "resolv": 1, "bool": [1, 2], "true": [1, 2, 6, 8, 12], "cfg_print_path": 1, "str": [1, 2], "config_tre": 1, "txt": 1, "none": [1, 2], "print": [1, 12], "content": [1, 3, 7, 12], "us": [1, 2, 3, 5, 7, 8, 9, 10, 11], "rich": 1, "librari": [1, 5, 7, 9, 10], "its": [1, 2, 3, 9, 10], "tree": 1, "structur": 1, "paramet": [1, 2, 8, 12], "compos": 1, "hydra": [1, 6, 12], "option": [1, 2, 12], "whether": 1, "refer": [1, 2, 6, 8, 12], "field": [1, 2], "where": [1, 2, 3, 4], "save": [1, 2, 8, 12], "buildingvalidationclusterinfo": 2, "probabl": [2, 3, 4, 5, 8, 9, 10, 12], "ndarrai": 2, "overlai": [2, 4], "entropi": [2, 4, 6, 8, 12], "target": 2, "int": [2, 6], "object": [2, 4, 5, 9, 10], "element": [2, 9, 10], "need": [2, 7, 8, 9, 10, 11, 12], "confirm": [2, 4, 5], "refut": [2, 4], "uncertain": [2, 4], "about": 2, "cluster": [2, 4, 5, 6], "candid": [2, 4, 5, 6], "build": [2, 3, 6, 7, 9, 10, 11, 12], "buildingvalid": [2, 6], "shp_path": [2, 6, 12], "bd_uni_connection_param": [2, 6, 11], "bd_uni_request": [2, 6], "data_format": [2, 6, 8, 12], "use_final_classification_cod": [2, 6], "logic": 2, "valid": [2, 9], "The": [2, 3, 4, 5, 7, 9, 10, 11, 12], "identifi": [2, 4, 11, 12], "rule": [2, 3, 4, 5, 8, 9, 10], "algorithm": [2, 4, 5, 8, 9, 10], "ar": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12], "togeth": [2, 8, 9, 10], "bduni": [2, 9, 10], "vector": [2, 4, 9, 10], "cloud": [2, 8, 9, 10, 12], "fall": 2, "under": [2, 8], "flag": [2, 5, 8, 12], "Then": [2, 4, 11], "classif": [2, 5, 6, 8, 9, 10], "dim": 2, "i": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12], "updat": [2, 4, 6, 8, 9, 10], "per": 2, "group": [2, 4, 5, 6, 8], "basi": 2, "both": 2, "ai": [2, 5, 9, 10], "see": [2, 7, 11, 12], "readm": 2, "md": [2, 7], "detail": [2, 6], "process": [2, 5, 7, 8, 9], "prepar": [2, 6, 8, 12], "input_valu": 2, "pipelin": 2, "prepared_las_path": 2, "save_result": 2, "fals": [2, 6, 8], "run": [2, 7, 9, 11], "target_las_path": 2, "applic": [2, 6, 9, 10, 11, 12], "transform": [2, 9], "follow": [2, 7, 8], "pdal": 2, "path": [2, 6, 8, 12], "input": [2, 4, 6, 12], "la": [2, 3, 4, 6, 8, 12], "channel": [2, 8, 12], "_sphinx_paramlinks_lidar_prod": 2, "return": 2, "type": 2, "setup": [2, 7, 11], "defin": [2, 4, 5, 7], "variabl": 2, "src_las_path": 2, "min_confidence_confirm": [2, 6], "float": [2, 6], "min_frac_confirm": [2, 6], "min_frac_confirmation_factor_if_bd_uni_overlai": [2, 6], "min_uni_db_overlay_frac": [2, 6], "min_confidence_refut": [2, 6], "min_frac_refut": [2, 6], "min_entropy_uncertainti": [2, 6], "min_frac_entropy_uncertain": [2, 6], "decis": [2, 4, 9, 10], "cluser": 2, "level": [2, 4, 5, 7, 8], "buildingvalidationoptim": [2, 6], "todo": [2, 6, 8], "dict": 2, "studi": [2, 6], "design": [2, 6], "ani": 2, "buildings_correction_label": [2, 6, 8], "debug": [2, 8, 12], "In": [2, 7], "lidar": [2, 4, 10, 11], "prod": [2, 7, 10, 11], "each": [2, 4], "implement": [2, 7], "dedic": 2, "python": [2, 7, 8], "via": [2, 4, 9, 10, 12], "we": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12], "make": [2, 7], "sure": [2, 8], "all": 2, "one": [2, 4, 5, 9, 10, 12], "actual": 2, "product": [2, 5, 7, 8, 9, 10, 11], "For": [2, 4, 5, 8, 12], "higher": [2, 5], "intern": 2, "cohes": 2, "doe": 2, "know": 2, "anyth": 2, "which": [2, 3, 4, 5, 7, 8, 9, 10, 11], "taken": 2, "care": 2, "two": [2, 4, 5, 8], "dataclass": 2, "connect": [2, 4], "describ": [2, 5], "inform": [2, 6, 9, 10], "necessari": 2, "perform": [2, 4, 8], "differ": [2, 5, 8, 9, 10], "most": 2, "time": [2, 3], "consum": [2, 3], "step": [2, 3, 7, 8], "data": [2, 5, 8], "includ": [2, 4, 8], "from": [2, 3, 4, 5, 7, 8, 11], "public": [2, 9, 10, 11], "databs": 2, "up": [2, 7, 8, 12], "sever": [2, 3, 5], "minut": 2, "km\u00b2": 2, "break": 2, "down": 2, "onli": [2, 9, 10], "occur": 2, "onc": [2, 8], "output": [2, 5, 6, 12], "intermediari": 2, "store": 2, "results_output_dir": [2, 6, 8], "directori": [2, 8], "so": [2, 7, 8, 9, 10], "oper": 2, "mai": [2, 4, 5, 8], "resum": 2, "instanc": [2, 5], "rerun": 2, "evalu": [2, 6, 12], "deseri": 2, "set": [2, 4, 5], "comput": 2, "recal": [2, 4, 5, 6], "precis": [2, 4, 5, 6], "autom": [2, 4, 5, 8, 9, 10], "well": [2, 5], "other": [2, 9, 10, 12], "metric": [2, 6], "confus": 2, "matric": 2, "If": [2, 4], "dataset": [2, 4, 8, 9, 10], "wa": [2, 5, 7, 8], "thi": [2, 3, 4, 7, 8, 12], "ran": 2, "test": [2, 4, 12], "dictionnari": 2, "schema": 2, "metric_nam": 2, "metric_valu": 2, "evaluate_decis": 2, "mts_gt": 2, "ia_decis": 2, "get": [2, 11], "how": [2, 5, 7, 9], "good": 2, "modul": [2, 3, 8, 9], "were": [2, 4, 5, 8, 9, 10], "ground": [2, 4], "truth": 2, "u": 2, "unsur": [2, 4, 5, 6], "n": 2, "No": 2, "y": 2, "ye": 2, "predict": [2, 8, 9, 10, 12], "c": 2, "r": 2, "matrix": 2, "horizont": 2, "vertic": [2, 4], "uu": 2, "ur": 2, "uc": 2, "nu": 2, "nr": 2, "nc": 2, "yu": 2, "yr": 2, "yc": 2, "proport": [2, 4, 5], "among": [2, 4, 5], "total": 2, "accuraci": 2, "accur": 2, "same": [2, 4, 8], "label": [2, 8], "qualiti": [2, 9, 10, 11], "assum": 2, "perfect": 2, "posterior": 2, "shape": 2, "known": 2, "consid": [2, 4], "ambigu": [2, 4], "ignor": 2, "yn": 2, "np": 2, "arrai": 2, "0": [2, 4, 6], "1": [2, 6, 8], "2": 2, "genet": [2, 5, 8, 9, 10], "gener": [2, 5, 7, 8], "final": [2, 5, 6], "serial": 2, "specifi": [2, 8, 12], "extract": 2, "list": [2, 12], "pickl": [2, 6, 8], "few": 2, "attribut": 2, "overrid": [2, 12], "code": [2, 6, 8], "adapt": 2, "those": [2, 4, 5, 12], "threshod": 2, "result": [2, 7, 8, 12], "constraints_func": [2, 6], "trial": 2, "buildingcompletor": [2, 6], "min_building_proba": [2, 6], "5": [2, 4, 6], "complet": 2, "form": 2, "suffici": 2, "size": 2, "some": 2, "too": [2, 4], "isol": [2, 11], "even": 2, "though": 2, "thei": [2, 3, 4, 5, 8, 12], "might": [2, 5, 8, 9, 10], "have": [2, 3, 4, 8], "high": [2, 4, 7, 9, 10], "probabilii": 2, "can": [2, 4, 7, 8, 9, 10, 11, 12], "trust": 2, "enough": [2, 4], "neigborhood": 2, "larg": [2, 7, 8], "alreadi": [2, 4], "surround": 2, "select": 2, "p": [2, 4], "factor": [2, 4], "when": [2, 4, 7], "xy": [2, 4], "A": [2, 3, 8, 12], "b": 2, "contain": 2, "part": [2, 12], "accordingli": 2, "prepare_for_building_complet": 2, "them": [2, 4], "previous": [2, 4], "relax": [2, 4], "2d": 2, "toler": [2, 6], "belong": [2, 4], "potenti": [2, 4], "termin": 2, "pipe": 2, "update_classif": 2, "dimens": [2, 3, 4, 9, 10, 12], "buildingidentifi": [2, 6], "found": [2, 4, 5, 8, 9, 10], "being": [2, 4, 5, 8, 9, 10], "mean": [2, 7, 9, 10], "new": [2, 7], "exclud": 2, "former": 2, "cleaner": [2, 6], "extra_dim": [2, 6], "iter": 2, "keep": [2, 8], "add_dimens": 2, "las_data": 2, "lasdata": 2, "add": [2, 8, 12], "exist": 2, "self": [2, 7], "extra_dimens": 2, "get_extra_dims_as_str": 2, "stringifi": 2, "empti": 2, "remove_dimens": 2, "remov": 2, "laspi": 2, "epsg": [2, 6], "out": 2, "infer": [2, 3], "metadata": 2, "bduniconnectionparam": [2, 6], "host": [2, 6, 7, 12], "user": [2, 6, 11], "pwd": [2, 6, 11], "bd_name": [2, 6], "url": 2, "credenti": 2, "databas": [2, 4, 7, 9, 10, 11, 12], "typic": 2, "check_bbox_intersects_territoire_with_srid": 2, "bd_param": 2, "bbox": 2, "epsg_srid": 2, "bound": 2, "box": 2, "intersect": 2, "territori": 2, "gcms_territoir": 2, "expect": 2, "srid": 2, "As": [2, 5, 8], "geometri": 2, "indic": [2, 8], "origin": [2, 8], "project": [2, 11], "compar": [2, 4], "common": [2, 9], "territoir": 2, "queri": [2, 7, 12], "st_union": 2, "combin": 2, "would": 2, "eg": 2, "5490": 2, "guadeloup": 2, "martiniqu": 2, "get_a_las_to_las_pdal_pipelin": 2, "op": 2, "creat": [2, 11, 12], "preserv": 2, "format": [2, 8, 12], "forward": [2, 7], "everi": 2, "e": [2, 4, 5, 7, 8], "g": [2, 4, 7], "filter": 2, "assign": 2, "get_input_las_metadata": 2, "reader": 2, "get_integer_bbox": 2, "buffer": [2, 6], "number": [2, 5], "cast": 2, "x": 2, "min": 2, "max": 2, "integ": 2, "read": 2, "befor": [2, 8], "default": [2, 4, 9, 12], "dictionari": 2, "get_las_data_from_la": 2, "las_path": 2, "load": 2, "get_pdal_read": 2, "standard": 2, "impos": 2, "lamber": 2, "93": 2, "sr": 2, "get_pdal_writ": 2, "writer": 2, "4": [2, 6], "specif": [2, 11, 12], "dataformat": 2, "8": 2, "write": 2, "get_pipelin": 2, "": [2, 9, 12], "correspond": [2, 12], "string": [2, 8], "cr": [2, 4], "header": 2, "pdal_read_las_arrai": 2, "name": [2, 4, 7, 12], "ones": 2, "like": [2, 12], "access": [2, 7], "request_bd_uni_for_building_shapefil": 2, "shapefile_path": 2, "request": [2, 7, 11], "bd": [2, 12], "uni": [2, 12], "shapefil": [2, 12], "non": [2, 4, 7], "destruct": 2, "area": [2, 4, 9, 10], "interest": 2, "also": [2, 5, 8, 9, 10, 11, 12], "presenc": 2, "column": 2, "fill": [2, 11], "later": [2, 4], "note": [2, 8, 12], "mix": 2, "tabl": 2, "postgi": [2, 11], "declar": 2, "legal": 2, "tell": 2, "3": [2, 6], "letter": 2, "give": [2, 8], "hint": 2, "footprint": 2, "save_las_data_to_la": 2, "split_idx_by_dim": 2, "dim_arrai": 2, "sequenc": 2, "share": 2, "order": 2, "ascend": 2, "goe": 3, "through": [3, 4], "alter": 3, "At": 3, "first": [3, 4], "raw": 3, "sent": 3, "anoth": [3, 5, 8, 12], "myria3d": 3, "variou": 3, "decid": 3, "veget": [3, 6, 12], "unclassifi": [3, 6, 12], "someth": 3, "els": 3, "extern": 3, "segment": [3, 4, 9, 10], "second": 3, "arrow": 3, "repres": [3, 5], "come": 3, "end": 4, "goal": 4, "tool": 4, "edit": [4, 11], "much": [4, 5], "confid": [4, 5, 6], "highlight": [4, 9, 10], "remain": 4, "uncertainti": [4, 9, 10], "human": [4, 9, 10], "inspect": 4, "went": 4, "geometr": 4, "plane": 4, "surfac": 4, "abov": 4, "5m": 4, "etc": 4, "semant": [4, 7, 9, 10], "model": [4, 5, 8, 9, 10], "produc": [4, 5, 9, 10], "calcul": 4, "associ": 4, "respect": [4, 8], "you": [4, 8, 11, 12], "leverag": [4, 7], "packag": [4, 7, 11, 12], "aerial": 4, "deep": [4, 8, 9, 10], "learn": [4, 8, 9, 10], "done": 4, "against": 4, "That": 4, "ha": 4, "been": 4, "establish": 4, "best": [4, 12], "exactli": 4, "possibl": 4, "mark": 4, "elsewis": 4, "compon": 4, "e1": 4, "c1": [4, 5], "reduc": [4, 5], "requir": [4, 5, 7, 9, 10, 12], "r1": 4, "due": 4, "e2": 4, "c2": [4, 5], "OR": 4, "o1": 4, "r2": 4, "AND": 4, "safeguard": 4, "suppos": 4, "captur": 4, "chosen": [4, 5], "multi": [4, 5, 9, 10], "hyperparamet": [4, 5], "aim": [4, 9, 10], "maxim": [4, 5, 6], "current": [4, 9, 10, 12], "15km\u00b2": [4, 8], "express": 4, "percentag": [4, 5], "86": 4, "98": [4, 5, 6], "becaus": 4, "scatter": 4, "dure": [4, 8, 11, 12], "proba": 4, "fashion": 4, "plan": 4, "rest": 4, "thing": 4, "ad": [4, 7], "avoid": 4, "direct": [4, 6, 7], "modif": 4, "take": [4, 9, 10], "place": 4, "outsid": 4, "scope": 4, "softwar": 4, "miss": [4, 9, 10], "probabilt": 4, "index": [4, 9], "newli": 4, "section": 5, "depend": [5, 7, 9, 10, 11], "deriv": 5, "highli": 5, "coupl": 5, "lower": 5, "There": 5, "must": [5, 8], "therefor": 5, "jointli": 5, "These": 5, "quantiti": 5, "error": [5, 9, 10], "introduc": 5, "balanc": [5, 9, 10], "between": [5, 9, 10], "made": [5, 8], "approach": [5, 9, 10], "choic": 5, "constrain": 5, "nsga": [5, 8], "ii": [5, 8], "optuna": [5, 6], "constraint": [5, 6], "empir": 5, "search": 5, "three": 5, "focus": 5, "solut": [5, 8], "meet": 5, "criteria": 5, "after": 5, "pareto": 5, "front": 5, "effici": 5, "criterion": 5, "could": 5, "increas": 5, "without": 5, "compliant": 5, "manag": [6, 11, 12], "here": 6, "show": 6, "glanc": 6, "folder": [6, 8, 12], "more": [6, 8], "src_la": [6, 12], "output_dir": [6, 12], "runtim": 6, "cwd": 6, "2154": 6, "las_dimens": [6, 8, 12], "terrascan_norm": 6, "normal": 6, "terrascan_dist": 6, "distanc": 6, "terrascan_devi": 6, "deviat": 6, "terrascan_reli": 6, "ai_vegetation_proba": 6, "ai_unclassified_proba": 6, "ai_building_proba": [6, 12], "cluster_id": 6, "clusterid": 6, "uni_db_overlai": 6, "bdtopooverlai": 6, "candidate_buildings_flag": 6, "f_candidateb": 6, "clusterid_candidate_build": 6, "cid_candidateb": 6, "clusterid_confirmed_or_high_proba": 6, "cid_isolatedorconfirm": 6, "completion_non_candidate_flag": 6, "f_noncandidatecomplet": 6, "ai_building_identifi": 6, "ai_vegetation_unclassified_group": 6, "vegetation_target": 6, "vegetation_low": 6, "vegetation_medium": 6, "vegetation_high": 6, "202": 6, "unsure_by_entropi": 6, "200": 6, "unclust": 6, "ia_refut": 6, "110": 6, "ia_refuted_but_under_db_uni": 6, "111": 6, "both_unsur": 6, "112": 6, "ia_confirmed_onli": 6, "113": 6, "db_overlayed_onli": 6, "114": 6, "both_confirm": 6, "115": 6, "214": 6, "not_build": 6, "208": 6, "6": 6, "detailed_to_fin": 6, "input_build": 6, "_target_": 6, "lidar_prod": [6, 7, 8, 9, 11, 12], "task": [6, 8, 9], "uint": 6, "ushort": 6, "uchar": 6, "output_build": 6, "input_vegetation_unclassifi": 6, "uint32": 6, "output_vegetation_unclassifi": 6, "building_valid": [6, 8, 12], "null": 6, "min_point": 6, "10": 6, "50": 6, "7489066375339118": 6, "16236610677624053": 6, "5532221883488597": 6, "7243937589483613": 6, "9753597180902244": 6, "30759538271378295": 6, "254212461691427": 6, "7343497391001854": 6, "building_validation_optim": 6, "input_las_dir": [6, 8], "group_info_pickle_path": 6, "group_info": 6, "prepared_las_dir": 6, "updated_las_dir": 6, "building_validation_thresholds_pickl": [6, 8], "optimized_threshold": [6, 8], "true_posit": 6, "19": 6, "false_posit": 6, "20": 6, "false_neg": 6, "21": 6, "min_frac": 6, "95": 6, "05": 6, "create_studi": 6, "study_nam": 6, "auto_precision_recal": 6, "sampler": 6, "nsgaiisampl": 6, "population_s": 6, "mutation_prob": 6, "25": 6, "crossover_prob": 6, "swapping_prob": 6, "seed": 6, "12345": 6, "functool": 6, "partial": 6, "_args_": 6, "get_method": 6, "n_trial": 6, "400": 6, "min_precision_constraint": 6, "min_recall_constraint": 6, "min_automation_constraint": 6, "35": 6, "groups_count": 6, "group_build": 6, "group_no_build": 6, "group_unsur": 6, "proportion_of_uncertainti": 6, "p_unsur": 6, "proportion_of_refut": 6, "p_refut": 6, "proportion_of_confirm": 6, "p_confirm": 6, "confusion_matrix_norm": 6, "confusion_matrix_no_norm": 6, "proportion_of_automated_decis": 6, "p_auto": 6, "refutation_accuraci": 6, "a_refut": 6, "confirmation_accuraci": 6, "a_confirm": 6, "building_identif": 6, "75": 6, "is3d": 6, "building_complet": 6, "basic_identif": 6, "vegetation_threshold": 6, "3923": 6, "unclassified_threshold": 6, "2455": 6, "vegetation_nb_tri": 6, "100": 6, "unclassified_nb_tri": 6, "util": 6, "serveurbdudiff": 6, "ign": 6, "fr": 6, "bduni_france_consult": [6, 12], "convent": 7, "py": [7, 8, 9, 10, 12], "releas": 7, "functionn": 7, "document": [7, 12], "role": 7, "readi": 7, "fast": [7, 8], "branch": [7, 11], "match": [7, 8, 12], "activ": [7, 8, 11, 12], "environ": [7, 8, 12], "conda": [7, 8, 11, 12], "m": [7, 12], "pytest": 7, "One": 7, "665mb": 7, "action": [7, 12], "runner": 7, "publicli": 7, "avail": 7, "moment": 7, "absenc": 7, "xfail": 7, "local": 7, "featur": 7, "hoc": 7, "refactor": 7, "merg": 7, "dev": 7, "pull": 7, "push": 7, "workflow": 7, "docker": 7, "imag": [7, 12], "lint": 7, "event": 7, "accept": 7, "case": 7, "pass": 7, "tag": 7, "date": [7, 12], "tutori": [7, 8], "app": [7, 8, 9], "additionnali": 7, "github": [7, 11, 12], "page": [7, 11], "guid": [8, 12], "explain": 8, "strategi": [8, 9, 10], "To": [8, 11, 12], "abl": 8, "reach": 8, "correct": [8, 9, 10, 12], "track": 8, "distinguish": 8, "posit": 8, "neg": 8, "Theses": 8, "bulding_valid": 8, "furthermor": 8, "train": [8, 9, 10], "detect": [8, 12], "consist": 8, "help": [8, 11], "better": 8, "sens": 8, "larger": 8, "provid": [8, 12], "divers": 8, "said": 8, "unseen": 8, "almost": 8, "equal": 8, "robust": 8, "volum": 8, "instal": [8, 9, 12], "your": [8, 11], "live": 8, "singl": 8, "laz": 8, "subfold": 8, "basenam": 8, "Be": 8, "particular": 8, "clasif": 8, "keyword": 8, "otpim": 8, "full": 8, "val": 8, "want": [8, 12], "capabl": 8, "param": 8, "previou": 8, "pool": 8, "mode": [8, 11], "develop": [8, 9, 11, 12], "command": 8, "line": 8, "deb": 8, "et": 8, "al": 8, "2002": 8, "elitist": 8, "multiobject": 8, "augment": [9, 10], "neural": [9, 10], "network": [9, 10, 12], "Its": [9, 10], "geograph": [9, 10], "right": [9, 10], "simpl": [9, 10], "our": [9, 10, 12], "fuse": [9, 10], "ensur": [9, 10], "while": [9, 10], "minim": [9, 10], "spot": [9, 10], "now": [9, 10], "address": [9, 10], "extens": [9, 10], "multiclass": [9, 10], "overview": 9, "find": 9, "anaconda": 11, "script": 11, "mamba": 11, "top": 11, "faster": 11, "clone": 11, "git": 11, "http": 11, "com": 11, "ignf": 11, "control": 11, "cd": 11, "www": 11, "individu": 11, "sudo": 11, "apt": 11, "setup_env": [11, 12], "sh": [11, 12], "env": [11, 12], "anywher": 11, "directli": 11, "pip": 11, "upgrad": 11, "tarbal": 11, "refert": 11, "bd_uni": 11, "copi": [11, 12], "credentials_templ": 11, "yaml": [11, 12], "cp": 11, "blank": 11, "integr": 12, "v": 12, "local_src_las_dir": 12, "local_output_dir": 12, "src_las_basenam": 12, "encapsul": 12, "virtual": 12, "built": 12, "dockerfil": 12, "standalon": 12, "should": 12, "repositori": 12, "whose": 12, "connexion": 12, "addit": 12, "thes": 12, "forc": 12, "instead": 12, "db": 12, "fly": 12, "By": 12, "overriden": 12, "syntax": 12, "h": 12, "pretti": 12, "color": 12, "bash": 12, "mostli": 12, "simpli": 12, "task_nam": 12}, "objects": {"lidar_prod.commons": [[1, 0, 0, "-", "commons"]], "lidar_prod.commons.commons": [[1, 1, 1, "", "eval_time"], [1, 1, 1, "", "extras"], [1, 1, 1, "", "ignore_warnings"], [1, 1, 1, "", "print_config"]], "lidar_prod.commons.commons.print_config.params": [[1, 2, 1, "", "cfg_print_path"], [1, 2, 1, "", "config"], [1, 2, 1, "", "resolve"]], "lidar_prod": [[0, 0, 0, "-", "run"]], "lidar_prod.run": [[0, 3, 1, "", "POSSIBLE_TASK"], [0, 1, 1, "", "main"]], "lidar_prod.run.POSSIBLE_TASK": [[0, 4, 1, "", "APPLY_BUILDING"], [0, 4, 1, "", "CLEANING"], [0, 4, 1, "", "GET_SHAPEFILE"], [0, 4, 1, "", "ID_VEGETATION_UNCLASSIFIED"], [0, 4, 1, "", "OPT_BUIlDING"], [0, 4, 1, "", "OPT_UNCLASSIFIED"], [0, 4, 1, "", "OPT_VEGETATION"]], "lidar_prod.tasks": [[2, 0, 0, "-", "building_completion"], [2, 0, 0, "-", "building_identification"], [2, 0, 0, "-", "building_validation"], [2, 0, 0, "-", "building_validation_optimization"], [2, 0, 0, "-", "cleaning"], [2, 0, 0, "-", "utils"]], "lidar_prod.tasks.building_completion": [[2, 3, 1, "", "BuildingCompletor"]], "lidar_prod.tasks.building_completion.BuildingCompletor": [[2, 5, 1, "", "prepare_for_building_completion"], [2, 5, 1, "", "run"], [2, 5, 1, "", "update_classification"]], "lidar_prod.tasks.building_completion.BuildingCompletor.prepare_for_building_completion.params": [[2, 2, 1, "", "src_las_path"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.building_completion.BuildingCompletor.run.params": [[2, 2, 1, "", "input_values"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.building_identification": [[2, 3, 1, "", "BuildingIdentifier"]], "lidar_prod.tasks.building_identification.BuildingIdentifier": [[2, 5, 1, "", "run"]], "lidar_prod.tasks.building_identification.BuildingIdentifier.run.params": [[2, 2, 1, "", "building probability channel"], [2, 2, 1, "", "input_values"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.building_validation": [[2, 3, 1, "", "BuildingValidationClusterInfo"], [2, 3, 1, "", "BuildingValidator"], [2, 3, 1, "", "thresholds"]], "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo": [[2, 4, 1, "", "entropies"], [2, 4, 1, "", "overlays"], [2, 4, 1, "", "probabilities"], [2, 4, 1, "", "target"]], "lidar_prod.tasks.building_validation.BuildingValidator": [[2, 5, 1, "", "prepare"], [2, 5, 1, "", "run"], [2, 5, 1, "", "setup"], [2, 5, 1, "", "update"]], "lidar_prod.tasks.building_validation.BuildingValidator.run.params": [[2, 2, 1, "", "building probability channel"], [2, 2, 1, "", "input_values"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.building_validation.thresholds": [[2, 4, 1, "", "min_confidence_confirmation"], [2, 4, 1, "", "min_confidence_refutation"], [2, 4, 1, "", "min_entropy_uncertainty"], [2, 4, 1, "", "min_frac_confirmation"], [2, 4, 1, "", "min_frac_confirmation_factor_if_bd_uni_overlay"], [2, 4, 1, "", "min_frac_entropy_uncertain"], [2, 4, 1, "", "min_frac_refutation"], [2, 4, 1, "", "min_uni_db_overlay_frac"]], "lidar_prod.tasks.building_validation_optimization": [[2, 3, 1, "", "BuildingValidationOptimizer"], [2, 1, 1, "", "constraints_func"]], "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer": [[2, 5, 1, "", "evaluate"], [2, 5, 1, "", "evaluate_decisions"], [2, 5, 1, "", "optimize"], [2, 5, 1, "", "prepare"], [2, 5, 1, "", "run"], [2, 5, 1, "", "setup"], [2, 5, 1, "", "update"]], "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.evaluate_decisions.params": [[2, 2, 1, "", "ia_decision"], [2, 2, 1, "", "mts_gt"]], "lidar_prod.tasks.cleaning": [[2, 3, 1, "", "Cleaner"]], "lidar_prod.tasks.cleaning.Cleaner": [[2, 5, 1, "", "add_dimensions"], [2, 5, 1, "", "get_extra_dims_as_str"], [2, 5, 1, "", "remove_dimensions"], [2, 5, 1, "", "run"]], "lidar_prod.tasks.cleaning.Cleaner.run.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "src_las_path"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.utils": [[2, 3, 1, "", "BDUniConnectionParams"], [2, 1, 1, "", "check_bbox_intersects_territoire_with_srid"], [2, 1, 1, "", "get_a_las_to_las_pdal_pipeline"], [2, 1, 1, "", "get_input_las_metadata"], [2, 1, 1, "", "get_integer_bbox"], [2, 1, 1, "", "get_las_data_from_las"], [2, 1, 1, "", "get_pdal_reader"], [2, 1, 1, "", "get_pdal_writer"], [2, 1, 1, "", "get_pipeline"], [2, 1, 1, "", "pdal_read_las_array"], [2, 1, 1, "", "request_bd_uni_for_building_shapefile"], [2, 1, 1, "", "save_las_data_to_las"], [2, 1, 1, "", "split_idx_by_dim"]], "lidar_prod.tasks.utils.BDUniConnectionParams": [[2, 4, 1, "", "bd_name"], [2, 4, 1, "", "host"], [2, 4, 1, "", "pwd"], [2, 4, 1, "", "user"]], "lidar_prod.tasks.utils.get_a_las_to_las_pdal_pipeline.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "metadata)"], [2, 2, 1, "", "ops"], [2, 2, 1, "", "src_las_path"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.utils.get_integer_bbox.params": [[2, 2, 1, "", "buffer"], [2, 2, 1, "", "pipeline"]], "lidar_prod.tasks.utils.get_integer_bbox.params.to 0": [[2, 2, 1, "", ""]], "lidar_prod.tasks.utils.get_pdal_reader.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "from the las metadata)"], [2, 2, 1, "", "las_path"]], "lidar_prod.tasks.utils.get_pdal_writer.params": [[2, 2, 1, "", "extra_dims"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.utils.get_pipeline.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "input_value"], [2, 2, 1, "", "las header"], [2, 2, 1, "", "pipeline or path to a file to read with pdal)"]], "lidar_prod.tasks.utils.pdal_read_las_array.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "las_path"], [2, 2, 1, "", "metadata)"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:parameter", "3": "py:class", "4": "py:attribute", "5": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "parameter", "Python parameter"], "3": ["py", "class", "Python class"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "method", "Python method"]}, "titleterms": {"lidar_prod": [0, 1, 2], "run": [0, 8, 12], "common": 1, "modul": [1, 4, 11, 12], "task": [2, 12], "building_valid": 2, "building_validation_optim": 2, "building_complet": 2, "building_identif": 2, "clean": 2, "util": [2, 8], "overview": 3, "process": [3, 4], "schema": 3, "overal": 3, "product": 4, "us": [4, 12], "transform": 4, "point": 4, "cloud": 4, "classif": 4, "A": 4, "1": 4, "veget": 4, "detect": 4, "2": 4, "unclassifi": 4, "b": 4, "build": [4, 5, 8], "valid": [4, 5, 8], "complet": 4, "3": 4, "identif": 4, "strategi": 5, "find": [5, 8], "optim": [5, 8], "decis": [5, 8], "threshold": [5, 8], "motiv": 5, "default": 6, "configur": 6, "develop": 7, "": 7, "guid": [7, 9], "code": 7, "version": 7, "test": [7, 8], "continu": 7, "integr": 7, "ci": 7, "deliveri": 7, "cd": 7, "how": 8, "requir": 8, "evalu": 8, "set": [8, 11], "lidar": 9, "prod": 9, "document": 9, "background": 9, "get": 9, "start": 9, "packag": 9, "refer": 9, "indic": 9, "tabl": 9, "instal": 11, "up": 11, "virtual": 11, "environ": 11, "app": [11, 12], "python": [11, 12], "provid": 11, "credenti": 11, "within": 12, "docker": 12, "contain": 12, "from": 12, "sourc": 12, "directli": 12, "differ": 12}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"lidar_prod.run": [[0, "module-lidar_prod.run"]], "lidar_prod.commons": [[1, "lidar-prod-commons"]], "lidar_prod.commons.commons module": [[1, "module-lidar_prod.commons.commons"]], "lidar_prod.tasks": [[2, "lidar-prod-tasks"]], "building_validation": [[2, "module-lidar_prod.tasks.building_validation"]], "building_validation_optimization": [[2, "module-lidar_prod.tasks.building_validation_optimization"]], "building_completion": [[2, "module-lidar_prod.tasks.building_completion"]], "building_identification": [[2, "module-lidar_prod.tasks.building_identification"]], "cleaning": [[2, "module-lidar_prod.tasks.cleaning"]], "utils": [[2, "module-lidar_prod.tasks.utils"]], "Overview of the process": [[3, "overview-of-the-process"]], "schema of the overall process": [[3, "schema-of-the-overall-process"]], "Production process used to transform point clouds classification": [[4, "production-process-used-to-transform-point-clouds-classification"]], "A.1) Vegetation detection": [[4, "a-1-vegetation-detection"]], "A.2) Unclassified detection": [[4, "a-2-unclassified-detection"]], "B) Building Module": [[4, "b-building-module"]], "B.1) Building Validation": [[4, "b-1-building-validation"]], "B.2) Building Completion": [[4, "b-2-building-completion"]], "B.3) Building Identification": [[4, "b-3-building-identification"]], "Strategy to find optimal decision thresholds for Building validation": [[5, "strategy-to-find-optimal-decision-thresholds-for-building-validation"]], "Motivations": [[5, "motivations"]], "Strategy": [[5, "strategy"]], "Default configuration": [[6, "default-configuration"]], "Developer\u2019s guide": [[7, "developer-s-guide"]], "Code versionning": [[7, "code-versionning"]], "Tests": [[7, "tests"]], "Continuous Integration (CI)": [[7, "continuous-integration-ci"]], "Continuous Delivery (CD)": [[7, "continuous-delivery-cd"]], "How to optimize building validation decision thresholds?": [[8, "how-to-optimize-building-validation-decision-thresholds"]], "Requirements": [[8, "requirements"]], "Running thresholds optimization": [[8, "running-thresholds-optimization"]], "Finding optimal thresholds": [[8, "finding-optimal-thresholds"]], "Evaluation of optimized thresholds on a test set": [[8, "evaluation-of-optimized-thresholds-on-a-test-set"]], "Utils": [[8, "utils"]], "Lidar-Prod > Documentation": [[9, "lidar-prod-documentation"]], "Background": [[9, null]], "Getting Started": [[9, null]], "Guides": [[9, null]], "Package Reference": [[9, null]], "Indices and Tables": [[9, "indices-and-tables"]], "Installation": [[11, "installation"]], "Set up a virtual environment": [[11, "set-up-a-virtual-environment"]], "Install the app as a python module": [[11, "install-the-app-as-a-python-module"]], "Provide credentials": [[11, "provide-credentials"]], "Using the app": [[12, "using-the-app"]], "Run within a docker container": [[12, "run-within-a-docker-container"]], "Run as a python module": [[12, "run-as-a-python-module"]], "Run from source directly": [[12, "run-from-source-directly"]], "Run Different tasks": [[12, "run-different-tasks"]]}, "indexentries": {"apply_building (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.APPLY_BUILDING"]], "cleaning (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.CLEANING"]], "get_shapefile (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.GET_SHAPEFILE"]], "id_vegetation_unclassified (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.ID_VEGETATION_UNCLASSIFIED"]], "opt_building (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.OPT_BUIlDING"]], "opt_unclassified (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.OPT_UNCLASSIFIED"]], "opt_vegetation (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.OPT_VEGETATION"]], "possible_task (class in lidar_prod.run)": [[0, "lidar_prod.run.POSSIBLE_TASK"]], "lidar_prod.run": [[0, "module-lidar_prod.run"]], "main() (in module lidar_prod.run)": [[0, "lidar_prod.run.main"]], "module": [[0, "module-lidar_prod.run"], [1, "module-lidar_prod.commons.commons"], [2, "module-lidar_prod.tasks.building_completion"], [2, "module-lidar_prod.tasks.building_identification"], [2, "module-lidar_prod.tasks.building_validation"], [2, "module-lidar_prod.tasks.building_validation_optimization"], [2, "module-lidar_prod.tasks.cleaning"], [2, "module-lidar_prod.tasks.utils"]], "eval_time() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.eval_time"]], "extras() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.extras"]], "ignore_warnings() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.ignore_warnings"]], "lidar_prod.commons.commons": [[1, "module-lidar_prod.commons.commons"]], "print_config() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.print_config"]], "bduniconnectionparams (class in lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams"]], "buildingcompletor (class in lidar_prod.tasks.building_completion)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor"]], "buildingidentifier (class in lidar_prod.tasks.building_identification)": [[2, "lidar_prod.tasks.building_identification.BuildingIdentifier"]], "buildingvalidationclusterinfo (class in lidar_prod.tasks.building_validation)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo"]], "buildingvalidationoptimizer (class in lidar_prod.tasks.building_validation_optimization)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer"]], "buildingvalidator (class in lidar_prod.tasks.building_validation)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator"]], "cleaner (class in lidar_prod.tasks.cleaning)": [[2, "lidar_prod.tasks.cleaning.Cleaner"]], "add_dimensions() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.add_dimensions"]], "bd_name (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.bd_name"]], "check_bbox_intersects_territoire_with_srid() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.check_bbox_intersects_territoire_with_srid"]], "constraints_func() (in module lidar_prod.tasks.building_validation_optimization)": [[2, "lidar_prod.tasks.building_validation_optimization.constraints_func"]], "entropies (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.entropies"]], "evaluate() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.evaluate"]], "evaluate_decisions() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.evaluate_decisions"]], "get_a_las_to_las_pdal_pipeline() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_a_las_to_las_pdal_pipeline"]], "get_extra_dims_as_str() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.get_extra_dims_as_str"]], "get_input_las_metadata() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_input_las_metadata"]], "get_integer_bbox() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_integer_bbox"]], "get_las_data_from_las() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_las_data_from_las"]], "get_pdal_reader() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_pdal_reader"]], "get_pdal_writer() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_pdal_writer"]], "get_pipeline() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_pipeline"]], "host (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.host"]], "lidar_prod.tasks.building_completion": [[2, "module-lidar_prod.tasks.building_completion"]], "lidar_prod.tasks.building_identification": [[2, "module-lidar_prod.tasks.building_identification"]], "lidar_prod.tasks.building_validation": [[2, "module-lidar_prod.tasks.building_validation"]], "lidar_prod.tasks.building_validation_optimization": [[2, "module-lidar_prod.tasks.building_validation_optimization"]], "lidar_prod.tasks.cleaning": [[2, "module-lidar_prod.tasks.cleaning"]], "lidar_prod.tasks.utils": [[2, "module-lidar_prod.tasks.utils"]], "min_confidence_confirmation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_confidence_confirmation"]], "min_confidence_refutation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_confidence_refutation"]], "min_entropy_uncertainty (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_entropy_uncertainty"]], "min_frac_confirmation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_confirmation"]], "min_frac_confirmation_factor_if_bd_uni_overlay (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_confirmation_factor_if_bd_uni_overlay"]], "min_frac_entropy_uncertain (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_entropy_uncertain"]], "min_frac_refutation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_refutation"]], "min_uni_db_overlay_frac (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_uni_db_overlay_frac"]], "optimize() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.optimize"]], "overlays (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.overlays"]], "pdal_read_las_array() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.pdal_read_las_array"]], "prepare() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.prepare"]], "prepare() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.prepare"]], "prepare_for_building_completion() (lidar_prod.tasks.building_completion.buildingcompletor method)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor.prepare_for_building_completion"]], "probabilities (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.probabilities"]], "pwd (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.pwd"]], "remove_dimensions() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.remove_dimensions"]], "request_bd_uni_for_building_shapefile() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.request_bd_uni_for_building_shapefile"]], "run() (lidar_prod.tasks.building_completion.buildingcompletor method)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor.run"]], "run() (lidar_prod.tasks.building_identification.buildingidentifier method)": [[2, "lidar_prod.tasks.building_identification.BuildingIdentifier.run"]], "run() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.run"]], "run() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.run"]], "run() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.run"]], "save_las_data_to_las() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.save_las_data_to_las"]], "setup() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.setup"]], "setup() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.setup"]], "split_idx_by_dim() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.split_idx_by_dim"]], "target (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.target"]], "thresholds (class in lidar_prod.tasks.building_validation)": [[2, "lidar_prod.tasks.building_validation.thresholds"]], "update() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.update"]], "update() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.update"]], "update_classification() (lidar_prod.tasks.building_completion.buildingcompletor method)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor.update_classification"]], "user (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.user"]]}})
\ No newline at end of file
+Search.setIndex({"docnames": ["apidoc/lidar_prod", "apidoc/lidar_prod.commons", "apidoc/lidar_prod.tasks", "background/overview", "background/production_process", "background/thresholds_optimization_process", "configs", "guides/development", "guides/thresholds_optimization", "index", "introduction", "tutorials/install", "tutorials/use"], "filenames": ["apidoc/lidar_prod.rst", "apidoc/lidar_prod.commons.rst", "apidoc/lidar_prod.tasks.rst", "background/overview.md", "background/production_process.md", "background/thresholds_optimization_process.md", "configs.rst", "guides/development.md", "guides/thresholds_optimization.md", "index.rst", "introduction.md", "tutorials/install.md", "tutorials/use.md"], "titles": ["lidar_prod.run", "lidar_prod.commons", "lidar_prod.tasks", "Overview of the process", "Production process used to transform point clouds classification", "Strategy to find optimal decision thresholds for Building validation", "Default configuration", "Developer\u2019s guide", "How to optimize building validation decision thresholds?", "Lidar-Prod > Documentation", "<no title>", "Installation", "Using the app"], "terms": {"class": [0, 2, 3, 9, 10], "possible_task": 0, "valu": [0, 2], "sourc": [0, 1, 2, 5, 6, 9, 10, 11], "base": [0, 2, 3, 4, 5, 8, 9, 10], "enum": 0, "an": [0, 2, 3, 7, 8, 12], "enumer": 0, "apply_build": 0, "apply_on_build": [0, 12], "clean": [0, 6, 12], "get_shapefil": [0, 12], "id_vegetation_unclassifi": 0, "identify_vegetation_unclassifi": [0, 12], "opt_build": 0, "optimize_build": [0, 8, 12], "opt_unclassifi": 0, "optimize_unc_id": [0, 12], "opt_veget": 0, "optimize_veg_id": [0, 12], "main": [0, 7, 9, 10], "config": [0, 1, 6, 12], "dictconfig": [0, 1], "entri": [0, 9, 10], "point": [0, 2, 3, 5, 8, 9, 10, 12], "either": [0, 2, 7], "appli": 0, "optim": [0, 2, 4, 6, 9, 10], "threshold": [0, 2, 4, 6, 9, 10], "check": [0, 2], "configur": [0, 1, 2, 8, 9, 12], "file": [0, 2, 3, 4, 6, 7, 8, 11, 12], "usag": [0, 11], "eval_tim": 1, "function": 1, "callabl": 1, "decor": 1, "log": 1, "durat": 1, "method": 1, "extra": [1, 2, 4], "ignore_warn": [1, 6], "print_config": [1, 6, 12], "resolv": 1, "bool": [1, 2], "true": [1, 2, 6, 8, 12], "cfg_print_path": 1, "str": [1, 2], "config_tre": 1, "txt": 1, "none": [1, 2], "print": [1, 12], "content": [1, 3, 7, 12], "us": [1, 2, 3, 5, 7, 8, 9, 10, 11], "rich": 1, "librari": [1, 5, 7, 9, 10], "its": [1, 2, 3, 9, 10], "tree": 1, "structur": 1, "paramet": [1, 2, 8, 12], "compos": 1, "hydra": [1, 6, 12], "option": [1, 2, 12], "whether": 1, "refer": [1, 2, 6, 8, 12], "field": [1, 2], "where": [1, 2, 3, 4], "save": [1, 2, 8, 12], "buildingvalidationclusterinfo": 2, "probabl": [2, 3, 4, 5, 8, 9, 10, 12], "ndarrai": 2, "overlai": [2, 4], "entropi": [2, 4, 6, 8, 12], "target": 2, "int": [2, 6], "object": [2, 4, 5, 9, 10], "element": [2, 9, 10], "need": [2, 7, 8, 9, 10, 11, 12], "confirm": [2, 4, 5], "refut": [2, 4], "uncertain": [2, 4], "about": 2, "cluster": [2, 4, 5, 6], "candid": [2, 4, 5, 6], "build": [2, 3, 6, 7, 9, 10, 11, 12], "buildingvalid": [2, 6], "shp_path": [2, 6, 12], "bd_uni_connection_param": [2, 6, 11], "bd_uni_request": [2, 6], "data_format": [2, 6, 8, 12], "use_final_classification_cod": [2, 6], "logic": 2, "valid": [2, 9], "The": [2, 3, 4, 5, 7, 9, 10, 11, 12], "identifi": [2, 4, 11, 12], "rule": [2, 3, 4, 5, 8, 9, 10], "algorithm": [2, 4, 5, 8, 9, 10], "ar": [2, 3, 4, 5, 6, 7, 8, 9, 10, 12], "togeth": [2, 8, 9, 10], "bduni": [2, 9, 10], "vector": [2, 4, 9, 10], "cloud": [2, 8, 9, 10, 12], "fall": 2, "under": [2, 8], "flag": [2, 5, 8, 12], "Then": [2, 4, 11], "classif": [2, 5, 6, 8, 9, 10], "dim": 2, "i": [2, 3, 4, 5, 7, 8, 9, 10, 11, 12], "updat": [2, 4, 6, 8, 9, 10], "per": 2, "group": [2, 4, 5, 6, 8], "basi": 2, "both": 2, "ai": [2, 5, 9, 10], "see": [2, 7, 11, 12], "readm": 2, "md": [2, 7], "detail": [2, 6], "process": [2, 5, 7, 8, 9], "prepar": [2, 6, 8, 12], "input_valu": 2, "pipelin": 2, "prepared_las_path": 2, "save_result": 2, "fals": [2, 6, 8], "las_metadata": 2, "dict": 2, "run": [2, 7, 9, 11], "target_las_path": 2, "applic": [2, 6, 9, 10, 11, 12], "transform": [2, 9], "follow": [2, 7, 8], "pdal": 2, "path": [2, 6, 8, 12], "input": [2, 4, 6, 12], "la": [2, 3, 4, 6, 8, 12], "channel": [2, 8, 12], "_sphinx_paramlinks_lidar_prod": 2, "current": [2, 4, 9, 10, 12], "metadata": 2, "propag": 2, "output": [2, 5, 6, 12], "epsg": [2, 6], "version": 2, "etc": [2, 4], "return": 2, "which": [2, 3, 4, 5, 7, 8, 9, 10, 11], "contain": 2, "inform": [2, 6, 9, 10], "pass": [2, 7], "writer": 2, "order": 2, "have": [2, 3, 4, 8], "same": [2, 4, 8], "header": 2, "sr": 2, "type": 2, "setup": [2, 7, 11], "defin": [2, 4, 5, 7], "variabl": 2, "src_las_path": 2, "min_confidence_confirm": [2, 6], "float": [2, 6], "min_frac_confirm": [2, 6], "min_frac_confirmation_factor_if_bd_uni_overlai": [2, 6], "min_uni_db_overlay_frac": [2, 6], "min_confidence_refut": [2, 6], "min_frac_refut": [2, 6], "min_entropy_uncertainti": [2, 6], "min_frac_entropy_uncertain": [2, 6], "decis": [2, 4, 9, 10], "cluser": 2, "level": [2, 4, 5, 7, 8], "buildingvalidationoptim": [2, 6], "todo": [2, 6, 8], "studi": [2, 6], "design": [2, 6], "ani": 2, "buildings_correction_label": [2, 6, 8], "debug": [2, 8, 12], "In": [2, 7], "lidar": [2, 4, 10, 11], "prod": [2, 7, 10, 11], "each": [2, 4], "implement": [2, 7], "dedic": 2, "python": [2, 7, 8], "via": [2, 4, 9, 10, 12], "we": [2, 3, 4, 5, 6, 8, 9, 10, 11, 12], "make": [2, 7], "sure": [2, 8], "all": 2, "one": [2, 4, 5, 9, 10, 12], "actual": 2, "product": [2, 5, 7, 8, 9, 10, 11], "For": [2, 4, 5, 8, 12], "higher": [2, 5], "intern": 2, "cohes": 2, "doe": 2, "know": 2, "anyth": 2, "taken": 2, "care": 2, "two": [2, 4, 5, 8], "dataclass": 2, "connect": [2, 4], "describ": [2, 5], "necessari": 2, "perform": [2, 4, 8], "differ": [2, 5, 8, 9, 10], "most": 2, "time": [2, 3], "consum": [2, 3], "step": [2, 3, 7, 8], "data": [2, 5, 8], "includ": [2, 4, 8], "from": [2, 3, 4, 5, 7, 8, 11], "public": [2, 9, 10, 11], "databs": 2, "up": [2, 7, 8, 12], "sever": [2, 3, 5], "minut": 2, "km\u00b2": 2, "break": 2, "down": 2, "onli": [2, 9, 10], "occur": 2, "onc": [2, 8], "intermediari": 2, "store": 2, "results_output_dir": [2, 6, 8], "directori": [2, 8], "so": [2, 7, 8, 9, 10], "oper": 2, "mai": [2, 4, 5, 8], "resum": 2, "instanc": [2, 5], "rerun": 2, "evalu": [2, 6, 12], "deseri": 2, "set": [2, 4, 5], "comput": 2, "recal": [2, 4, 5, 6], "precis": [2, 4, 5, 6], "autom": [2, 4, 5, 8, 9, 10], "well": [2, 5], "other": [2, 9, 10, 12], "metric": [2, 6], "confus": 2, "matric": 2, "If": [2, 4], "dataset": [2, 4, 8, 9, 10], "wa": [2, 5, 7, 8], "thi": [2, 3, 4, 7, 8, 12], "ran": 2, "test": [2, 4, 12], "dictionnari": 2, "schema": 2, "metric_nam": 2, "metric_valu": 2, "evaluate_decis": 2, "mts_gt": 2, "ia_decis": 2, "get": [2, 11], "how": [2, 5, 7, 9], "good": 2, "modul": [2, 3, 8, 9], "were": [2, 4, 5, 8, 9, 10], "ground": [2, 4], "truth": 2, "u": 2, "unsur": [2, 4, 5, 6], "n": 2, "No": 2, "y": 2, "ye": 2, "predict": [2, 8, 9, 10, 12], "c": 2, "r": 2, "matrix": 2, "horizont": 2, "vertic": [2, 4], "uu": 2, "ur": 2, "uc": 2, "nu": 2, "nr": 2, "nc": 2, "yu": 2, "yr": 2, "yc": 2, "proport": [2, 4, 5], "among": [2, 4, 5], "total": 2, "accuraci": 2, "accur": 2, "label": [2, 8], "qualiti": [2, 9, 10, 11], "assum": 2, "perfect": 2, "posterior": 2, "shape": 2, "known": 2, "consid": [2, 4], "ambigu": [2, 4], "ignor": 2, "yn": 2, "np": 2, "arrai": 2, "0": [2, 4, 6], "1": [2, 6, 8], "2": 2, "genet": [2, 5, 8, 9, 10], "gener": [2, 5, 7, 8], "final": [2, 5, 6], "serial": 2, "specifi": [2, 8, 12], "extract": 2, "list": [2, 12], "pickl": [2, 6, 8], "few": 2, "attribut": 2, "overrid": [2, 12], "code": [2, 6, 8], "adapt": 2, "those": [2, 4, 5, 12], "threshod": 2, "result": [2, 7, 8, 12], "constraints_func": [2, 6], "trial": 2, "buildingcompletor": [2, 6], "min_building_proba": [2, 6], "5": [2, 4, 6], "complet": 2, "form": 2, "suffici": 2, "size": 2, "some": 2, "too": [2, 4], "isol": [2, 11], "even": 2, "though": 2, "thei": [2, 3, 4, 5, 8, 12], "might": [2, 5, 8, 9, 10], "high": [2, 4, 7, 9, 10], "probabilii": 2, "can": [2, 4, 7, 8, 9, 10, 11, 12], "trust": 2, "enough": [2, 4], "neigborhood": 2, "larg": [2, 7, 8], "alreadi": [2, 4], "surround": 2, "select": 2, "p": [2, 4], "factor": [2, 4], "when": [2, 4, 7], "xy": [2, 4], "A": [2, 3, 8, 12], "b": 2, "part": [2, 12], "accordingli": 2, "prepare_for_building_complet": 2, "them": [2, 4], "previous": [2, 4], "relax": [2, 4], "2d": 2, "toler": [2, 6], "belong": [2, 4], "initi": 2, "update_classif": 2, "dimens": [2, 3, 4, 9, 10, 12], "buildingidentifi": [2, 6], "found": [2, 4, 5, 8, 9, 10], "being": [2, 4, 5, 8, 9, 10], "mean": [2, 7, 9, 10], "potenti": [2, 4], "new": [2, 7], "exclud": 2, "former": 2, "cleaner": [2, 6], "extra_dim": [2, 6], "iter": 2, "keep": [2, 8], "add_dimens": 2, "las_data": 2, "lasdata": 2, "add": [2, 8, 12], "exist": 2, "self": [2, 7], "extra_dimens": 2, "get_extra_dims_as_str": 2, "stringifi": 2, "empti": 2, "remove_dimens": 2, "remov": 2, "laspi": 2, "out": 2, "infer": [2, 3], "bduniconnectionparam": [2, 6], "host": [2, 6, 7, 12], "user": [2, 6, 11], "pwd": [2, 6, 11], "bd_name": [2, 6], "url": 2, "credenti": 2, "databas": [2, 4, 7, 9, 10, 11, 12], "typic": 2, "check_bbox_intersects_territoire_with_srid": 2, "bd_param": 2, "bbox": 2, "epsg_srid": 2, "bound": 2, "box": 2, "intersect": 2, "territori": 2, "gcms_territoir": 2, "expect": 2, "srid": 2, "As": [2, 5, 8], "geometri": 2, "indic": [2, 8], "origin": [2, 8], "project": [2, 11], "compar": [2, 4], "common": [2, 9], "territoir": 2, "queri": [2, 7, 12], "st_union": 2, "combin": 2, "would": 2, "eg": 2, "5490": 2, "guadeloup": 2, "martiniqu": 2, "get_a_las_to_las_pdal_pipelin": 2, "op": 2, "creat": [2, 11, 12], "preserv": 2, "format": [2, 8, 12], "forward": [2, 7], "everi": 2, "e": [2, 4, 5, 7, 8], "g": [2, 4, 7], "filter": 2, "assign": 2, "get_input_las_metadata": 2, "reader": 2, "get_integer_bbox": 2, "buffer": [2, 6], "number": [2, 5], "cast": 2, "x": 2, "min": 2, "max": 2, "integ": 2, "read": 2, "befor": [2, 8], "default": [2, 4, 9, 12], "dictionari": 2, "get_las_data_from_la": 2, "las_path": 2, "load": 2, "get_pdal_read": 2, "standard": 2, "impos": 2, "lamber": 2, "93": 2, "get_pdal_writ": 2, "reader_metadata": 2, "4": [2, 6], "specif": [2, 11, 12], "dataformat": 2, "8": 2, "write": 2, "get_pipelin": 2, "": [2, 9, 12], "correspond": [2, 12], "pipeline_metadata": 2, "string": [2, 8], "cr": [2, 4], "pdal_read_las_arrai": 2, "name": [2, 4, 7, 12], "ones": 2, "like": [2, 12], "access": [2, 7], "request_bd_uni_for_building_shapefil": 2, "shapefile_path": 2, "request": [2, 7, 11], "bd": [2, 12], "uni": [2, 12], "shapefil": [2, 12], "non": [2, 4, 7], "destruct": 2, "area": [2, 4, 9, 10], "interest": 2, "also": [2, 5, 8, 9, 10, 11, 12], "presenc": 2, "column": 2, "fill": [2, 11], "later": [2, 4], "note": [2, 8, 12], "mix": 2, "tabl": 2, "postgi": [2, 11], "declar": 2, "legal": 2, "tell": 2, "3": [2, 6], "letter": 2, "give": [2, 8], "hint": 2, "footprint": 2, "save_las_data_to_la": 2, "split_idx_by_dim": 2, "dim_arrai": 2, "sequenc": 2, "share": 2, "ascend": 2, "goe": 3, "through": [3, 4], "alter": 3, "At": 3, "first": [3, 4], "raw": 3, "sent": 3, "anoth": [3, 5, 8, 12], "myria3d": 3, "variou": 3, "decid": 3, "veget": [3, 6, 12], "unclassifi": [3, 6, 12], "someth": 3, "els": 3, "extern": 3, "segment": [3, 4, 9, 10], "second": 3, "arrow": 3, "repres": [3, 5], "come": 3, "end": 4, "goal": 4, "tool": 4, "edit": [4, 11], "much": [4, 5], "confid": [4, 5, 6], "highlight": [4, 9, 10], "remain": 4, "uncertainti": [4, 9, 10], "human": [4, 9, 10], "inspect": 4, "went": 4, "geometr": 4, "plane": 4, "surfac": 4, "abov": 4, "5m": 4, "semant": [4, 7, 9, 10], "model": [4, 5, 8, 9, 10], "produc": [4, 5, 9, 10], "calcul": 4, "associ": 4, "respect": [4, 8], "you": [4, 8, 11, 12], "leverag": [4, 7], "packag": [4, 7, 11, 12], "aerial": 4, "deep": [4, 8, 9, 10], "learn": [4, 8, 9, 10], "done": 4, "against": 4, "That": 4, "ha": 4, "been": 4, "establish": 4, "best": [4, 12], "exactli": 4, "possibl": 4, "mark": 4, "elsewis": 4, "compon": 4, "e1": 4, "c1": [4, 5], "reduc": [4, 5], "requir": [4, 5, 7, 9, 10, 12], "r1": 4, "due": 4, "e2": 4, "c2": [4, 5], "OR": 4, "o1": 4, "r2": 4, "AND": 4, "safeguard": 4, "suppos": 4, "captur": 4, "chosen": [4, 5], "multi": [4, 5, 9, 10], "hyperparamet": [4, 5], "aim": [4, 9, 10], "maxim": [4, 5, 6], "15km\u00b2": [4, 8], "express": 4, "percentag": [4, 5], "86": 4, "98": [4, 5, 6], "becaus": 4, "scatter": 4, "dure": [4, 8, 11, 12], "proba": 4, "fashion": 4, "plan": 4, "rest": 4, "thing": 4, "ad": [4, 7], "avoid": 4, "direct": [4, 6, 7], "modif": 4, "take": [4, 9, 10], "place": 4, "outsid": 4, "scope": 4, "softwar": 4, "miss": [4, 9, 10], "probabilt": 4, "index": [4, 9], "newli": 4, "section": 5, "depend": [5, 7, 9, 10, 11], "deriv": 5, "highli": 5, "coupl": 5, "lower": 5, "There": 5, "must": [5, 8], "therefor": 5, "jointli": 5, "These": 5, "quantiti": 5, "error": [5, 9, 10], "introduc": 5, "balanc": [5, 9, 10], "between": [5, 9, 10], "made": [5, 8], "approach": [5, 9, 10], "choic": 5, "constrain": 5, "nsga": [5, 8], "ii": [5, 8], "optuna": [5, 6], "constraint": [5, 6], "empir": 5, "search": 5, "three": 5, "focus": 5, "solut": [5, 8], "meet": 5, "criteria": 5, "after": 5, "pareto": 5, "front": 5, "effici": 5, "criterion": 5, "could": 5, "increas": 5, "without": 5, "compliant": 5, "manag": [6, 11, 12], "here": 6, "show": 6, "glanc": 6, "folder": [6, 8, 12], "more": [6, 8], "src_la": [6, 12], "output_dir": [6, 12], "runtim": 6, "cwd": 6, "2154": 6, "las_dimens": [6, 8, 12], "terrascan_norm": 6, "normal": 6, "terrascan_dist": 6, "distanc": 6, "terrascan_devi": 6, "deviat": 6, "terrascan_reli": 6, "ai_vegetation_proba": 6, "ai_unclassified_proba": 6, "ai_building_proba": [6, 12], "cluster_id": 6, "clusterid": 6, "uni_db_overlai": 6, "bdtopooverlai": 6, "candidate_buildings_flag": 6, "f_candidateb": 6, "clusterid_candidate_build": 6, "cid_candidateb": 6, "clusterid_confirmed_or_high_proba": 6, "cid_isolatedorconfirm": 6, "completion_non_candidate_flag": 6, "f_noncandidatecomplet": 6, "ai_building_identifi": 6, "ai_vegetation_unclassified_group": 6, "vegetation_target": 6, "vegetation_low": 6, "vegetation_medium": 6, "vegetation_high": 6, "202": 6, "unsure_by_entropi": 6, "200": 6, "unclust": 6, "ia_refut": 6, "110": 6, "ia_refuted_but_under_db_uni": 6, "111": 6, "both_unsur": 6, "112": 6, "ia_confirmed_onli": 6, "113": 6, "db_overlayed_onli": 6, "114": 6, "both_confirm": 6, "115": 6, "214": 6, "not_build": 6, "208": 6, "6": 6, "detailed_to_fin": 6, "input_build": 6, "_target_": 6, "lidar_prod": [6, 7, 8, 9, 11, 12], "task": [6, 8, 9], "uint": 6, "ushort": 6, "uchar": 6, "output_build": 6, "input_vegetation_unclassifi": 6, "uint32": 6, "output_vegetation_unclassifi": 6, "building_valid": [6, 8, 12], "null": 6, "min_point": 6, "10": 6, "50": 6, "7489066375339118": 6, "16236610677624053": 6, "5532221883488597": 6, "7243937589483613": 6, "9753597180902244": 6, "30759538271378295": 6, "254212461691427": 6, "7343497391001854": 6, "building_validation_optim": 6, "input_las_dir": [6, 8], "group_info_pickle_path": 6, "group_info": 6, "prepared_las_dir": 6, "updated_las_dir": 6, "building_validation_thresholds_pickl": [6, 8], "optimized_threshold": [6, 8], "true_posit": 6, "19": 6, "false_posit": 6, "20": 6, "false_neg": 6, "21": 6, "min_frac": 6, "95": 6, "05": 6, "create_studi": 6, "study_nam": 6, "auto_precision_recal": 6, "sampler": 6, "nsgaiisampl": 6, "population_s": 6, "mutation_prob": 6, "25": 6, "crossover_prob": 6, "swapping_prob": 6, "seed": 6, "12345": 6, "functool": 6, "partial": 6, "_args_": 6, "get_method": 6, "n_trial": 6, "400": 6, "min_precision_constraint": 6, "min_recall_constraint": 6, "min_automation_constraint": 6, "35": 6, "groups_count": 6, "group_build": 6, "group_no_build": 6, "group_unsur": 6, "proportion_of_uncertainti": 6, "p_unsur": 6, "proportion_of_refut": 6, "p_refut": 6, "proportion_of_confirm": 6, "p_confirm": 6, "confusion_matrix_norm": 6, "confusion_matrix_no_norm": 6, "proportion_of_automated_decis": 6, "p_auto": 6, "refutation_accuraci": 6, "a_refut": 6, "confirmation_accuraci": 6, "a_confirm": 6, "building_identif": 6, "75": 6, "is3d": 6, "building_complet": 6, "basic_identif": 6, "vegetation_threshold": 6, "3923": 6, "unclassified_threshold": 6, "2455": 6, "vegetation_nb_tri": 6, "100": 6, "unclassified_nb_tri": 6, "util": 6, "serveurbdudiff": 6, "ign": 6, "fr": 6, "bduni_france_consult": [6, 12], "convent": 7, "py": [7, 8, 9, 10, 12], "releas": 7, "functionn": 7, "document": [7, 12], "role": 7, "readi": 7, "fast": [7, 8], "branch": [7, 11], "match": [7, 8, 12], "activ": [7, 8, 11, 12], "environ": [7, 8, 12], "conda": [7, 8, 11, 12], "m": [7, 12], "pytest": 7, "One": 7, "665mb": 7, "action": [7, 12], "runner": 7, "publicli": 7, "avail": 7, "moment": 7, "absenc": 7, "xfail": 7, "local": 7, "featur": 7, "hoc": 7, "refactor": 7, "merg": 7, "dev": 7, "pull": 7, "push": 7, "workflow": 7, "docker": 7, "imag": [7, 12], "lint": 7, "event": 7, "accept": 7, "case": 7, "tag": 7, "date": [7, 12], "tutori": [7, 8], "app": [7, 8, 9], "additionnali": 7, "github": [7, 11, 12], "page": [7, 11], "guid": [8, 12], "explain": 8, "strategi": [8, 9, 10], "To": [8, 11, 12], "abl": 8, "reach": 8, "correct": [8, 9, 10, 12], "track": 8, "distinguish": 8, "posit": 8, "neg": 8, "Theses": 8, "bulding_valid": 8, "furthermor": 8, "train": [8, 9, 10], "detect": [8, 12], "consist": 8, "help": [8, 11], "better": 8, "sens": 8, "larger": 8, "provid": [8, 12], "divers": 8, "said": 8, "unseen": 8, "almost": 8, "equal": 8, "robust": 8, "volum": 8, "instal": [8, 9, 12], "your": [8, 11], "live": 8, "singl": 8, "laz": 8, "subfold": 8, "basenam": 8, "Be": 8, "particular": 8, "clasif": 8, "keyword": 8, "otpim": 8, "full": 8, "val": 8, "want": [8, 12], "capabl": 8, "param": 8, "previou": 8, "pool": 8, "mode": [8, 11], "develop": [8, 9, 11, 12], "command": 8, "line": 8, "deb": 8, "et": 8, "al": 8, "2002": 8, "elitist": 8, "multiobject": 8, "augment": [9, 10], "neural": [9, 10], "network": [9, 10, 12], "Its": [9, 10], "geograph": [9, 10], "right": [9, 10], "simpl": [9, 10], "our": [9, 10, 12], "fuse": [9, 10], "ensur": [9, 10], "while": [9, 10], "minim": [9, 10], "spot": [9, 10], "now": [9, 10], "address": [9, 10], "extens": [9, 10], "multiclass": [9, 10], "overview": 9, "find": 9, "anaconda": 11, "script": 11, "mamba": 11, "top": 11, "faster": 11, "clone": 11, "git": 11, "http": 11, "com": 11, "ignf": 11, "control": 11, "cd": 11, "www": 11, "individu": 11, "sudo": 11, "apt": 11, "setup_env": [11, 12], "sh": [11, 12], "env": [11, 12], "anywher": 11, "directli": 11, "pip": 11, "upgrad": 11, "tarbal": 11, "refert": 11, "bd_uni": 11, "copi": [11, 12], "credentials_templ": 11, "yaml": [11, 12], "cp": 11, "blank": 11, "integr": 12, "v": 12, "local_src_las_dir": 12, "local_output_dir": 12, "src_las_basenam": 12, "encapsul": 12, "virtual": 12, "built": 12, "dockerfil": 12, "standalon": 12, "should": 12, "repositori": 12, "whose": 12, "connexion": 12, "addit": 12, "thes": 12, "forc": 12, "instead": 12, "db": 12, "fly": 12, "By": 12, "overriden": 12, "syntax": 12, "h": 12, "pretti": 12, "color": 12, "bash": 12, "mostli": 12, "simpli": 12, "task_nam": 12}, "objects": {"lidar_prod.commons": [[1, 0, 0, "-", "commons"]], "lidar_prod.commons.commons": [[1, 1, 1, "", "eval_time"], [1, 1, 1, "", "extras"], [1, 1, 1, "", "ignore_warnings"], [1, 1, 1, "", "print_config"]], "lidar_prod.commons.commons.print_config.params": [[1, 2, 1, "", "cfg_print_path"], [1, 2, 1, "", "config"], [1, 2, 1, "", "resolve"]], "lidar_prod": [[0, 0, 0, "-", "run"]], "lidar_prod.run": [[0, 3, 1, "", "POSSIBLE_TASK"], [0, 1, 1, "", "main"]], "lidar_prod.run.POSSIBLE_TASK": [[0, 4, 1, "", "APPLY_BUILDING"], [0, 4, 1, "", "CLEANING"], [0, 4, 1, "", "GET_SHAPEFILE"], [0, 4, 1, "", "ID_VEGETATION_UNCLASSIFIED"], [0, 4, 1, "", "OPT_BUIlDING"], [0, 4, 1, "", "OPT_UNCLASSIFIED"], [0, 4, 1, "", "OPT_VEGETATION"]], "lidar_prod.tasks": [[2, 0, 0, "-", "building_completion"], [2, 0, 0, "-", "building_identification"], [2, 0, 0, "-", "building_validation"], [2, 0, 0, "-", "building_validation_optimization"], [2, 0, 0, "-", "cleaning"], [2, 0, 0, "-", "utils"]], "lidar_prod.tasks.building_completion": [[2, 3, 1, "", "BuildingCompletor"]], "lidar_prod.tasks.building_completion.BuildingCompletor": [[2, 5, 1, "", "prepare_for_building_completion"], [2, 5, 1, "", "run"], [2, 5, 1, "", "update_classification"]], "lidar_prod.tasks.building_completion.BuildingCompletor.prepare_for_building_completion.params": [[2, 2, 1, "", "pipeline"]], "lidar_prod.tasks.building_completion.BuildingCompletor.run.params": [[2, 2, 1, "", "input_values"], [2, 2, 1, "", "las_metadata"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.building_identification": [[2, 3, 1, "", "BuildingIdentifier"]], "lidar_prod.tasks.building_identification.BuildingIdentifier": [[2, 5, 1, "", "run"]], "lidar_prod.tasks.building_identification.BuildingIdentifier.run.params": [[2, 2, 1, "", "building probability channel"], [2, 2, 1, "", "input_values"], [2, 2, 1, "", "las_metadata"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.building_validation": [[2, 3, 1, "", "BuildingValidationClusterInfo"], [2, 3, 1, "", "BuildingValidator"], [2, 3, 1, "", "thresholds"]], "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo": [[2, 4, 1, "", "entropies"], [2, 4, 1, "", "overlays"], [2, 4, 1, "", "probabilities"], [2, 4, 1, "", "target"]], "lidar_prod.tasks.building_validation.BuildingValidator": [[2, 5, 1, "", "prepare"], [2, 5, 1, "", "run"], [2, 5, 1, "", "setup"], [2, 5, 1, "", "update"]], "lidar_prod.tasks.building_validation.BuildingValidator.run.params": [[2, 2, 1, "", "building probability channel"], [2, 2, 1, "", "input_values"], [2, 2, 1, "", "las_metadata"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.building_validation.thresholds": [[2, 4, 1, "", "min_confidence_confirmation"], [2, 4, 1, "", "min_confidence_refutation"], [2, 4, 1, "", "min_entropy_uncertainty"], [2, 4, 1, "", "min_frac_confirmation"], [2, 4, 1, "", "min_frac_confirmation_factor_if_bd_uni_overlay"], [2, 4, 1, "", "min_frac_entropy_uncertain"], [2, 4, 1, "", "min_frac_refutation"], [2, 4, 1, "", "min_uni_db_overlay_frac"]], "lidar_prod.tasks.building_validation_optimization": [[2, 3, 1, "", "BuildingValidationOptimizer"], [2, 1, 1, "", "constraints_func"]], "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer": [[2, 5, 1, "", "evaluate"], [2, 5, 1, "", "evaluate_decisions"], [2, 5, 1, "", "optimize"], [2, 5, 1, "", "prepare"], [2, 5, 1, "", "run"], [2, 5, 1, "", "setup"], [2, 5, 1, "", "update"]], "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.evaluate_decisions.params": [[2, 2, 1, "", "ia_decision"], [2, 2, 1, "", "mts_gt"]], "lidar_prod.tasks.cleaning": [[2, 3, 1, "", "Cleaner"]], "lidar_prod.tasks.cleaning.Cleaner": [[2, 5, 1, "", "add_dimensions"], [2, 5, 1, "", "get_extra_dims_as_str"], [2, 5, 1, "", "remove_dimensions"], [2, 5, 1, "", "run"]], "lidar_prod.tasks.cleaning.Cleaner.run.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "src_las_path"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.utils": [[2, 3, 1, "", "BDUniConnectionParams"], [2, 1, 1, "", "check_bbox_intersects_territoire_with_srid"], [2, 1, 1, "", "get_a_las_to_las_pdal_pipeline"], [2, 1, 1, "", "get_input_las_metadata"], [2, 1, 1, "", "get_integer_bbox"], [2, 1, 1, "", "get_las_data_from_las"], [2, 1, 1, "", "get_pdal_reader"], [2, 1, 1, "", "get_pdal_writer"], [2, 1, 1, "", "get_pipeline"], [2, 1, 1, "", "pdal_read_las_array"], [2, 1, 1, "", "request_bd_uni_for_building_shapefile"], [2, 1, 1, "", "save_las_data_to_las"], [2, 1, 1, "", "split_idx_by_dim"]], "lidar_prod.tasks.utils.BDUniConnectionParams": [[2, 4, 1, "", "bd_name"], [2, 4, 1, "", "host"], [2, 4, 1, "", "pwd"], [2, 4, 1, "", "user"]], "lidar_prod.tasks.utils.get_a_las_to_las_pdal_pipeline.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "metadata)"], [2, 2, 1, "", "ops"], [2, 2, 1, "", "src_las_path"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.utils.get_integer_bbox.params": [[2, 2, 1, "", "buffer"], [2, 2, 1, "", "pipeline"]], "lidar_prod.tasks.utils.get_integer_bbox.params.to 0": [[2, 2, 1, "", ""]], "lidar_prod.tasks.utils.get_pdal_reader.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "from the las metadata)"], [2, 2, 1, "", "las_path"]], "lidar_prod.tasks.utils.get_pdal_writer.params": [[2, 2, 1, "", "extra_dims"], [2, 2, 1, "", "target_las_path"]], "lidar_prod.tasks.utils.get_pipeline.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "input_value"], [2, 2, 1, "", "las header"], [2, 2, 1, "", "las_metadata"], [2, 2, 1, "", "output las"], [2, 2, 1, "", "pipeline or path to a file to read with pdal)"]], "lidar_prod.tasks.utils.pdal_read_las_array.params": [[2, 2, 1, "", "epsg"], [2, 2, 1, "", "las_path"], [2, 2, 1, "", "metadata)"]]}, "objtypes": {"0": "py:module", "1": "py:function", "2": "py:parameter", "3": "py:class", "4": "py:attribute", "5": "py:method"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "function", "Python function"], "2": ["py", "parameter", "Python parameter"], "3": ["py", "class", "Python class"], "4": ["py", "attribute", "Python attribute"], "5": ["py", "method", "Python method"]}, "titleterms": {"lidar_prod": [0, 1, 2], "run": [0, 8, 12], "common": 1, "modul": [1, 4, 11, 12], "task": [2, 12], "building_valid": 2, "building_validation_optim": 2, "building_complet": 2, "building_identif": 2, "clean": 2, "util": [2, 8], "overview": 3, "process": [3, 4], "schema": 3, "overal": 3, "product": 4, "us": [4, 12], "transform": 4, "point": 4, "cloud": 4, "classif": 4, "A": 4, "1": 4, "veget": 4, "detect": 4, "2": 4, "unclassifi": 4, "b": 4, "build": [4, 5, 8], "valid": [4, 5, 8], "complet": 4, "3": 4, "identif": 4, "strategi": 5, "find": [5, 8], "optim": [5, 8], "decis": [5, 8], "threshold": [5, 8], "motiv": 5, "default": 6, "configur": 6, "develop": 7, "": 7, "guid": [7, 9], "code": 7, "version": 7, "test": [7, 8], "continu": 7, "integr": 7, "ci": 7, "deliveri": 7, "cd": 7, "how": 8, "requir": 8, "evalu": 8, "set": [8, 11], "lidar": 9, "prod": 9, "document": 9, "background": 9, "get": 9, "start": 9, "packag": 9, "refer": 9, "indic": 9, "tabl": 9, "instal": 11, "up": 11, "virtual": 11, "environ": 11, "app": [11, 12], "python": [11, 12], "provid": 11, "credenti": 11, "within": 12, "docker": 12, "contain": 12, "from": 12, "sourc": 12, "directli": 12, "differ": 12}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx.ext.viewcode": 1, "sphinx": 60}, "alltitles": {"lidar_prod.run": [[0, "module-lidar_prod.run"]], "lidar_prod.commons": [[1, "lidar-prod-commons"]], "lidar_prod.commons.commons module": [[1, "module-lidar_prod.commons.commons"]], "lidar_prod.tasks": [[2, "lidar-prod-tasks"]], "building_validation": [[2, "module-lidar_prod.tasks.building_validation"]], "building_validation_optimization": [[2, "module-lidar_prod.tasks.building_validation_optimization"]], "building_completion": [[2, "module-lidar_prod.tasks.building_completion"]], "building_identification": [[2, "module-lidar_prod.tasks.building_identification"]], "cleaning": [[2, "module-lidar_prod.tasks.cleaning"]], "utils": [[2, "module-lidar_prod.tasks.utils"]], "Overview of the process": [[3, "overview-of-the-process"]], "schema of the overall process": [[3, "schema-of-the-overall-process"]], "Production process used to transform point clouds classification": [[4, "production-process-used-to-transform-point-clouds-classification"]], "A.1) Vegetation detection": [[4, "a-1-vegetation-detection"]], "A.2) Unclassified detection": [[4, "a-2-unclassified-detection"]], "B) Building Module": [[4, "b-building-module"]], "B.1) Building Validation": [[4, "b-1-building-validation"]], "B.2) Building Completion": [[4, "b-2-building-completion"]], "B.3) Building Identification": [[4, "b-3-building-identification"]], "Strategy to find optimal decision thresholds for Building validation": [[5, "strategy-to-find-optimal-decision-thresholds-for-building-validation"]], "Motivations": [[5, "motivations"]], "Strategy": [[5, "strategy"]], "Default configuration": [[6, "default-configuration"]], "Developer\u2019s guide": [[7, "developer-s-guide"]], "Code versionning": [[7, "code-versionning"]], "Tests": [[7, "tests"]], "Continuous Integration (CI)": [[7, "continuous-integration-ci"]], "Continuous Delivery (CD)": [[7, "continuous-delivery-cd"]], "How to optimize building validation decision thresholds?": [[8, "how-to-optimize-building-validation-decision-thresholds"]], "Requirements": [[8, "requirements"]], "Running thresholds optimization": [[8, "running-thresholds-optimization"]], "Finding optimal thresholds": [[8, "finding-optimal-thresholds"]], "Evaluation of optimized thresholds on a test set": [[8, "evaluation-of-optimized-thresholds-on-a-test-set"]], "Utils": [[8, "utils"]], "Lidar-Prod > Documentation": [[9, "lidar-prod-documentation"]], "Background": [[9, null]], "Getting Started": [[9, null]], "Guides": [[9, null]], "Package Reference": [[9, null]], "Indices and Tables": [[9, "indices-and-tables"]], "Installation": [[11, "installation"]], "Set up a virtual environment": [[11, "set-up-a-virtual-environment"]], "Install the app as a python module": [[11, "install-the-app-as-a-python-module"]], "Provide credentials": [[11, "provide-credentials"]], "Using the app": [[12, "using-the-app"]], "Run within a docker container": [[12, "run-within-a-docker-container"]], "Run as a python module": [[12, "run-as-a-python-module"]], "Run from source directly": [[12, "run-from-source-directly"]], "Run Different tasks": [[12, "run-different-tasks"]]}, "indexentries": {"apply_building (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.APPLY_BUILDING"]], "cleaning (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.CLEANING"]], "get_shapefile (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.GET_SHAPEFILE"]], "id_vegetation_unclassified (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.ID_VEGETATION_UNCLASSIFIED"]], "opt_building (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.OPT_BUIlDING"]], "opt_unclassified (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.OPT_UNCLASSIFIED"]], "opt_vegetation (lidar_prod.run.possible_task attribute)": [[0, "lidar_prod.run.POSSIBLE_TASK.OPT_VEGETATION"]], "possible_task (class in lidar_prod.run)": [[0, "lidar_prod.run.POSSIBLE_TASK"]], "lidar_prod.run": [[0, "module-lidar_prod.run"]], "main() (in module lidar_prod.run)": [[0, "lidar_prod.run.main"]], "module": [[0, "module-lidar_prod.run"], [1, "module-lidar_prod.commons.commons"], [2, "module-lidar_prod.tasks.building_completion"], [2, "module-lidar_prod.tasks.building_identification"], [2, "module-lidar_prod.tasks.building_validation"], [2, "module-lidar_prod.tasks.building_validation_optimization"], [2, "module-lidar_prod.tasks.cleaning"], [2, "module-lidar_prod.tasks.utils"]], "eval_time() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.eval_time"]], "extras() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.extras"]], "ignore_warnings() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.ignore_warnings"]], "lidar_prod.commons.commons": [[1, "module-lidar_prod.commons.commons"]], "print_config() (in module lidar_prod.commons.commons)": [[1, "lidar_prod.commons.commons.print_config"]], "bduniconnectionparams (class in lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams"]], "buildingcompletor (class in lidar_prod.tasks.building_completion)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor"]], "buildingidentifier (class in lidar_prod.tasks.building_identification)": [[2, "lidar_prod.tasks.building_identification.BuildingIdentifier"]], "buildingvalidationclusterinfo (class in lidar_prod.tasks.building_validation)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo"]], "buildingvalidationoptimizer (class in lidar_prod.tasks.building_validation_optimization)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer"]], "buildingvalidator (class in lidar_prod.tasks.building_validation)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator"]], "cleaner (class in lidar_prod.tasks.cleaning)": [[2, "lidar_prod.tasks.cleaning.Cleaner"]], "add_dimensions() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.add_dimensions"]], "bd_name (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.bd_name"]], "check_bbox_intersects_territoire_with_srid() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.check_bbox_intersects_territoire_with_srid"]], "constraints_func() (in module lidar_prod.tasks.building_validation_optimization)": [[2, "lidar_prod.tasks.building_validation_optimization.constraints_func"]], "entropies (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.entropies"]], "evaluate() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.evaluate"]], "evaluate_decisions() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.evaluate_decisions"]], "get_a_las_to_las_pdal_pipeline() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_a_las_to_las_pdal_pipeline"]], "get_extra_dims_as_str() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.get_extra_dims_as_str"]], "get_input_las_metadata() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_input_las_metadata"]], "get_integer_bbox() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_integer_bbox"]], "get_las_data_from_las() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_las_data_from_las"]], "get_pdal_reader() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_pdal_reader"]], "get_pdal_writer() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_pdal_writer"]], "get_pipeline() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.get_pipeline"]], "host (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.host"]], "lidar_prod.tasks.building_completion": [[2, "module-lidar_prod.tasks.building_completion"]], "lidar_prod.tasks.building_identification": [[2, "module-lidar_prod.tasks.building_identification"]], "lidar_prod.tasks.building_validation": [[2, "module-lidar_prod.tasks.building_validation"]], "lidar_prod.tasks.building_validation_optimization": [[2, "module-lidar_prod.tasks.building_validation_optimization"]], "lidar_prod.tasks.cleaning": [[2, "module-lidar_prod.tasks.cleaning"]], "lidar_prod.tasks.utils": [[2, "module-lidar_prod.tasks.utils"]], "min_confidence_confirmation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_confidence_confirmation"]], "min_confidence_refutation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_confidence_refutation"]], "min_entropy_uncertainty (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_entropy_uncertainty"]], "min_frac_confirmation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_confirmation"]], "min_frac_confirmation_factor_if_bd_uni_overlay (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_confirmation_factor_if_bd_uni_overlay"]], "min_frac_entropy_uncertain (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_entropy_uncertain"]], "min_frac_refutation (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_frac_refutation"]], "min_uni_db_overlay_frac (lidar_prod.tasks.building_validation.thresholds attribute)": [[2, "lidar_prod.tasks.building_validation.thresholds.min_uni_db_overlay_frac"]], "optimize() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.optimize"]], "overlays (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.overlays"]], "pdal_read_las_array() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.pdal_read_las_array"]], "prepare() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.prepare"]], "prepare() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.prepare"]], "prepare_for_building_completion() (lidar_prod.tasks.building_completion.buildingcompletor method)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor.prepare_for_building_completion"]], "probabilities (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.probabilities"]], "pwd (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.pwd"]], "remove_dimensions() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.remove_dimensions"]], "request_bd_uni_for_building_shapefile() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.request_bd_uni_for_building_shapefile"]], "run() (lidar_prod.tasks.building_completion.buildingcompletor method)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor.run"]], "run() (lidar_prod.tasks.building_identification.buildingidentifier method)": [[2, "lidar_prod.tasks.building_identification.BuildingIdentifier.run"]], "run() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.run"]], "run() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.run"]], "run() (lidar_prod.tasks.cleaning.cleaner method)": [[2, "lidar_prod.tasks.cleaning.Cleaner.run"]], "save_las_data_to_las() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.save_las_data_to_las"]], "setup() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.setup"]], "setup() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.setup"]], "split_idx_by_dim() (in module lidar_prod.tasks.utils)": [[2, "lidar_prod.tasks.utils.split_idx_by_dim"]], "target (lidar_prod.tasks.building_validation.buildingvalidationclusterinfo attribute)": [[2, "lidar_prod.tasks.building_validation.BuildingValidationClusterInfo.target"]], "thresholds (class in lidar_prod.tasks.building_validation)": [[2, "lidar_prod.tasks.building_validation.thresholds"]], "update() (lidar_prod.tasks.building_validation.buildingvalidator method)": [[2, "lidar_prod.tasks.building_validation.BuildingValidator.update"]], "update() (lidar_prod.tasks.building_validation_optimization.buildingvalidationoptimizer method)": [[2, "lidar_prod.tasks.building_validation_optimization.BuildingValidationOptimizer.update"]], "update_classification() (lidar_prod.tasks.building_completion.buildingcompletor method)": [[2, "lidar_prod.tasks.building_completion.BuildingCompletor.update_classification"]], "user (lidar_prod.tasks.utils.bduniconnectionparams attribute)": [[2, "lidar_prod.tasks.utils.BDUniConnectionParams.user"]]}})
\ No newline at end of file
diff --git a/tutorials/install.html b/tutorials/install.html
index 2b049312..bf88182f 100644
--- a/tutorials/install.html
+++ b/tutorials/install.html
@@ -4,7 +4,7 @@
- Installation — lidar_prod V1.10.1 documentation
+ Installation — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+
diff --git a/tutorials/use.html b/tutorials/use.html
index 10eb3d23..5147b19c 100644
--- a/tutorials/use.html
+++ b/tutorials/use.html
@@ -4,7 +4,7 @@
- Using the app — lidar_prod V1.10.1 documentation
+ Using the app — lidar_prod V1.10.2 documentation
@@ -16,7 +16,7 @@
-
+