History - ISET/isetcam GitHub Wiki

History of ISETCam

ISETCam began as a commercial ImageVal product and was also shared with academic collaborators and students in Stanford's Image Systems Engineering teaching. As the community and the range of applications grew, the project was released as open source to make camera-modeling work easier to inspect, reproduce, teach, and extend.

At the time of the open-source transition, ISET recorded more than 500 registered users across companies, research institutes, and universities in 24 countries. Those figures describe that historical period, rather than a current usage count. ISETCam continues to benefit from work by Joyce Farrell, Brian Wandell, collaborators, and contributors across research and industry.

From virtual cameras to the ISET ecosystem

Early ISETCam code used the language of virtual cameras and many vc* function names. The current interface follows the ISET ie* conventions and organizes a simulation around scene, optical-image, sensor, image-processing, and display representations. The structures-and-functions design predates MATLAB's modern class system; it remains useful because the representation and its create, get, set, compute, plot, and window operations stay visible to a learner.

In 2024, ISETCam and ISETBio were refactored so that ISETCam provides their shared scene, optical-image, color, and related computations. ISETBio is now a specialization that requires ISETCam on the MATLAB path. ISET3D likewise builds on ISETCam while focusing on physics-based 3D scene construction and rendering. Current ISETCam testing uses the built-in ieUnitTest, ieTutorialTest, and ieExampleTest runners; older external test-toolbox and runner instructions are historical rather than part of the normal user path.

Learning and scientific context

The Stanford teaching work that helped shape ISETCam also informs the online Foundations of Image Systems Engineering (FISE) resource. FISE is an evolving conceptual companion to ISETCam: it explains image-systems ideas, while this wiki and the ISETCam source provide the current software workflows.

For detailed release chronology, see the ISETCam commit history and releases.

Citation

If ISETCam contributes to published work, cite the software repository and an appropriate foundational or validation paper. Useful references include:

For an overview of additional ISET-related publications, see Wandell's publication page.