rvt.blend#

Relief Visualization Toolbox – Visualization Functions

Contains classes and methods for blending.

rvt.blend.create_blender_file_example(file_path=None)[source]#

Create blender .json file example (can be changed and read). Example is VAT - Archaeological combination

class rvt.blend.BlenderLayer(vis_method=None, normalization='value', minimum=None, maximum=None, blend_mode='normal', opacity=100, colormap=None, min_colormap_cut=None, max_colormap_cut=None, image=None, image_path=None)[source]#

Bases: object

Class which define layer for blending. BlenderLayer is basic element in BlenderCombination.layers list.

vis#

Visualization method.

Type:

str

normalization#

Normalization type, could be “Value” or “Percent”.

Type:

str

min#

Normalization minimum.

Type:

float

max#

Normalization maximum.

Type:

float

opacity#

Image (visualization) opacity.

Type:

integer

colormap#

Colormap form matplotlib (https://matplotlib.org/3.3.2/tutorials/colors/colormaps.html).

Type:

str

min_colormap_cut#

What lower part of colormap to cut to select part of colormap. Valid values are between 0 and 1, if 0.2 it cuts off (deletes) 20% of lower colors in colormap. If None cut is not applied.

Type:

float

max_colormap_cut#

What upper part of colormap to cut to select part of colormap. Valid values are between 0 and 1, if 0.8 it cuts off (deletes) 20% of upper colors in colormap. If None cut is not applied.

Type:

float

image_path#

Path to DEM. Doesn’t matter if image is not None. Leave None if you would like for blender to compute it.

Type:

str

image#

Visualization raster. Leave None if you would like for blender to compute it.

Type:

numpy.array (2D)

check_data()[source]#

Check Attributes

class rvt.blend.BlenderCombination(dem_arr=None, dem_resolution=None, dem_path=None)[source]#

Bases: object

Class for storing layers (rasters, parameters for blending) and rendering(blending) into blended raster.

dem_arr#

Array with DEM data, needed for calculating visualization functions in memory.

Type:

np.array (2D)

dem_path#

Path to DEM, needed for calculating visualization functions and saving them.

Type:

str

name#

Name of BlenderCombination combination.

Type:

str

layers#

List of BlenderLayer instances which will be blended together.

Type:

[BlenderLayer]

add_dem_arr(dem_arr, dem_resolution)[source]#

Add or change dem_arr attribute and its resolution dem_resolution attribute.

add_dem_path(dem_path)[source]#

Add or change dem_path attribute.

create_layer(vis_method=None, normalization='value', minimum=None, maximum=None, blend_mode='normal', opacity=100, colormap=None, min_colormap_cut=None, max_colormap_cut=None, image=None, image_path=None)[source]#

Create BlenderLayer and adds it to layers attribute.

add_layer(layer: BlenderLayer)[source]#

Add BlenderLayer instance to layers attribute.

remove_all_layers()[source]#

Empties layers attribute.

layers_info()[source]#
read_from_file(file_path)[source]#

Reads class attributes from .json file.

read_from_json(json_data)[source]#

Fill class attributes with json data.

save_to_file(file_path)[source]#

Save layers (manually) to .json file. Parameters image and image_path in each layer have to be None, visualization has to be correct!

to_json()[source]#

Outputs class attributes as json.

check_data()[source]#
render_all_images(default=None, save_visualizations=False, save_render_path=None, save_float=True, save_8bit=False, no_data=None)[source]#

Render all layers and returns blended image. If specific layer (BlenderLayer) in layers has image (is not None), method uses this image, if image is None and layer has image_path method reads image from path. If both image and image_path are None method calculates visualization. If save_visualization is True method needs dem_path and saves each visualization (if it doesn’t exists) in directory of dem_path, else (save_visualization=False) method needs dem_arr, dem_resolution and calculates each visualization simultaneously (in memory). Be careful save_visualisation applies only if specific BlenderLayer image and image_path are None. Parameter no_data changes all pixels with this values to np.nan, if save_visualizations is Ture it is not needed.

create_log_file(dem_path, combination_name, render_path, default: DefaultValues, terrain_sett_name=None, custom_dir=None, computation_time=None)[source]#

Creates log file in custom_dir, if custom_dir=None it creates it in dem directory (dem_path).

rvt.blend.compare_2_combinations(combination1: BlenderCombination, combination2: BlenderCombination)[source]#
class rvt.blend.BlenderCombinations[source]#

Bases: object

Class for storing combinations.

combinations#

List of BlenderCombination instances.

Type:

[BlenderCombination]

add_combination(combination: BlenderCombination, name=None)[source]#

Adds combination if parameter name not None it renames combination.

remove_all_combinations()[source]#

Removes all combinations from self.combinations.

select_combination_by_name(name)[source]#

Select first combination where self.combinations.BlenderCombination.name = name.

remove_combination_by_name(name)[source]#

Removes all combinations where self.combinations.BlenderCombination.name = name. If combinations list is empty function returns 0, else 1.

read_from_file(file_path)[source]#

Reads combinations from .json file.

save_to_file(file_path)[source]#

Saves combination to .json file.

combination_in_combinations(input_combination: BlenderCombination)[source]#

If input_combination (BlenderCombination) has same attributes as one of the combinations (self), method returns name of the combination (from combinations). If there is no equal one it returns None.

combinations_names()[source]#

Returns list of combinations names.

class rvt.blend.TerrainSettings[source]#

Bases: object

Terrain settings for GUI.

read_from_file(file_path)[source]#

Reads combinations from .json file.

read_from_json(json_data)[source]#

Reads json dict and fills self attributes.

apply_terrain(default: DefaultValues, combination: BlenderCombination)[source]#

It overwrites default (DefaultValues) and combination (BlenderCombination), with self values that are not None.

class rvt.blend.TerrainsSettings[source]#

Bases: object

Multiple Terrain settings.

read_from_file(file_path)[source]#

Reads combinations from .json file.

select_terrain_settings_by_name(name)[source]#

Select first combination where self.combinations.BlenderCombination.name = name.

rvt.blend.color_relief_image_map(dem, resolution, default: ~rvt.default.DefaultValues = <rvt.default.DefaultValues object>, colormap='OrRd', min_colormap_cut=0, max_colormap_cut=1, no_data=None)[source]#

RVT Color relief image map (CRIM) Blending combination where layers are: 1st: Openness positive - Openness negative, overlay, 50% opacity 2nd: Openness positive - Openness negative, luminosity, 50% opacity 3rd: Slope gradient, colored with matplotlib colormap

Parameters:
  • dem (numpy.ndarray) – Input digital elevation model as 2D numpy array.

  • resolution (float) – DEM pixel size.

  • default (rvt.default.DefaultValues) – Default values for visualization functions.

  • colormap (str) – Colormap form matplotlib (https://matplotlib.org/3.3.2/tutorials/colors/colormaps.html).

  • min_colormap_cut (float) – What lower part of colormap to cut. Between 0 and 1, if 0.2 it cuts off (deletes) 20% of lower colors in colormap. If None cut is not applied.

  • max_colormap_cut (float) – What upper part of colormap to cut. Between 0 and 1, if 0.8 it cuts off (deletes) 20% of upper colors in colormap. If None cut is not applied.

  • no_data (int or float) – Value that represents no_data, all pixels with this value are changed to np.nan .

Returns:

crim_out – 2D numpy result array of Color relief image map.

Return type:

numpy.ndarray

rvt.blend.e3mstp(dem, resolution, default: ~rvt.default.DefaultValues = <rvt.default.DefaultValues object>, no_data=None)[source]#

RVT enhanced version 3 Multi-scale topographic position (e3MSTP) Blending combination where layers are: 1st: Simple local relief model (SLRM), screen, 25% opacity 2nd: Color relief image map where cmap=Reds_r(0.5-1) (CRIM_Reds_r), soft_light, 70% opacity 3rd: Multi-scale topographic position (MSTP)

Parameters:
  • dem (numpy.ndarray) – Input digital elevation model as 2D numpy array.

  • resolution (float) – DEM pixel size.

  • default (rvt.default.DefaultValues) – Default values for visualization functions.

  • no_data (int or float) – Value that represents no_data, all pixels with this value are changed to np.nan .

Returns:

crim_out – 2D numpy result array of Color relief image map.

Return type:

numpy.ndarray