demcompare.dem_processing.dem_processing_methods
Mainly contains different DEM processing classes
Module Contents
Classes
Altitude difference between two DEMs |
|
Altitude difference between two DEMs normalized by the slope |
|
Angular difference between two DEMs |
|
REF DEM |
|
SEC DEM |
|
Curvature of the REF DEM |
|
Curvature of the SEC DEM |
- class demcompare.dem_processing.dem_processing_methods.AltiDiff(parameters: Dict = None)[source]
Bases:
demcompare.dem_processing.dem_processing_template.DemProcessingTemplate
Altitude difference between two DEMs
- compute_dems_diff(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Compute altitude difference dem_1 - dem_2 and return it as an xr.Dataset with the dem_2 georeferencing and attributes.
- Parameters:
dem_1 –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
difference xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- process_dem(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Compute the difference between dem_1 and dem_2. Add classification layers to the difference.
- Parameters:
dem_1 (xr.Dataset) –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
dem_2 (xr.Dataset) –
dem_2 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
difference xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- class demcompare.dem_processing.dem_processing_methods.AltiDiffSlopeNorm(parameters: Dict = None)[source]
Bases:
demcompare.dem_processing.dem_processing_template.DemProcessingTemplate
Altitude difference between two DEMs normalized by the slope
- compute_dems_diff_slope_norm(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Compute altitude difference dem_1 - dem_2, normalized by the slope of the DEM and return it as an xr.Dataset with the dem_2 georeferencing and attributes.
- Parameters:
dem_1 –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
difference normalized by the slope xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- dh_compute_normalization_factor(diff: numpy.ndarray, dem: xarray.Dataset, nbins: int = 100) numpy.ndarray [source]
Compute the normalization factor for several (nbins) slope classes. First: compute the tangent of the slope at each pixel. Then: compute the angle of the slope at each pixel. Then: classification of the pixels by the angle of the slope value. Then: compute the std of the error for each of the pixel classes Then: perform linear regression: a,b=regLin(tan(angle),std) Finally: Error normalization for each slope class: dh = dh/(1+b/a*tan(angle))
- Parameters:
diff (np.ndarray) – difference between the ref and sec DEMs
dem (xr.Dataset) –
dem xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
nbins (int) – number of bins of the histogram
- Returns:
altitude difference normalized by the slope
- Return type:
np.ndarray
- process_dem(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Compute the difference between dem_1 and dem_2 normalized by the slope. Add classification layers to the difference.
- Parameters:
dem_1 (xr.Dataset) –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
dem_2 (xr.Dataset) –
dem_2 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
difference normalized by the slope xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- class demcompare.dem_processing.dem_processing_methods.AngularDiff(parameters: Dict = None)[source]
Bases:
demcompare.dem_processing.dem_processing_template.DemProcessingTemplate
Angular difference between two DEMs
- compute_dems_angular_diff(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Compute angular difference dem_1 - dem_2 and return it as an xr.Dataset with the dem_2 georeferencing and attributes.
- Parameters:
dem_1 –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
angular difference xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- compute_angular_similarity(n_a: numpy.ndarray, n_b: numpy.ndarray) numpy.ndarray [source]
Compute the angular difference theta (radians) between two vector maps.
- Parameters:
n_a (np.ndarray) – surface normal vector to first DEM
n_b – surface normal vector to second DEM
- Returns:
angular difference between the two vectors
- Return type:
np.ndarray
- process_dem(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Compute the angular difference between dem_1 and dem_2. Add classification layers to the difference.
- Parameters:
dem_1 (xr.Dataset) –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
dem_2 (xr.Dataset) –
dem_2 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
angular difference xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- class demcompare.dem_processing.dem_processing_methods.Ref(parameters: Dict = None)[source]
Bases:
demcompare.dem_processing.dem_processing_template.DemProcessingTemplate
REF DEM
- process_dem(dem_1: xarray.Dataset, dem_2: xarray.Dataset = None) xarray.Dataset [source]
Return dem_1
- Parameters:
dem_1 (xr.Dataset) –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
dem_2 (xr.Dataset) –
dem_2 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- class demcompare.dem_processing.dem_processing_methods.Sec(parameters: Dict = None)[source]
Bases:
demcompare.dem_processing.dem_processing_template.DemProcessingTemplate
SEC DEM
- process_dem(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Return dem_1
- Parameters:
dem_1 (xr.Dataset) –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
dem_2 (xr.Dataset) –
dem_2 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- class demcompare.dem_processing.dem_processing_methods.RefCurvature(parameters: Dict = None)[source]
Bases:
demcompare.dem_processing.dem_processing_template.DemProcessingTemplate
Curvature of the REF DEM
- process_dem(dem_1: xarray.Dataset, dem_2: xarray.Dataset = None) xarray.Dataset [source]
Return the curvature of dem_1
- Parameters:
dem_1 (xr.Dataset) –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
dem_2 (xr.Dataset) –
dem_2 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
curvature xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset
- class demcompare.dem_processing.dem_processing_methods.SecCurvature(parameters: Dict = None)[source]
Bases:
demcompare.dem_processing.dem_processing_template.DemProcessingTemplate
Curvature of the SEC DEM
- process_dem(dem_1: xarray.Dataset, dem_2: xarray.Dataset) xarray.Dataset [source]
Return the curvature of dem_1
- Parameters:
dem_1 (xr.Dataset) –
dem_1 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
dem_2 (xr.Dataset) –
dem_2 xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Returns:
curvature xr.DataSet containing :
image : 2D (row, col) xr.DataArray float32
georef_transform: 1D (trans_len) xr.DataArray
classification_layer_masks : 3D (row, col, indicator) xr.DataArray
- Return type:
xr.Dataset