Design and implementation issues in VPL: visual language for image processing
Gerhardt P. Otto, David Andrew Lau-Kee, Yasuo Kozato · Proceedings of SPIE, the International Society for Optical Engineering/Proceedings of SPIE · 1992
VPL 1.0 is a visual programming language for image processing. It uses a lazy functional programming paradigm, expressed with a box-and-arc representation. In the current version of the system, the image processing functionality is provided by VIEW-Station, an image processing library developed in one of Canon's Japanese laboratories. Some of the notable features of the system are: the program is always 'live'; higher-order functions are allowed; and the visual language interface and evaluation modules are designed to connect easily to (most) C++ or ANSI-C image processing libraries. This paper discusses the advantages and disadvantages of these design decisions. It also discusses some of the resulting implementation issues, and the solutions adopted. Specific topics covered include: the use of higher-order functions in image processing; what type-checking would be desirable for image processing in a visual language environment; what type-checking is feasible when the visual language environment is used as a front-end to a C++ library; and the advantages and disadvantages of having the image processing sub-system fully integrated.