Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
THREE-DIMENSIONAL PHENOTYPIC MEASURING SYSTEM FOR ANIMALS
Document Type and Number:
WIPO Patent Application WO/1995/028807
Kind Code:
A1
Abstract:
A system (132, 136) measures the three-dimensional phenotypic characteristics of an animal (108), such as a dairy cow. The system uses a large number of modulated laser light beams (111) from a laser camera (132) to measure approximately 100 points per square inch of the animal. Each laser beam measures intensity, horizontal, vertical, and depth dimensions, and by combining the measurements, the system composes a very accurate three-dimensional image of the animal. The system (132, 136) calculates the desired phenotypic measurements for conformation of the animal by combining measurements of selected points on the animal. The system then stores the measurements for each animal in a computer data base (412) for later use. The system also stores a light intensity image of the animal's markings which is compared to other stored images.

Inventors:
ELLIS JAMES S
Application Number:
PCT/US1995/004370
Publication Date:
October 26, 1995
Filing Date:
April 10, 1995
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
PHENO IMAGING INC (US)
International Classes:
A01K11/00; G01F17/00; A01K29/00; G01B11/00; G01B11/24; G01G17/08; G06V10/145; H04N7/18; (IPC1-7): H04N7/18
Foreign References:
US4745472A1988-05-17
Other References:
See also references of EP 0755609A4
Download PDF:
Claims:
CLAIMSWhat is claimed is:
1. A system (132, 136) for measuring preselected tiireedimensional physical characteristics of an animal (108) to provide a rating for the animal, the system comprising: a laser camera (132) aligned to project a plurality of laser light signals (111) toward die animal (108), and aligned to receive reflected laser light signals (HI) from the animal (108) to provide threedimensional reflection location data for each of the laser light signals (111) reflected from the animal; and a computer (136) having a rating subsystem (420) that receives the tiiree dimensional reflection location data (111), combines the threedimensional reflection location data to measure the preselected tiireedimensional physical characteristics of the animal, and compares die tiireedimensional physical characteristics of the animal to predetermined threedimensional physical characteristics to provid . a rating for the animal.
2. The system (132, 136) of claim 1 wherein the computer (136) further comprises a distance modifying subsystem (Table 1) for modifying distance information within each point of the direedimensional reflection location data (111) to place an image of the animal at a predetermined distance from the laser camera.
3. The system (132, 136) of claim 2 wherein the distance modifying subsystem (Table 1) further comprises: a line locating subsystem for determining a first line between at least two predetermined points on the animal; and a second distance alignment subsystem for aligning each point of the three dimensional reflection location data from the animal to cause the first line to be perpendicular to a second line between the laser camera and a center of the first line.
4. The system (132, 136) of claim 1 wherein the computer (136) further comprises a storage device (412) for storing the threedimensional reflection location data (111) along with the threedimensional physical characteristics wherein images of markings on the animal are stored for later identification.
5. The system (132, 136) of claim 1 wherein the computer (136) further comprises: a storage device (412) for storing the threedimensional reflection location data (111); and a comparing subsystem within the computer for comparing the threedimensional reflection location data (111) to all laser light data stored during a predetermined previous amount of time, and a display system (408) witiiin the computer for displaying an error indication if a match occurs between the threedimensional reflection location data (111) and previously stored tiireedimensional reflection location data (111) for at least one previously measured animal (108), thereby indicating that the animal has been previously measured.
6. The system (132, 136) of claim 1 wherein the computer (136) further comprises an optical character recognition system for converting a portion (150) of the tiireedimensional reflection location data containing an image of at least one symbol located on die animal (108) into a computer processable identification value.
7. The system (132, 136) of claim 1 further comprising: a scale (122) located under die animal and connected to die computer (136) for providing an animal weight signal to the computer; and a storage device (412) witiiin the computer means for storing the animal weight signal along with the threedimensional physical characteristics of the animal.
8. The system (132, 136) of claim 1 wherein the computer (136) further comprises a volume measuring system (Fig. 6) for measuring, from the threedimensional reflection location data, a volume of at least one portion of the animal.
9. A method (420, Tables 124) for measuring preselected tiireedimensional physical characteristics of an animal (108), the method comprising: (a) projecting a plurality of laser light signals (111) toward die animal (108) for reflection therefrom; (b) receiving reflected laser light signals (111) containing threedimensional reflection location data for each of the laser light signals reflecting from the animal, wherein the threedimensional reflection location data comprises distance data, horizontal and vertical location data, and intensity data for each reflected laser light signal; (c) combining (420) the tiireedimensional reflection location data to measure the preselected tiireedimensional physical characteristics of the animal; and (d) comparing (420) the preselected tiireedimensional physical characteristics to predetermined threedimensional physical characteristic data to provide a rating for the animal.
10. The method (420) of claim 9 wherein step (b) further comprises the step of: (bl) aligning (Table 1) each point of threedimensional reflection location data received to place an image of the animal at a predetermined distance from a point from which the laser light signals are projected.
11. The method (420) of claim 10 wherein step (bl) further comprises the steps of: (bla) deteπriining a first line between at least two points within the three dimensional reflection location data on die animal; and (bib) aligning each point of the tiireedimensional reflection location data from the animal to cause the first line to be perpendicular to a second line formed from die point of projecting the laser light signals to a center of the first line.
12. The method (420) of claim 9 further comprising the step of storing (412) the three dimensional reflection location data along widi the threedimensional physical characteristics wherein markings on the animal are stored for later identification.
13. The method (420) of claim 9 wherein step (c) further comprises the step of weighing (122) the animal and storing the weight resulting from the weighing along with the three dimensional physical characteristics.
14. The method (420) of claim 9 wherein step (c) further comprises the step of converting a portion of the threedimensional reflection location data containing an image of at least one symbol located on die animal into a computer processable identification value.
15. The method (420) of claim 9 wherein step (c) further comprises the step of measuring, from the threedimensional reflection location data, a volume (Fig. 6) of at least one part of the animal.
16. The method (420) of claim 9 wherein step (b) further comprises the steps of: (bl) storing (412) the threedimensional reflection location data; (b2) comparing die tiireedimensional reflection location data from die animal to all threedimensional reflection location data stored during a predetermined previous amount to time; and (b3) displaying (408) an error if step (b2) finds a match between the three dimensional reflection location data and previously stored three dimensional reflection location data for at least one previously measured animal.
Description:
THREE-DIMENSIONAL PHENOTYPIC MEASURING SYSTEM FOR ANIMALS

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation-in-part of Application Serial No. 07/966,314 filed October 26, 1992 of James S. Ellis entitled "Three-dimensional Phenotypic Measuring System for -animals".

FIELD OF THE INVENTION

This invention relates to a system for evaluating the physical characteristics of animals and more particularly to a laser system for three dimensional measuring. Even more particularly, the invention relates to projecting laser light toward an animal, measuring the reflection of the light from the animal, and using the measured light to develop a three-dimensional surface scan that can be used to measure both the linear and volume related characteristics of the animal.

BACKGROUND OF THE INVENTION Throughout the history of the domestic livestock industry, mankind has attempted to measure animals, whether the need was to be taller, longer, thicker, leaner, wider or stronger, taking accurate measurements quickly has always been important. In modern times it has become more and more important to measure offspring of sires and compare those groups of offspring with like kind. Obviously, the sires that provide improved offsprings are in great demand and can provide the most improvement to a breed. Much of the future genetic progress will be attributed to our ability to improve the speed and accuracy of measuring animals.

We have evolved from measuring horses by using the approximate width of a hand; for example, a horse could be reported as 14 hands high which was about 56 inches. Currently some animals are measured at 15 different conformation points, however, most often the measurements are only visual appraisals, with even a tape measure being seldom used. Thus, there is tremendous need for more information and the improved accuracy of that information to accelerate breed progress.

One method of compiling data is shown in U.S. Patent 4,745,472 issued May 17, 1988 to Hayes, entitled "Animal Measuring System". This method uses a video camera to take a picture of the animal, and then the picture is processed by a computer system to determine the measurements. Plastic patches were placed on several points of the animal,

and measurements were made of only these points. Since mis system uses a conventional video camera, it can only measure in two dimensions using a single camera. Thus, in addition to the camera measurement, additional hand measurements usually need to be made, or the data from several cameras must be coordinated. Coordination of the data from several cameras is a difficult task, requiring manual interpretation by a skilled operator.

It is thus apparent that there is a need in the art for an improved system which measures physical characteristics of an animal. There is further need in the art for such a system to measure in three dimensions. Another need is for such a system that does not require that patches be affixed to the animal before measuring. A still further need is for such a system that can measure in three dimensions using a single camera to provide both linear and volume measurements as well as improving the speed of measuring. The present invention meets these and other needs.

SUMMARY OF THE INVENTION It is an aspect of the invention to measure physical characteristics of an animal.

It is another aspect of the invention to measure the physical characteristics using reflected laser light.

Still another aspect is to measure the physical characteristics in three dimensions from a single camera. Accurate three-dimensional information can be collected from a single location using reflected laser light. A three dimensional image is created by projecting several laser light beams (signals) and measuring their reflection. One device for performing this function is a laser, or lidar, camera, such as the Lasar(tm) camera manufactured by Sumitomo Corporation. The laser camera projects hundreds of thousands of modulated laser signals to scan an area and measure the distance at each point between the camera and the surface of the animal, thus providing a total modeling of the animal surface. The camera can send 8 to 10 modulated laser signals to each linear inch of the surface of the animal, that is, 64 to 100 signals per each square inch of the animal, depending upon the distance between the camera and the animal. Using this camera, a pattern of laser beams measuring 1000 vertical and 1000 horizontal points are transmitted to the animal and their reflection returned to the camera in a very short time.

Because animals are symmetric, an image need only be taken of one side of the animal. Thus a single lidar camera at a single location provides all the three-dimensional information necessary for conformation of an animal. With some breeds, such as dairy

cows, it may be necessary to use a second camera or take a second image of hidden areas; for example, a dairy cow may need a second image of the mammary system as viewed from the rear to provide additional accuracy for that portion of the animal.

A computer system selects the points of the animal desired for the conformation, measures the distance between these points to provide the conformation data, combines the selected conformation data for each animal with an identification number, and stores the conformation data and number for each animal. In addition, an image of the animal, showing the markings of the animal, may be stored along with the other conformation data.

The lidar camera and the computer that collects, supports and compiles the data can also be transported to any location, to provide a convenience for the animal owner. The camera can take an image of an animal which is standing in an open lot, housed in a box stall, standing in a stanchion, tied at halter or standing in a chute. When a chute is used, it is necessary to secure the animal by using plexiglass or a single bar on the side of the chute facing the lidar camera, and it may be appropriate to include a weighing device at the bottom of the chute to gather body weight as additional information.

A personal computer or lap top computer is used at an animal or farm location. With larger herds of cattle, however, a personal computer environment may not provide adequate memory, thus requiring a larger mainframe computer at a central office. In this environment, the camera information is transmitted to the mainframe computer via telephone lines using a modem. Either computer will collect and compile data from the lidar camera, however, a mainframe computer at a central office provides the capability of collecting a larger amount of information.

BRIEF DESCRIPTION OF THE DRAWINGS

The above and other aspects, features, and advantages of the invention will be better understood by reading the following more particular description of the invention, presented in conjunction with the following drawings, wherein:

Fig. 1 shows a view of the present invention measuring and compiling data of an animal; Fig. 2 shows a single linear latitude cross section (horizontal end view) of an animal to illustrate a portion of the image process of laser signals;

Fig. 3 shows a single linear longitude cross section (overhead view) of an animal to illustrate a portion of the image process of laser signals; Fig. 4 shows a block diagram of the present invention; Fig. 5 shows a side view of an animal indicating points to be located;

Fig. 6 shows a single linear longitude cross section (vertical slice) of an animal to illustrate part of the image process of laser signals; and Fig. 7 shows a rear view of an animal indicating points to be located.

DESCRIPTION OF THE PREFERRED EMBODIMENT The following description is of the best presently contemplated mode of carrying out the present invention. This description is not to be taken in a limiting sense but is made merely to describe the general principles of the invention. The scope of the invention should be determined by referencing the appended claims.

Fig. 1 shows the system of the present invention that measures three-dimensional phenotypic characteristics of an animal using a laser camera. One example of a laser camera is the Lasar(tm) camera manufactured by Sumitomo Corporation, 2-2 Hitotsubashi, 1-chome Chiyoda - ku, Tokyo, 100-91 Japan, and sold in the United States by Perceptron, Inc., 23855 Research Drive, Farmington Hills, MI 48335.

Referring now to Fig. 1, the animal 108 shown in Fig. 1 is a dairy cow, standing in front of the laser camera 132. The cow 108 can be free standing, tied, in a stanchion or in a chute. The camera 132 generates a detailed map of the entire animal within the scanned space assigning intensity and range values to each surface point that receives a laser signal. There are 64 to 100 surface points per square inch, depending upon the distance between the camera 132 and the animal 108, each point being generated by one of the laser signals 111. Fig. 1 does not contain sufficient detail to illustrate 64 to 100 surface points per square inch, so the lines 111 represent the number of modulated laser signals that would cover the entire animal (less the tail, which has no value in conformation).

An electrical source (not shown) provides electric power for the lidar camera 132, personal computer 136 and the printer 128. In a remote environment, this electrical source can be provided by a portable generator. Connecting data cable 140 transmits the information from the camera 132 to the personal computer 136. A telephone modem 130 and wires 126 and 127 transmit data from the personal computer 136 to a main frame computer 120 and back to printer 124. A local printer 128 could also be used to print the data.

When the horizontal, vertical and distance dimensions of two points on the .animal are provided by the camera 132 measurements, then the difference between those two points can easily be computed. (See Fig. 2, Fig. 3, Fig. 5, Fig. 6, and Fig. 7 and the description below for more information on these calculations.) By measuring hundreds of

thousands of points on the animal, the system calculates hundreds of different measurements with an accuracy of approximately one-tenth (1/lOth) of an inch. The system also calculates the volume of the barrel and mammary system of the animal. One particular advantage of the laser measurements is that the system can calculate the distance to the animal, thus avoiding inaccuracies of prior art camera systems when me animal is placed at an incorrect disti--.ce from the camera. Prior art visual measuring systems that do not use a camera are not as accurate and can only evaluate about 90 to 100 animals per day. The present invention can measure approximately 50 animals per hour.

A scale 122 can be placed under the animal to weigh the animal. The weight of the animal is sent to the computer system 136 via wiring 138 and stored with the conformation data.

The camera used in the present invention, or other Tpes of three-dimensional scanning means, can record the scanned image with several levels of light intensity represented by gray scale values for each point scanned. For example, me Lasar(tm) camera discussed above provides 4096 levels of light intensity represented by shades of gray for each point. These gray scale levels allow the image to distinguish markings on the animal. This is particularly effective for cattle, such as Holstein cattle, which have black and white markings. These markings are similar to fingerprints in that no two cows have the same markings. By storing the photographic image of the animal along with the conformation data, the animal can be positively identified using a computer. The image of the animal and the conformation data can be printed on die printer 128 or printer 124 to ensure positive correlation between the particular animal and its conformation data.

In addition, the computer system 120 or 136 stores this data for each group of animals processed, and can scan the data bank for each new animal to ensure that the same animal is not processed more than once. This prevents mistake or fraud when taking measurements, and can identify stolen animals. Also, this relieves the owner of the animal from the tedious task of sketching the markings, if such a sketch is required to register the animal.

Some methods of branding an animal allow the brand to be readily distinguished. For example, freeze branding eliminates pigment under the animal's skin allowing the branded area to grow only white hair. An example of this numbering is shown in Fig. 1. This is used to brand a number on the animal that is easily distinguished. By branding the animal using easily recognized numbers, such as optical character recognition numbers, the lidar camera can convert the brand into a computer readable number used to positively identify the animal anytime conformation data is measured.

Fig. 2 shows a side cross section view of d e animal along with the measuring system to illustrate the three-dimensional measurements of the animal. Referring now to Fig. 2, the animal is shown with the side away from the camera 132 in dotted lines. The camera 132 scans a line of the animal from the top of the animal, i.e. 106 of Fig. 1 , to the floor or ground. This example helps visualize the concept of the modulated laser signals 111 as they measure distance to each surface point.

Fig. 3 shows a top view of the animal and the laser signals 111, wherein the side of the animal opposite the camera 132 is shown in dotted lines. Referring now to Fig. 3, the camera 132 scans a line of the animal from the front of the body of the animal to the rear of the animal 108 in Fig. 3. This example helps visualize the concept of the modulated laser signals 111 as they measure the distance to each point on the animal.

Fig. 4 shows a block diagram of a computer system and the laser camera of the present invention. Referring now to Fig. 4, me computer system 136 contains a processing element 402. The processing element 402 communicates to the other elements of the computer system 136 over a system bus 404. A keyboard 406 and a laser camera 132 allow input to the computer system 136. A mouse 410 provides input for locating specific points on the image of the animal as displayed on graphics display 408, which also provides a display of any other information to be viewed by a user of the computer system 136. A printer 128 allows for output to paper to be viewed by a user of the computer system 136. A disk 412 stores the software and data used by the system of me present invention, as well as an operating system and other user data of the computer system 136.

A memory 416 contains an operating system 418, and an application program 420, a phenotypic measuring system for animals. Those skilled in the art will recognize diat the operating system 418 could be one of many different operating systems, including many windows-type operating systems, and that many application programs could be performing in a multi-tasking operating system.

Fig. 5 shows a screen display of side view of an animal indicating points to be located. Fig. 5 divides the view of the animal into four regions or screens. Screen A contains the front two thirds of the animal. Screen B contains the pelvic (rump) structure, Screen C contains the mammary system, and Screen D contains the hind hoof and leg alignment information. The laser camera 132 in Fig. 1 records numerous points containing the horizontal (X coordinate) and vertical (Y coordinate) positions in the picture frame, and the distance (Z coordinate) from the camera at mat point. The animal image is loaded into a two dimensional array, where each X, Y location contains the Z value, the distance from the camera information.

The measuring techniques use ' d in Fig. 5 (and also Fig. 7) are calculated by linear, angular or volumetric means. There are currently 15 conformation traits that are measured for Holstein Cows. After each trait is measured by the system, it is then converted to a scale of 1 to 50. Known as rating of each trait, this conversion to a scale of 1 to 50 compares each cow measured to those represented within the biological extremes of the breed.

Eleven of the traits use the higher ratings to represent positive biological extremes and lower ratings to represent negative biological extremes. In a non-selected large population of dairy cows the ratings will produce a bell shaped curve with very few animals at the extremes and a large portion of the animals rated closer to the breed average rating of 25.

An example of the rating of a single trait would be stature which is measured from the ground to the top of the withers. For example, in Fig. 5, Screen A, the top of slice A- 3. Cows 51 inches or under are extremely short and receive 5 points or less. Those which are 55 inches are average and given 25 points. Cows that are 59 inches or taller receive 45 points or more.

Four of the 15 conformation traits that are measured use a rating of 25 (breed biological average) as the best rating. These four conformation traits are rump angle, rear leg angle, foot angle and teat length. In these traits both of the biological extremes are negative to the breed or breed improvement. An example of the rating of one of these traits would be teat length in Fig. 5, Screen C, slice C-5. A teat length of 2 to 2 x inches is most desirable and is rated 25 points. A teat length of less than one inch is not desirable and is rated 5 points or less. Likewise, the other biological extreme of the teat length is excess of 4 inches is undesirable and is rated 45 to 50 points. Referring now to Fig. 5, the hip bone of the animal on slice B-l on Fig. 5 is manually designated using the mouse 410 (Fig. 4), a tracer beam (a single beam of lighting used as the animal is being pictured), or od er pointer on the computer screen. This manually designated point is the starting point for all the other locations on the animal.

The hip bone is initially used to position each animal's image uniformly 10 feet from the camera. This way all animals can be consistently compared. If the hip bone, which is indicated by using the mouse as described above, is not 10 feet from the camera, the whole image of the animal is appropriately adjusted, as shown by the pseudo code in

Table 1. The hip bone is the nearest point to the camera along the B-l slice of Fig. 5.

If the hip bone 106 in Fig. 1 is less than 10 feet from the laser camera 132 in Fig. 1,

increase the hip bone distance, die Z coordinate, by the difference between the hip bone and 10 feet; increase all the other distance coordinates in the image by the difference between the hip bone and 10 feet; then adjust all the X (horizontal length) and Y (vertical height) coordinates appropriately to reduce the image; else, if the hip bone 106 in Fig. 1 is more than 10 feet from the camera 132 in Fig. 1, decrease the hip bone distance, the Z coordinate, by the difference between the hip bone and 10 feet; decrease all the other distance coordinates in the image by the difference between the hip bone and 10 feet; then adjust all die X (length) and Y (height) coordinates appropriately to enlarge the image. Save these hip bone coordinates as the reference point on the B-l slice of

Fig. 5 for later use. Table 1. Those skilled in the art will also recognize that the distance of die .animal from the camera could also be measured from the backbone. As will be discussed below, die top of the animal, or backbone, can be determined at two different locations as d e top of slice A-1 and die top of slice A-4. These two locations could be used to determine me line of the backbone, and this line could dien be used to position die animal at die correct distance, and to adjust d e front or rear of the animal so that die line of me backbone is perpendicular to die camera beam that traces the center of die animal. Alternatively, each point along the top of ie animal between slices A-1 and A-4 could be ascertained (as will be discussed below) and diese points could be formed into a line using die technique of least squares analysis. Then diis line could be used as described above.

After the image of die cow is scaled to die desired distance and size, die location of measurement points are determined. The A-6 slice on Fig. 5 is one position in front of die hip bone. This slice is used to find die top and bottom of the body, and die changes in distance from the camera along this line can also be used to determine die volume of die animal at diis location. The following Table 2 describes how to find all die points along d e A-6 slice in Fig. 5. Increment die X (length) coordinate of the hip bone B-l in Fig. 5 by one

unit. (A unit may be one tenth of an inch, one half inch, one inch, etc. widi out changing the logic.) Repetitively increment die Y (height) coordinate from die hip bone height while keeping the X (lengdi) coordinate constant, Until the Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive Y (height) coordinates. (If the animal is 10 feet from die camera, 2% of this distance is approximately two and one half inches. Two percent of die distance from the camera will vary across the animal because the animal is not flat.)

Decrement me Y (height) coordinate once to return to die body. The animal's back has been reached. Save the X, Y, and Z coordinates of die top of the A-6 slice on Fig. 5. Return to die hip bone height. Repetitively decrement the Y (height) coordinate by one from me hip bone while keeping die X (length) coordinate constant, Until die Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive Y (height) coordinates. Increment the Y (height) coordinate once to return to the body. The underside of die body has been reached. Save die X, Y, and Z coordinates of die bottom of the A-6 slice on Fig. 5.

Table 2. Most of me locations on die animal are found relative to some perimeter conditions. The following pseudo code in Table 3 describes how to follow the edge of die animal from whatever view is being used. This section of pseudo code must be given a starting point (X,Y,Z), the predominant direction for both X (lengdi) and Y (height), and die terminating conditions, such as an abrupt change in Z (distance) coordinate, generally 2% or greater, along the X or Y axis in die predominant direction (some obstacle was found or animal does not continue in t at direction) or me ground has been found. As the leg and hoof approach die ground die changes in die Z (distance) coordinate are less pronounced dian on die rest of the animal. The pseudo code in Table 3 is referenced many times in die following tables. In die following pseudo code Table 3, die starting point is die top of d e A-6 slice

in Screen A of Fig. 5 mat was located in Table 2. Both d e X (length) and Y (height) coordinates will predominantly increase, until the Z (distance) coordinate is abruptly decreases between two X (length) coordinates. After performing the pseudo code of Table 3 along the back of me animal from the top of the A-6 slice, the animal's ear, or the head lock or stanchion holding die animal will be reached.

Starting from a point on die animal that is provided. Loop A - Increment the primary coordinate, diis can be d e X (length) or Y (height) coordinate, in the predominate direction by one. If this point includes a Z (distance) coordinate witiiin 2% of the last Z coordinate, diis point is still on die animal.

Save this point (X, Y, and Z) as me new animal coordinate.

Loop B - Vary the X (lengdi) and Y ( height), in one tenth inch increments around die new animal coordinate up to one half inch out from the new animal coordinate looking for the largest change in the Z coordinate between two consecutive X or Y coordinates. If die largest change in Z coordinate is at least 2% greater than die last Z coordinate, die edge of die animal runs between diis point and die last point tested. Save die last point tested and return to Loop A. A change, generally two inches or more, in Z indicates mat a point is on some object other than the current edge of die animal. However, as me leg and hoof approach me ground die change in die Z coordinate becomes much smaller. If X is the primary coordinate, Y must be varied all die way around each X coordinate to find me greatest change in the Z coordinate. When no significant (i.e. less dian one

quarter inch) change in Z can be detected, die ground has been reached. Save d e last point on the animal and exit d e function. End of Loop B.

Else, this point is off the animal. Return to the previous point on d e animal. Increment the non-primary coordinate, this can be the X (length) or Y (height) coordinate, in its predominate direction by one.

If this point includes a Z (distance) coordinate witiiin 2% of the last Z coordinate, this point is still on the animal. Save this point (X, Y, and Z) as die new animal coordinate. Perform Loop B.

End If. End If. Repeat Loop A.

Table 3. The top of A-1 slice on Fig. 5 was located using the pseudo code shown in Table

3. The A-1 slice in Screen A of Fig. 5 is one of me reference points needed on die animal. Also, this slice helps evaluate die confirmation of die animal. Table 4 describes die pseudo code needed to follow the A-1 slice across die neck of die animal. Start from the top of the A-1 slice. Repetitively decrease die Y (height) coordinate, while keeping die X

(lengdi) coordinate constant, Until the Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive Y (height) coordinates. The bottom of the neck has been reached. Increase the Y (height) coordinate by one to re-locate die neck.

Save diis point as die bottom of the A-1 slice in Fig. 5. Table 4. After the top and bottom of the A-1 slice are identified, die near front leg must be found. Use d e pseudo code in Table 3 to move along die bottom of the neck. Start from the bottom of the A-1 slice in Screen A of Fig. 5 found in Table 4, and bodi die X

(distance) and Y (height) coordinates will predominantly be reduced, until die Z (distance) coordinate is abruptly reduced when die near upper leg is reached. Save die first point located on die near upper leg. This point is used to call Table 3 again.

Again use die pseudo code in Table 3 to move down die near front leg until die ground is located. Start from the first point located on die near upper leg, reduce die Y (height) and X (length) coordinates until no significant change in Z (distance) can be detected. The ground at die front of the near front leg has been reached.

The back of the near front leg must be detected to identify die bottom of the A-3 slice. Since the edge of die animal can not be detected when it merges with die ground, use Table 3 to move back up the front of the near front leg until die Y (height) coordinate increases by two inches. Start from the last point identified on die animal when moving down die front of die near front leg, die Y (height) coordinate will be predominantly increased and the X (length) coordinate will be predominandy reduced, until die Y (height) coordinate has been increased by two inches from d e starting point. Table 5 contains die pseudo code needed to move across the near front leg to die back of tiiat leg two inches above me ground. The back of die near front leg is detected by an abrupt change in the Z (distance) coordinate.

Repetitively decrease the X (length) coordinate, while keeping die Y coordinate constant, Until die Z (distance) coordinate increases by at least 2% over die last Z (distance) coordinate between two consecutive X coordinates. Increase die X (lengdi) coordinate by one to move back to die animal. The back of the front foot has been reached. Table 5.

In order to find die bottom of the A-3 slice in Screen A of Fig. 5, die ground under die back of die near front leg must be located. This is done by using the pseudo code in Table 3. The starting point is the back of die front leg located in Table 5. The Y (height) coordinate is predominantly reduced and die X (length) coordinate is predominantly increased, until no significant change in the Z (distance) coordinate can be detected in any direction. Save die point just prior to when no distance change could be detected as die bottom of the A-3 slice in Screen A of Fig. 5.

The horizontal distance between die X (length) coordinate of die A-1 slice and A-3 slice determines die lengdi of die neck of diis animal and is rated. The A-3 slice is used as a reference point and die coordinates along diis line are

used to grade die strengdi and dairy form of the animal, as shown by the pseudo code of Table 6. The top of the A-3 slice determines die stature of the animal and is rated. Start from the bottom of the A-3 slice in Screen A of FL,. 5. Repetitively increase the Y (height) coordinates while keeping die X (length) coordinate constant,

Until the Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive Y (height) coordinates, and die Y coordinate is witiiin six inches of the height of the animal at die top of die A-6 slice in Fig. 5.

Decrease Y (height) by one coordinate, and save die X, Y, and Z coordinates as die top of the A-3 slice in Fig. 5. The difference between die Y (height) coordinate at the top of the A-3 slice and die bottom of the A-3 slice provides die stature of the animal.

Compare all the Z (distance) coordinates along die A-3 slice widi die optimum cow coordinates to provide a rating of die current A-3 slice on strengdi and dairy form of this animal. Table 6.

The A-2 slice in Screen A of Fig. 5 is also used to determine me strength and dairy form of the current animal. The A-2 slice is 60% of the way between the X (length) coordinates of die A-3 slice, and die A-1 slice. The pseudo code in Table 7 shows the rating of A-2 slice. Use die X (length) coordinate of die A-1 slice and t! A-3 slice to determine 60% of the distance from A-3 to A-1. This is the X (length) coordinate of he A-2 slice in Fig. 5. Use die Y (height) coordinate of die top of die A-3 slice and the new X (lengdi) coordinate for the A-2 slice. Repetitively increase the Y (height) coordinate, while keeping die X

(lengdi) coordinate constant, Until die Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive Y (height) coordinates. Decrease die Y (height) coordinate by one to return to the neck of

the animal. Save this point as the top of die A-2 slice in Screen A of Fig. 5. Repetitively decrease the Y (height) coordinate, while keeping the X (lengdi) coordinate constant. Until die Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive Y (height) coordinates. Increase the Y (height) coordinate by one to return to the bottom of the neck. Save diis point as the bottom of the A-2 slice in Screen A of Fig.

5.

Compare die Y (height) and Z (distance) coordinates along die A-2 slice widi an optimum A-2 slice and rate die current A-2 slice for strengdi and dairy form. The points along die A-2 slice can be formed into a curve using die technique of least squares analysis, and die radius of die curve can be rated.

Table 7. The A-4 slice in Screen A of Fig. 5 also determines die strengdi and dairy form of the animal. To locate the A-4 slice begin at die bottom of the A-6 slice identified in Table 2 and use die pseudo code in Table 3 to move forward until die near front leg is found, tiien move back off the leg. Start from the bottom of the A-6 slice. Bodi the X (lengdi) and Y (height) coordinate will predominantly increase, until die Z (distant) coordinate is abruptiy reduced to locate die near front leg. Since the A-4 slice in Screen A of Fig. 5 is behind die point of die elbow of die near front leg, call Table 3 to move back two inches. Start from the point just behind die near front leg on die animal. Bodi die X and Y coordinates will predominandy decrease until X has reduced by two inches from the back of die near front leg. This identifies die bottom of the A-4 slice in Screen A of Fig. 5. The A-4 slice followed from the bottom to the top of die animal and rated in Table

8.

Repetitively increase the Y (height) coordinate, while keeping die X (length) coordinate constant, Until die Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive Y (height)

coordinates. Decrease die Y (height) coordinate by one to return to die back. Save mis point as the top of die A-4 slice in Fig. 5. Compare the Z coordinates along die A-4 slice widi an optimum A-4 slice and grade die current A-4 slice.

Subtract the bottom Y (height) coordinate of the A-4 slice from the top of die A-4 slice to determine the body depdi of die animal. Table 8. Only the A-5 slice on Fig. 5 remains to be identified on Screen A. The A-5 slice is 50% of the way between the A-6 slice and die A-4 slice. The A-5 slice is used to determine me body depdi and strength of die current animal. The coordinates along the A-5 slice are compared widi optimum measurements for these two traits and the current animal is given a grade. Table 9 describes how the A-5 slice is located and rated.

Use die X (length) coordinates of die A-6 slice and die A-4 slice to calculate 50% of die distance between die A-6 and A-4.

This provides die X (length) coordinate for the A-5 slice on Fig. 5. Start with die X (lengdi) coordinate for A-5 and die Y (height) coordinate of die hip bone. Repetitively increase die Y (height) coordinate, while keeping me X

(lengdi) coordinate constant, Until die Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive Y (height) coordinates. Decrease die Y (height) coordinate by one to return to die back.

Save diis point as the top of the A-5 slice in Fig. 5. Repetitively decrease d e Y (height) coordinate, while keeping die X (length) coordinate constant, Until die Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive Y (height) coordinates. Increase die Y (height) coordinate by one to return to the animal. Save diis point as the bottom of the A-5 slice in Fig. 5. Compare the Y (height) and Z (distance) coordinates along he A-5 slice widi an optimum A-5 slice and grade die current A-5

slice. Subtract the bottom Y (height) coordinate of die A-5 slice from die top of die A-5 slice to determine d e body depdi of diis animal at diis location and die body depdi is rated. Table 9.

All the slices on Screen A of Fig. 5 have been identified and evaluated. Fig. 6 shows die A-4 slice from Screen A, Fig. 5 from die front. The solid line shows die Y

(height) and Z (distance) coordinates from the near side of die animal. The dashed line shows die far side of the animal as a mirror image. The cow's backbone 402 is used as the center of die cow. All the slices which extend from die top to die bottom of the cow can be represented this way and used to calculate and rate die volume of die cow. Table

10 shows how diese points are determined. After die circumference of me slice is identified, assume die slice is one inch diick, and calculate die volume of that slice in square inches. One inch diick, along die X axis, slices from A-4 to A-6 can be calculated and used to determine the volume of this animal.

Start with die A-4 coordinates.

The Z (distance) coordinate at die top 602 of the A-4 slice defines a line down the center of die animal. Repetitively decrease die Y (height) coordinate and subtract the Z (distance) coordinate for that point along die side of die animal 604 from the center distance 602. This gives widdi of one side of die animal. Add diis widdi to die center Z (distance) coordinate along die same Y (height) coordinate to determine die dimensions of die far side of die animal at point 606.

Continue down die side of die animal until die Z distance increases by 2% between two consecutive Y (height) coordinates.

Table 10. Return to the hip bone on slice B-l in Fig. 5 to begin evaluating Screen B. Screen

B extends from the hip bone to the pin bone B-4 on Fig. 5 and down 23 % of die distance between die hip bone height and die ground. Screen C extends from the hip bone to die rear of die animal, excluding die tail, and from bottom of Screen B down 75% of die height from the hip bone to die ground. Use Table 3 to locate die ground under die front of die near hind leg D-l on Fig.

5. The search for the ground begins from the bottom of the A-6 slice. The Y (height) coordinate predominantly decreases and die X (length) coordinate varies, until die Z (distance) coordinate has not significantly change. The last point identified on die edge of the animal is saved as the D-l location in Screen D of Fig. 5. Use die pseudo code in Table 11 to locate die two lines separating Screen B,

Screen C, and Screen D.

Use die Y (height) coordinate of the hip bone and die Y coordinate of die ground at D-l to determine 23 % of die distance from the hip bone to die ground. This new Y (height) coordinate is die bottom of Screen B in Fig. 5.

Use the Y (height) coordinate of die hip bone and die Y coordinate of die ground at D-l to determine 75% of the distance from the hip bone to the ground. This new Y (height) coordinate is die bottom of Screen C in Fig. 5. Table 11.

In order to find die pin bone and die rear of die animal, start from the hip bone and increase the Y (height) coordinate to find die back of die animal. Pseudo code for this is shown in Table 12.

Start from the hip bone on slice B-l of Fig. 5. Repetitively increase the Y (height) coordinate of die hip bone, while keeping die X (length) coordinate constant, Until die Z (distance) coordinate increases by at least two inches between two consecutive X coordinates. The back of the animal has been reached. Table 12.

Use die pseudo code in Table 13 to follow the back of d e animal until die perimeter of die animal drops far enough to know diat the rear most point of die animal has been found. The pin bone is die rear most point on die cow, excluding die tail. The distance from the camera of the pin bone is compared widi die hip bone and a rump angle is calculated and rated. The pseudo code for diis is shown in Table 13.

Continue along die back of die animal toward die rump using die pseudo code of Table 3 follow a line across die back and down die rump of die animal. As the edge is followed, save die X, Y, and Z coordinates of die point widi die smallest X coordinate.

Continue down die rump until die Y (height) coordinate is one foot lower tiian the Y coordinate at die top of die B-l slice. Use die coordinates widi die smallest X (lengdi) coordinate found while oudining the rump.

Repetitively increase die X (lengdi) coordinate for four inches, keeping die Y (height) coordinate constant. Save all the Z (distance) coordinates in the four inches. If die Z (distance) is decreased at least two inches between two consecutive X points along diis Y (height) line, me smallest X coordinate was on die tail. Save the X, Y, and Z coordinates after die Z (distance) is decreased by at least two inches. This is the rear of die animal. Repetitively decrease die Y (height) coordinate, varying die X

(length) coordinate as needed to follow the line where the Z (distance) coordinate increases at least two inches between two consecutive X or Y coordinates. Continue diis line until Y (height) is one foot lower than die back at die top of slice B-l on Fig. 5.

Save die X, Y, and Z coordinates at the smallest X (length) coordinate along diis line. End If.

The coordinates at die smallest X location, not on die tail, identify die pin bone B-4 on Fig. 5, and rear of die animal.

Using me X (lengdi) and Y (height) coordinates of die pin bone and die hip bone, calculate die angle of a line from die hip bone to die pin bone. Level or a slight slope down from the hip bone to die pin bone is best. Table 13.

The tiiurl bone is used to calculate linear widdi of die rump of the animal. The tiiurl bone is closest to the camera on me B-3 slice in Screen B of Fig. 5. This bone is roughly in die center of Screen B on Fig. 5. The pseudo code in Table 14 finds die tiiurl bone and calculates die linear widdi of die animal. Define a center square in Screen B of Fig. 5.

The top of the center square is one tiiird of the way from the hip bone to die bottom of Screen B on die Y axis. Save this Y coordinate.

The bottom of the center square is two thirds of the way from die hip

5 bone to die bottom of Screen B on the Y axis. Save this

Y coordinate. The left side of die center square is one third of the way from the pin bone to die hip bone on die X axis. Save this X coordinate. 10 The right side of die center square is two thirds of the way from the pin bone to the hip bone on die X axis. Save this X coordinate. Start in the lower left corner of the center square, die location with die lowest X and Y coordinates in die center square. 15 Repetitively increase Y (height), while keeping X (lengdi) constant,

Until the top of the center square is reached. Save die X, Y, and Z coordinates of die point with die smallest Z value. The point closest to die camera. Increase the X (length) coordinate and use die Y (height) 20 coordinate of die bottom of the center square.

After all die Z values in die center square have been checked, die X, Y, and Z coordinates of die smallest Z value found indicate die location of die tiiurl bone. If there is more than one point with the same Z (distance) coordinate, use die point

25 nearest die center of diis center square in Screen B of Fig.

5. Start from the thurl bone.

Repetitively increase the Y (height) coordinate of die tiiurl bone, while keeping the X (length) coordinate constant, 30 Until the Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive Y (height) coordinates. The back of the animal has been reached, and die top of the B-3 slice of Fig. 5 has been identified.

Subtract die Z (distance) coordinate of die tiiurl bone from the Z

35 coordinate of the top of the B-3 slice. Multiply this

distance by two. This gives the linear widdi of die rump of this animal. Compare this to an optimum widdi to rate this animal.

Table 14. All the needed slices on Screen B have been identified and evaluated. Return to the hip bone on slice B-l in Screen B of Fig. 5 to begin evaluating Screen C. Screen C extends from die hip bone to the rear of the animal, and from the lines defined in Table 11 between Screen B and Screen C and between Screen C and Screen D. Screen C is used to evaluate the mammary system of the animal. Beginning from the hip bone on B-l in Fig. 5 locate the udder and die teats of the animal.

The C-l slice on Fig. 5 starts from the Y (height) coordinate of die line between Screen B and Screen C. The X (lengdi) coordinate is the value of X at the hip bone. Repetitively decrease die Y (height) coordinate, keeping X (length) constant, Until the Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive Y (height) coordinates. Increase Y (height) by one to return to die animal.

Save the X, Y, and Z coordinates at die bottom of the C-l slice.

Table 15.

Then determine the length of first teat found. The pseudo code in Table 16 evaluates Screen C on Fig. 5. Starting from the bottom of the C-l slice as located by die pseudo code of Table 15 and follow die edge of die animal watching for a change of half an inch in Y within one quarter inch in X. The first teat has been found. Measure die lengdi of die teat for rating. Immediately after die first teat, slice C-6 is identified. The bottom of the C-6 slice is compared to die backbone and die ground to rate die udder depdi of diis animal. Repetitively decrease die X (length) coordinate varying the Y (height) coordinate as needed to follow a line along the bottom of the cow where the Z (distance) coordinate increases by at least 2% between two consecutive X or Y coordinates. (This logic is very similar to the logic used in Table 3.) When die Y (height) coordinate decreases by at least half an inch

within one quarter inch change in X (lengdi), die first teat has been found. Save die X, Y, and Z coordinates of d e point on die udder before starting down die teat. Continue to decrease die Y (height) coordinates, varying the X

(length) coordinate as needed to follow the edge of die animal, until Y increases to at least half the distance between die lowest point on the teat and die starting point of the teat. Saving the X, Y, and Z coordinates at die lowest Y coordinate.

Calculate die height difference between die staring point of the teat and die lowest point on the teat to determine the length of the teat. Compare the teat length to the optimum teat length and record a rating for the current animal.

Continue to increase the Y (height) coordinate, varying the X (length) coordinate, until die X (lengdi) coordinate decreases by at least one quarter inch within one quarter inch change in

Y (height), the udder behind the first teat has been found. Save die X, Y, and Z coordinates of die point on the udder as the bottom of the C-6 slice. Repetitively decrease die X (lengdi) coordinate varying the Y (height) coordinate as needed to follow the edge along die bottom of the cow. Until the Z (distance) coordinate decreases by at least 2% of the last Z coordinate between two consecutive X (length) coordinates. The hind leg has been reached. Saving die X, Y, and Z coordinates at die start of the hind leg. Table 16. The measurements of Screen C Fig. 5 are completed. More mammary measurements are taken from Fig. 7.

Screen D provides hoof and leg angel measurement for the current animal. If the angle of the leg to the ground is too perpendicular or too slopping, this causes other problems widi this animal. The points down die front of die near hind leg were located just prior to table 11. Use Table 3 to move back up the front of the near hind leg two

inches. Start from the bottom of the D-l slice, die Y coordinate is predominantiy increased and the X coordinate is predominantly decreased, until the Y coordinate is two inches above die ground level.

Table 17 moves across the near hind leg. Repetitively decrease die X (length) coordinate while keeping the Y

(height) coordinate constant,

Until the Z (distance) coordinate increases by at least 1 % over the last Z coordinate between two consecutive X (length) coordinates. The distance off the leg may be less here, because of the closeness to the ground. The back of the hind leg has been reached. Increase die X (lengdi) coordinate by one to return to die animal. Table 17. Use Table 3 to follow the edge of die back of die near hind leg to die ground to get die points needed to evaluate die angle of die hind leg. Start from the point on the back of die near hind leg found in Table 17, die Y coordinate is predominantly reduced and die X coordinate is predominantly increased until the edge of die animal can no longer be identified. Save die last point on die animal as die bottom of the D-4 slice in Screen D of Fig. 5. Table 18 uses tiie points on the front and back of die near hind leg to evaluates the angle of the hind leg.

Start from the bottom of D-4.

Repetitively increase Y (height) coordinate while keeping the X (length) coordinate constant, Until the Z (distance) coordinate changes by two inches between two consecutive points. Decrease the Y (height) coordinate by one to get die last point still on d e animal. Save tiiese X, Y, and Z coordinates as die top of die D-4 slice on Fig. 5. Call Table 3 to follow a line up the back of the near hind leg. Start from the bottom of the D-4 slice, the Y (height) coordinate is predominantiy increased and the X (length) coordinate is predominantiy reduced, until the Y coordinate is one foot above the Y value at the bottom of D-4. Save the X, Y, and Z coordinates of diis point as the top of the D-

7 slice. Calculate die leg angle from the ground at die bottom of the D-l slice and die top of the D-7 slice in Fig. 5 and give it a rating. Calculate the hoof angle from the ground at die bottom of the D-l slice and die top of die D-4 slice in Fig. 5 and give it a rating.

Table 18. All the feature of Fig. 5 have been evaluated now.

Referring now to Fig. 7, a rear view of the cow as it would be seen by a second laser camera placed behind the cow. Fig. 7 is divided into three areas, Screens E, F, and G. Screen E and Screen G do not contain any evaluation points. Screen F contains the mammary system as seen from the rear.

A point at the top center of the udder is manually designated using a tracer beam, mouse, or other pointer on the computer in the same manner as the hip bone was designated above. This is the primary reference point for this view of the animal. This point is used to position each animal's image uniformly 10 feet from the camera. This way all animals can be consistently compared. If the reference point is not 10 feet from the camera, the whole image of the animal is appropriately adjusted, as shown in Table 19.

If the top center point of the udder, die center of the F-2 slice in Fig. 7, is less than 10 feet from the k:--r camera 132 in Fig. 1, increase the distance, the Z coordinate, oy the difference between die top center of the udder and 10 feet; increase all the other distance coordinates in the image by the difference between the top center point of the udder and 10 feet; then adjust all die X (horizontal length) and Y (vertical height) coordinates appropriately to reduce the image; else, if the top center point of the udder, die center of die F-2 slice in Fig. 7 is more than 10 feet from the camera 132 in Fig. 1, decrease die distance, die Z coordinate, by die difference between the top center point of the udder and 10 feet; decrease all die other distance coordinates in the image by the difference between the top center point of the udder and 10 feet; then adjust all die X (length) and Y (height) coordinates appropriately to enlarge the image

End If.

Save die coordinates of die top center point on the udder on slice F-2 of Fig. 7 for later use. Table 19. After the image of the cow is scaled to die desired size and distance, die location of measurement points are determined. The line between Screen E and Screen F occurs four inches above the manually designated top center point on the udder on slice F-2 of Fig. 7.

The line between Screen F and Screen G is half the distance to the ground. The ground and die widdi of die animal are determined by locating die right side of die cow and following a line down the side of die cow to die ground using the pseudo code of table 3 above. Following, Table 20, contains the pseudo code to find die left and right sides of die animal on die F-2 slice.

Start from the top center point on the udder on slice F-2 of Fig. 7. Repetitively decrease the X (length) coordinate while keeping the Y

(height) coordinate constant, Until the Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive X (lengdi) coordinates. This is the left side of die F-2 slice on Fig. 7.

Save die X, Y, and Z coordinates of die left side of die F-2 slice. Return to the top center point on the udder on slice F-2 of Fig. 7. Repetitively increase the X (length) coordinate while keeping die Y (height) coordinate constant, Until the Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive X (length) coordinates. This is die right side of die F-2 slice on Fig. 7. Save the X, Y, and Z coordinates of d e right side of die F-2 slice.

Table 20.

Use Table 3 to locate die ground by going down die right side of die animal. Start from the right side of die F-2 slice, die Y coordinate is predominantly reduced and die X coordinate varies, until the edge of die animal can no longer be identified. The ground and die right side of die G-2 slice has been found.

Calculate the line between Screen F and Screen G as half the distance from F-2 to the ground.

Calculate die distance between the Y coordinates of the F-2 slice and d e ground at G-2. Then calculate 50% of this distance as the location of the line between Screen F and Screen G.

Table 21. In order to locate die bottom of the udder follow the line up the inside of the right hind leg. Locate the starting point of the udder, when the Y coordinate on the perimeter of the cow starts to move down. Save die starting point of the side of d e udder and continue across the bottom of the udder. Save die bottom point of the udder to determine the depth of the udder. Table 22 contains the pseudo code to outline the inside of the animal's right hind leg and the bottom of the udder. The code to follow the edge of the animal would be similar to Table 3, but the points kept along the way are different and d e terminating conditions are different. Start from the right side of die G-2 slice.

Repetitively increase the Y (height) coordinate while varying the X (length) coordinate along a line where the Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive X coordinates. Until the Y (height) coordinate is two inches above the ground.

Repetitively decrease die X (lengdi) coordinate while keeping the Y coordinate constant, Until the Z (distance) coordinate increases by at least 2% over die last Z coordinate between two consecutive X (length) coordinates. The inside of die right hind leg has been located. Repetitively increase the Y (height) coordinate while varying the X (length) coordinate along a line where the Z (distance) coordinate increases by at least 2% between two consecutive X coordinates.

Until die Y (height) coordinate is at least one inch lower than the highest Y point reached. The udder has been reached. Save die X, Y, and Z coordinates of die highest Y point reached. This is the udder connection widi die right hind leg of die animal.

Table 22. Various points along the udder need to be identified. The lowest point on the udder, not including a teat, is needed to determine the depdi of the udder. This point is also used to locate die F-6 slice in Screen F of Fig. 7 that is used for udder widdi measurements and rating. The pseudo code for all this is shown in Table 23. Start from the udder connection to the right hind leg. Repetitively decrease die X (length) coordinate, while varying the Y (height) coordinate as needed, along a line where the Z (distance) coordinate increases by at least 2% between two consecutive Y coordinates.

Until the Y (height) coordinate decreases by at least half an inch witiiin one quarter inch along the X axis. A teat has been reached. Save this point for use later.

Increase the Y (height) coordinate by one half inch and save die Y coordinate as die height of die F-9 slice in Screen F in

Fig. 7. Calculate die distance between die Y coordinates of the F-2 slice and F-9 slice. Then calculate 50% of this distance as the location of the F-6 slice. Slice F-6 on Fig. 7 occurs half way between slice F-2 and slice F-9.

Beginning with the X (length) coordinate of die top center point on the udder on slice F-2 of Fig. 7 and die F-6 Y (height) coordinate, keep die Y coordinate constant and increase the X coordinate until the Z (distance) coordinate increases by at least 2% over the last Z coordinate between two consecutive X coordinates.

While moving across the rear of the cow, and after moving two inches on the X axis, save the X (length) coordinate and the Z (distance) coordinate at die point where the Z coordinate is furthest from the camera, but still on the animal. This identifies the crease on die right side of die udder.

Return to die X (lengdi) coordinate of the top center point on die udder on slice F-2 of Fig. 7 and die F-6 Y (height) coordinate, keep the Y coordinate constant and decrease die X

coordinate until the Z (distance) coordinate increases by at least 2% between two consecutive X coordinates.

While moving across the rear of the cow, and after moving two inches on the X axis, save the X (length) coordinate and die Z (distance) coordinate at die point where the Z coordinate is furthest from the camera, but still on the animal. This identifies die crease on die left side of die udder. The distance between the left side of the udder and die right side of die udder on F-6 slice of Fig. 7 defines and rates die widtii of the rear of the udder.

Table 23. The lowest point on a teat is needed, and die location and height of the cleft between the two sides of the udder is needed. All these points are located in die following pseudo code, Table 24. Staring from the point where the first rear teat was identified in table 23.

Repetitively decrease the Y (height) coordinate, while varying the X (length) coordinate as needed, along a line where the Z (distance) coordinate increases by at least 2% between two consecutive X coordinates. Save the lowest Y (height) coordinate reached.

Until the Y (height) coordinate increases by half an inch witiiin one quarter inch decrease along die X coordinate. Save the lowest Y (height) coordinate as die height of the F- 11 slice on Fig. 7. Repetitively decrease the X (length) coordinate, while varying the Y

(height) coordinate as needed, along a line where the Z (distance coordinate increases by at least 2% between two consecutive X coordinates. Save die X, and Y coordinates of the highest point reached by die Y coordinate.

Until die Y (height) coordinate decreases by at least one inch within one inch along the X axis. The highest point defines die height of die F-7 slice on Fig. 7, and die udder cleft. Save the X and Y coordinates of diis point. Begnining with the X (length) coordinate of die top center point on the

udder " on slice F-2 of Fig. 7 and die F-9 Y (height) coordinate, keep die Y coordinate constant and increase the X coordinate until the Z (distance) coordinate increases by at least 1 % within three inches along the X coordinates. The most distant Z coordinate marks the inside of die right udder on die F-9 slice.

Return to the X (length) coordinate of die top center point on die udder on slice F-2 of Fig. 7 and die F-9 Y (height) coordinate, keep the Y coordinate constant and decrease die X coordinate until the Z (distance) coordinate increases by at least 1 % witiiin three inches along the X coordinates.

The most distant Z coordinate marks the inside of die left udder on die F-9 slice.

The udder cleft on die F-7 slice in conjunction with the inside of die left and right udder define die triangular udder cleft of this cow. Compare this triangular udder cleft with the optimum cow and rate die current animal. Table 24. While the general inventive concepts and systems have been described in connection widi illustrative and presentiy preferred embodiments thereof, it is intended tiiat otiier embodiments of tiiese general concepts and systems be included witiiin the scope of die claims of this application and any patent issued dierefrom. For example, the number of traits or phenotypic characteristics of animals and die manner and methods of determiiiing such traits or characteristics may be expanded or contracted depending upon die purposes intended and die state of knowledge widi respect tiiereto. It is contemplated tiiat use of the present system will enable an enhanced knowledge wid respect to die correlation between measurable characteristics and traits of animals and their offspring. While the general concepts and systems of the invention have been illustrated and described by reference to a particular kind of animal, i.e., dairy cow, it is to be understood and it is contemplated tiiat the general concepts may be applied to otiier kinds of animals such as dogs, pigs, beef cattle, horses, chickens, etc. and human beings for any worthwhile purpose.