From a46ff806ce99c16ad292f9840871fe4800200e17 Mon Sep 17 00:00:00 2001 From: Alexis Durgnat <alexis.durgnat@hesge.ch> Date: Mon, 1 Nov 2021 15:21:23 +0100 Subject: [PATCH] Document functions --- src/ar_sandbox/examples/examples.py | 33 +++++++++++++++++++++++++++-- 1 file changed, 31 insertions(+), 2 deletions(-) diff --git a/src/ar_sandbox/examples/examples.py b/src/ar_sandbox/examples/examples.py index 4ff6b72..9b27dad 100644 --- a/src/ar_sandbox/examples/examples.py +++ b/src/ar_sandbox/examples/examples.py @@ -9,10 +9,26 @@ COLORS = [ ] class LevelDisplay(): - colormap = COLORS - + @staticmethod def get_color(depth_matrix, frame, draw_lines=True, colormap=COLORS): + """ + Given a depth matrix between 0-1, return a color from a given colormap. + The colormap is a list of tuples containing the depth value, and the + color for this level : + (depth_value, [RedVal, GreenVal, BlueVal]) + + The colormap should at least contain a color for the depths 0 and 1. + See COLORS for an example colormap. + + Arguments: + depth_matrix : Normalized 1 channel numpy matrix + frame: Unused. The frame captured by the camera + draw_line: Should line be drawn between levels ? + colormap: Override the default colormap. + Return: + A 3 channel matrix in BGR frame of the same size as depth_matrix. + """ points = np.array([c[0] for c in colormap]) r = [c[1][2] for c in colormap] g = [c[1][1] for c in colormap] @@ -30,6 +46,19 @@ class LevelDisplay(): @staticmethod def draw_lines(depth, points, width=0.025, between_levels=False): + """ + Given the depth matrix and a list of points, return a mask for every + value near the points. If between_levels is set to True, mask in + between the point instead of on the point. + + Arguments: + depth: A depth matrix + points: A list of float values + width: The 'width' of the lines to be drawn. Will mask + width/2 + Return: + A mask representing the lines. + """ lines = [] mask = np.ma.make_mask(np.zeros(depth.shape), shrink=False) if between_levels: -- GitLab