A computer- implemented image analysis process for making animal measurements, including: acquiring the range image data representing a range image including an animal object representing an animal; selecting all points in the range image that are less than a distance representing the floor; selecting individual connected solid objects in the set of points that are selected; selecting the boundaries of the connected solid objects; characterised in that the process further includes: selecting a valid boundary by selecting the boundary that matches a template boundary corresponding to an expected animal shape; calculating the minimum fitted ellipse for each object that is matched to the template, to determine a bounding rectangle width, height, and angle orientation; selecting a subset of the valid boundary by detecting the animal head and removing it; removing the points corresponding to the trimmed head area; using the bounding rectangle with the subset of the valid boundary to determine the points belonging to the selected object; calculating the volume of the selected object by integration of the vertical distance of each point on the object to the floor; and looking up a database including information correlating the volume of the animal with a weight in the database. acquiring the range image data representing a range image including an animal object representing an animal; selecting all points in the range image that are less than a distance representing the floor; selecting individual connected solid objects in the set of points that are selected; selecting the boundaries of the connected solid objects; characterised in that the process further includes: selecting a valid boundary by selecting the boundary that matches a template boundary corresponding to an expected animal shape; calculating the minimum fitted ellipse for each object that is matched to the template, to determine a bounding rectangle width, height, and angle orientation; selecting a subset of the valid boundary by detecting the animal head and removing it; removing the points corresponding to the trimmed head area; using the bounding rectangle with the subset of the valid boundary to determine the points belonging to the selected object; calculating the volume of the selected object by integration of the vertical distance of each point on the object to the floor; and looking up a database including information correlating the volume of the animal with a weight in the database. selecting a valid boundary by selecting the boundary that matches a template boundary corresponding to an expected animal shape; calculating the minimum fitted ellipse for each object that is matched to the template, to determine a bounding rectangle width, height, and angle orientation; selecting a subset of the valid boundary by detecting the animal head and removing it; removing the points corresponding to the trimmed head area; using the bounding rectangle with the subset of the valid boundary to determine the points belonging to the selected object; calculating the volume of the selected object by integration of the vertical distance of each point on the object to the floor; and looking up a database including information correlating the volume of the animal with a weight in the database.