Skip to content

Commit

Permalink
DTM errors update.
Browse files Browse the repository at this point in the history
  • Loading branch information
iwatkot committed Feb 22, 2025
1 parent aab0603 commit a175b7c
Show file tree
Hide file tree
Showing 2 changed files with 13 additions and 16 deletions.
12 changes: 0 additions & 12 deletions maps4fs/generator/component/texture.py
Original file line number Diff line number Diff line change
Expand Up @@ -349,12 +349,6 @@ def draw(self) -> None:
layer_path = layer.path(self._weights_dir)
self.logger.debug("Drawing layer %s.", layer_path)
layer_image = cv2.imread(layer_path, cv2.IMREAD_UNCHANGED)
self.logger.info(
"Layer %s loaded. Shape: %s, dtype: %s.",
layer.name,
layer_image.shape,
layer_image.dtype,
)

if cumulative_image is None:
self.logger.debug("First layer, creating new cumulative image.")
Expand All @@ -363,12 +357,6 @@ def draw(self) -> None:
mask = cv2.bitwise_not(cumulative_image)
self._draw_layer(layer, info_layer_data, layer_image)
self._add_roads(layer, info_layer_data)
self.logger.info(
"Layer %s drawn. Shape of the mask: %s, dtype: %s.",
layer.name,
mask.shape,
mask.dtype,
)

output_image = cv2.bitwise_and(layer_image, mask)
cumulative_image = cv2.bitwise_or(cumulative_image, output_image)
Expand Down
17 changes: 13 additions & 4 deletions maps4fs/generator/dem.py
Original file line number Diff line number Diff line change
Expand Up @@ -144,15 +144,24 @@ def process(self) -> None:
data = self.dtm_provider.get_numpy()
except Exception as e: # pylint: disable=W0718
self.logger.error("Failed to get DEM data from DTM provider: %s.", e)
raise e
raise ValueError(
f"Failed to get DEM data from DTM provider: {e}. "
"Try using different DTM provider."
)

if len(data.shape) != 2:
self.logger.error("DTM provider returned incorrect data: more than 1 channel.")
raise ValueError("DTM provider returned incorrect data: more than 1 channel.")
raise ValueError(
"DTM provider returned incorrect data: more than 1 channel. "
"Try using different DTM provider."
)

if data.dtype not in ["int16", "uint16", "float", "float32"]:
self.logger.error("DTM provider returned incorrect data type: %s.", data.dtype)
raise ValueError(f"DTM provider returned incorrect data type: {data.dtype}.")
raise ValueError(
f"DTM provider returned incorrect data type: {data.dtype}. "
"Try using different DTM provider."
)

self.logger.debug(
"DEM data was retrieved from DTM provider. Shape: %s, dtype: %s. Min: %s, max: %s.",
Expand All @@ -167,7 +176,7 @@ def process(self) -> None:
# Check if the data contains any non zero values, otherwise raise an error.
if not np.any(data):
self.logger.error("DTM provider returned empty data.")
raise ValueError("DTM provider returned empty data.")
raise ValueError("DTM provider returned empty data. Try using different DTM provider.")

# 1. Resize DEM data to the output resolution.
resampled_data = self.resize_to_output(data)
Expand Down

0 comments on commit a175b7c

Please sign in to comment.