PSE calculates the surface normal for each pixel in an image from a set of images acquired with different lighting conditions. In PSE, the direction normal to the surface is represented by , the vector represents the direction to light source , and the image intensity is proportional to [Fig. 1(a)]. We implemented PSE in two systems: a benchtop prototype and a modified commercial endoscope. The benchtop prototype [Fig. 1(b)] allowed more flexible control over illumination and image capture conditions. In this system, we were able to access raw image data from our sensor, synchronize source illumination with the frame rate, and introduce cross-polarizers to reduce specular reflections. However, the minimum source separation we could achieve with this system was 35 mm. By comparison, the distal tip of typical commercial colonoscopes ranges in diameter from 11 to 14 mm. To address this limitation, we implemented a second PSE setup using a commercial gastroscope. External light sources were attached around the scope housing [Fig. 1(c)]. In this system, we were able to reduce source separation to 12 mm. However, because the interface between the commercial camera sensor and the processing console was inaccessible, images were obtained after secondary processing by the console. In addition, the miniaturized size of the endoscope tip, combined with its wide-angle FOV and flat front design made it challenging to add polarizer layers. For this reason, we did not include cross-polarizers to reduce specular reflections. With the combination of these two setups, we were able to first analyze PSE deployments using optimized imaging hardware and transparent data processing but unrealistic size scales (benchtop prototype), and second confirm that these results are maintained qualitatively as the device scales to a more realistic size (modified endoscope).