In certain embodiments as described herein, the 2D image matrix can be defined by horizontal and vertical (x and y) bounds, provided to a Distification method, such as method 300, and that define a certain window viewport within the 3D image. For example, as shown in FIG. 5B, the bounds of 2D image matrix 560 define a viewport that is smaller than the viewable area of the 3D image visualization 500 as a whole. In some embodiments, specifying a smaller bounds, and, therefore a smaller viewport, can be useful in targeting areas in an environment expected to yield items of interest in a captured or generated 3D image, for example, the driver seat of a vehicle to capture a driver as shown in visualization 500. This technique can be used to ignore white nose 3D points, such as 3D point 502. In addition, specifying a smaller bound can improve the performance of the systems and methods described that later analyze or operate on the 3D images, such as the Distify method 300, because a smaller bounded area (viewport) can have fewer overall 2D matrix points which requires less computer resources to process when compared to larger bounded area with more 2D matrix points.
The Distify method may call a number of functions to Distify 3D imagery as described herein. With respect to FIGS. 3, 4, and 5, for example, the Distify method may call the following function to generate, e.g., the 2D image matrix 402 from the raw 3D image 404 or the 2D image matrix 560 from the raw 3D image 500:
gen_coords(bounds, k)