1. An apparatus for collecting data to generate a three-dimensional image, comprising: a lidar to generate a laser beam that forms a lidar shot and to receive a reflected laser beam to thereby provide range data; a digital camera having an array of pixels to receive optical radiation to thereby provide electro-optical data; an optical bench to pass the laser beam, reflected laser beam, and optical radiation and positioned to align each pixel to known positions within the lidar shot; a controller, including a processor, in electrical communication with the lidar and the digital camera; and a memory in electrical communication with the processor and having stored thereon computer readable instruction code, to perform a method of: generating an image based on range data and electro-optical data, and arranging lidar shots relative to one another by matching pixels to form a lidar point-cloud.