Regardless of the type of movement under investigation, the next stage of 

 image processing entails the computation of paths or trajectories through 

 Bugspace. A path or trajectory is a time-ordered set of points represented as a 

 single data vector and characterized as follows: All points in a path are selected 

 from an operand file consisting of centroids or having the structure of centroid 

 data. The manner in which points are represented in a path is identical to the 

 way they are represented in a frame of centroid data. Each path starts within a 

 specific frame and its starting frame number is represented as the fourth 

 attribute of the vector. Over the temporal interval during which a path is 

 defined one (and only one) point is selected from each corresponding vector 

 (or frame) of the operand file. Adjacent pairs of points within a path are 

 selected on the basis of their spatial contiguity within adjacent frames. 



The search for paths is performed by the PATH operator whose command 

 syntax is exemplified by the entry 



PATH BUGS.CE BUGS.PA nl, n2, n3, n4, n5. 



The numerical parameters "nl" through "n5" control various details of the 



search, nl specifies the width (in Bugwatcher units) of a square mask used as a 

 criterion of spatial contiguity. n2 is the maximum number of times to expand 

 the mask if no contiguous point is located within the frame being searched. n3 

 is the n4 minimum number of points to be accepted as a vahd path. n4 i<5 the 

 minimum average displacement in Bugspace between consecutive frames for a 

 set of points to be accepted as a valid path; this parameter may be used to 

 "weed out" stationary artifacts (e.g., a particle of detritus). n5 is the maximum 

 number of frames to "look ahead"; i.e., if no contiguous point is found in the 

 current frame, then the next frame may be searched. If a point within the new 

 frame qualifies, the missing point is computed by linear interpolation. 



Ideally, every path would correspond to the movement of a single point 

 (associated with the outUne of one individual organism) through Bugspace and 

 each such movement would be represented by one path. In practice, the PATH 

 operator may commit two types of errors. The operator may overlook certain 

 segments of continuous movement. Such omissions may yield an abnormally 

 short path, or they may result in a one-to-many (even a one-to-none) 

 correspondence between real word trajectories and paths. Alternatively, the 

 operator may confound certain segments of the continuous movements of two 

 (or more) organisms. If there were but one organism in the field of view at any 

 time, then errors of omission could be abolished by using a large mask (why 

 not let it include all of Bugspace?) and allowing the program to look ahead 

 several frames. But with several organisms represented within each frame there 

 is clearly a tradeoff in choosing parameters so as to reduce the incidence of the 

 two types of errors. The user may PLOT the paths over the centroids (or over 



262 



