cars.applications.rasterization.rasterization_tools
This module is responsible for the rasterization step: - it contains all functions related to 3D representation on a 2D raster grid TODO: refactor in several files and remove too-many-lines
Module Contents
Functions
|
Compute xstart, ystart, xsize and ysize |
|
Wrapper of simple_rasterization |
|
Compute the x and y values as 1d arrays |
|
Check if the list contains substring |
|
Find all indexes in point cloud that contains the key tag |
|
Compute vectorized raster and its statistics. |
|
Create final raster xarray dataset |
|
Rasterize a point cloud with its color bands to a Dataset |
|
Update weights |
|
Update current data with old data and weigths |
- cars.applications.rasterization.rasterization_tools.compute_xy_starts_and_sizes(resolution: float, cloud: pandas.DataFrame) Tuple[float, float, int, int]
Compute xstart, ystart, xsize and ysize of the rasterization grid from a set of points
- Parameters
resolution – Resolution of rasterized cells, expressed in cloud CRS units
cloud – set of points as returned by the create_combined_cloud function
- Returns
a tuple (xstart, ystart, xsize, ysize)
- cars.applications.rasterization.rasterization_tools.simple_rasterization_dataset_wrapper(cloud: pandas.DataFrame, resolution: float, epsg: int, xstart: float = None, ystart: float = None, xsize: int = None, ysize: int = None, sigma: float = None, radius: int = 1, dsm_no_data: int = np.nan, color_no_data: int = np.nan, msk_no_data: int = 255, list_computed_layers: List[str] = None, source_pc_names: List[str] = None) xarray.Dataset
Wrapper of simple_rasterization that has xarray.Dataset as inputs and outputs.
- Parameters
cloud – cloud to rasterize
resolution – Resolution of rasterized cells, expressed in cloud CRS units or None
epsg – epsg code for the CRS of the final raster
color_list – Additional list of images with bands to rasterize (same size as cloud_list), or None
xstart – xstart of the rasterization grid (if None, will be estimated by the function)
ystart – ystart of the rasterization grid (if None, will be estimated by the function)
xsize – xsize of the rasterization grid (if None, will be estimated by the function)
ysize – ysize of the rasterization grid (if None, will be estimated by the function)
sigma – sigma for gaussian interpolation. (If None, set to resolution)
radius – Radius for hole filling.
dsm_no_data – no data value to use in the final raster
color_no_data – no data value to use in the final colored raster
msk_no_data – no data value to use in the final mask image
list_computed_layers – list of computed output data
source_pc_names – list of names of point cloud before merging : name of sensors pair or name of point cloud file
- Returns
Rasterized cloud
- cars.applications.rasterization.rasterization_tools.compute_values_1d(x_start: float, y_start: float, x_size: int, y_size: int, resolution: float) Tuple[numpy.ndarray, numpy.ndarray]
Compute the x and y values as 1d arrays
- Parameters
x_start – x start of the rasterization grid
y_start – y start of the rasterization grid
x_size – x size of the rasterization grid
y_size – y size of the rasterization grid
resolution – Resolution of rasterized cells, in cloud CRS units or None.
- Returns
a tuple composed of the x and y 1d arrays
- cars.applications.rasterization.rasterization_tools.substring_in_list(src_list, substring)
Check if the list contains substring
- cars.applications.rasterization.rasterization_tools.find_indexes_in_point_cloud(cloud: pandas.DataFrame, tag: str, list_computed_layers: List[str] = None) List[str]
Find all indexes in point cloud that contains the key tag if it needs to be computed :param cloud: Combined cloud :param tag: substring of desired columns in cloud :param list_computed_layers: list of computed output data
- cars.applications.rasterization.rasterization_tools.compute_vector_raster_and_stats(cloud: pandas.DataFrame, x_start: float, y_start: float, x_size: int, y_size: int, resolution: float, sigma: float, radius: int, list_computed_layers: List[str] = None) Tuple[numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, numpy.ndarray, List[str], Union[None, numpy.ndarray, list, dict]]
Compute vectorized raster and its statistics.
- Parameters
cloud – Combined cloud as returned by the create_combined_cloud function
x_start – x start of the rasterization grid
y_start – y start of the rasterization grid
x_size – x size of the rasterization grid
y_size – y size of the rasterization grid
resolution – Resolution of rasterized cells, expressed in cloud CRS units or None.
sigma – Sigma for gaussian interpolation. If None, set to resolution
radius – Radius for hole filling.
list_computed_layers – list of computed output data
- Returns
a tuple with rasterization results and statistics.
- cars.applications.rasterization.rasterization_tools.create_raster_dataset(raster: numpy.ndarray, weights_sum: numpy.ndarray, x_start: float, y_start: float, x_size: int, y_size: int, resolution: float, hgt_no_data: int, color_no_data: int, msk_no_data: int, epsg: int, mean: numpy.ndarray, stdev: numpy.ndarray, n_pts: numpy.ndarray, n_in_cell: numpy.ndarray, msk: numpy.ndarray = None, band_im: List[str] = None, classif: numpy.ndarray = None, band_classif: List[str] = None, confidences: numpy.ndarray = None, interval: numpy.ndarray = None, interval_stat_index: List[int] = None, source_pc: numpy.ndarray = None, source_pc_names: List[str] = None, filling: numpy.ndarray = None, band_filling: List[str] = None, performance_map: numpy.ndarray = None) xarray.Dataset
Create final raster xarray dataset
- Parameters
raster – height and colors
x_start – x start of the rasterization grid
y_start – y start of the rasterization grid
x_size – x size of the rasterization grid
y_size – y size of the rasterization grid
resolution – Resolution of rasterized cells, expressed in cloud CRS units or None.
hgt_no_data – no data value to use for height
color_no_data – no data value to use for color
msk_no_data – no data value to use for mask and classif
epsg – epsg code for the CRS of the final raster
mean – mean of height and colors
stdev – standard deviation of height and colors
n_pts – number of points that are stricty in a cell
n_in_cell – number of points which contribute to a cell
msk – raster msk
classif – raster classif
confidences – raster containing the confidences
interval – raster containing intervals inf and sup
interval_stat_index – list containing index of intervals in mean and stdev rasters
source_pc – binary raster with source point cloud information
source_pc_names – list of names of point cloud before merging : name of sensors pair or name of point cloud file
performance_map – raster containing the performance map
- Returns
the raster xarray dataset
- cars.applications.rasterization.rasterization_tools.rasterize(cloud: pandas.DataFrame, resolution: float, epsg: int, x_start: float, y_start: float, x_size: int, y_size: int, sigma: float = None, radius: int = 1, hgt_no_data: int = -32768, color_no_data: int = 0, msk_no_data: int = 255, list_computed_layers: List[str] = None, source_pc_names: List[str] = None) Union[xarray.Dataset, None]
Rasterize a point cloud with its color bands to a Dataset that also contains quality statistics.
- Parameters
cloud – Combined cloud as returned by the create_combined_cloud function
resolution – Resolution of rasterized cells, expressed in cloud CRS units or None.
epsg – epsg code for the CRS of the final raster
x_start – x start of the rasterization grid
y_start – y start of the rasterization grid
x_size – x size of the rasterization grid
y_size – y size of the rasterization grid
sigma – sigma for gaussian interpolation. If None, set to resolution
radius – Radius for hole filling.
hgt_no_data – no data value to use for height
color_no_data – no data value to use for color
msk_no_data – no data value to use in the final mask image
list_computed_layers – list of computed output data
- Returns
Rasterized cloud color and statistics.
- cars.applications.rasterization.rasterization_tools.update_weights(old_weights, weights)
Update weights
- Parameters
weights – current weights
old_weights – old weights
- Returns
updated weights
- cars.applications.rasterization.rasterization_tools.update_data(old_data, current_data, weights, old_weights, nodata, method='basic')
Update current data with old data and weigths
- Parameters
old_data – old data
current_data – current data
weights – current weights
old_weights – old weights
nodata – nodata associated to tag
- Returns
updated current data