Averaged values for multiple closed surfaces in a plane

What is the most efficient way of getting surface averaged velocities passing through each tube at a defined plane as shown in the attached image? I am sure this can be done programmatically but I have no idea how to specify the individual areas for surface averaging. The tubes are equidistant in x and y directions.