We are developing a system to recognize objects portrayed in 3-D images. Currently the system Is implemented as a C programming environment: a control program, a suite of generally useful subroutines, and a shared data structure. An application is constructed by writing one or more procedural models for finding a specific object In an image. In operation, the system is initialized by a supervisor module which later provides certain facilities to each of the procedural models. Initialization consists of filtering the 8 bit z(x,y) image, segmenting it into smooth patches, and recording various properties of those patches in a "scene graph". Each procedural model then examines the scene graph and either Identifies the object of interest or rejects the entire image. Each model includes a program of operations to acquire such decisive information. Currently, the environment supports subroutines that 1. analytically fit and classify a specified patch, 2. merge two or more patches (or unmerge some previously blended patches), 3. "defuzz" some patch by directing the absorption of small neighboring patches according to a specified criterion, 4. resegment a portion of the image in some special way, 5. construct 'and process lists of patches ordered by location, cardinality, area, or shape criteria.