the depth values. In this step, we determine the minimum and maximum depth values (without considering the background values), and use them to normalize all depth values to the range $[0,1]$. After this step, pixels belonging to the closest object in the screen will always have a depth value equal or close to 0 whilst pixels of the farthest object will have a depth value equal or close to 1. Within our implementation, linearized depth images are downloaded from the GPU to the CPU, where we compute the minimum and maximum depth values and also perform the normalization.

To generate the actual VSS, which interpolates the depth values on the vessel’s contour, we have to distinguish between closed empty areas, the void spaces, and the pixels of their contours. To do so, we use the algorithm proposed by Suzuki et al. [@suzuki1985topological]. This algorithm computes the pixels of the different contours in the image and the hierarchy between them. Thanks to this hierarchy we are able to determine the inner and outer contours of each empty area between the vessels. Moreover, we determine, for each pixel, the empty area to which they belong. In our pipeline, we used the CPU 