The gen_coords function, in some embodiments, can generate and store the 2D matrix points of the 2D image matrix 402 (or 2D image matrix 560) in memory. In some embodiments, a return value of the gen_coords function can include an array of the 2D matrix points of the 2D image matrix to query when building an output feature vector. The bounds parameter of the gen_coords function can define the upper and lower bounds of a 2D image matrix (e.g., to specify the number of horizontal and vertical coordinates that a 2D image matrix (e.g., matrix 402 or matrix 560) should have). Thus, the “bounds” coordinate can relate to boundaries of the 2D image matrix within a 3D image capture, for example, the x and y coordinates of a 3D image taken of a particular scene or position, where the x and y coordinates define the window or viewport of the 3D imagery being captured, which can include certain 3D data points or pixels of a 3D digital photograph or frame. The k parameter (472) can define the distance between each point in the 2d image matrix 402. Accordingly, by adjusting the bounds and k parameters, the granularity of the 2D image matrix (e.g., 402 or 560) can be modified.
Other functions may be used by the Distify method to Distify images taken from 3D files. For example, the Distify method may call the following function to generate an output feature vector based on a 3D file, such as a PLY file:
distify_frame(filepath_in, filepath_out, coords, total_frames)