#!/usr/bin/env python
# coding: utf8
#
# Copyright (c) 2020 Centre National d'Etudes Spatiales (CNES).
#
# This file is part of CARS
# (see https://github.com/CNES/cars).
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
"""
General application configuration module
"""
[docs]
def get_needed_apps(
sensors_in_inputs, save_output_dsm, save_output_point_cloud, conf
):
"""
This function returns the apps needed by the CARS pipeline,
depending on overall parameters and the user configuration
"""
needed_applications = []
if sensors_in_inputs:
needed_applications += [
"grid_generation",
"grid_correction",
"resampling",
"ground_truth_reprojection",
"dense_match_filling",
"dense_matching",
"triangulation",
"dem_generation",
]
add_default_pc_outlier_removal = True
for key in conf:
if key.startswith("point_cloud_outlier_removal"):
add_default_pc_outlier_removal = False
needed_applications += [key]
if add_default_pc_outlier_removal:
needed_applications += [
"point_cloud_outlier_removal.1",
"point_cloud_outlier_removal.2",
]
if save_output_dsm or save_output_point_cloud:
if save_output_dsm:
needed_applications += [
"point_cloud_rasterization",
]
return needed_applications