I'm considering another idea as well. First, I divide my array into squares. Then I evaluate each square according to the density of plots inside it. Squares without a high enough density could be considered empty squares.
Then I evaluate non-empty squares according to how they are connected to the squares around them. The program could go through the squares in an orderly manner, and evaluate square by square. Then I could assign a 'cluster code' to each non-empty square (and each data point in the square.)
The squares might end up looking something like this:
0 3 3 0 0
0 3 0 0 0
0 0 0 0 2
0 0 2 2 2
0 0 0 0 0
0 1 1 1 0
Zeros representing empty squares.
Anyone have any ideas to go along with this?

Message Edited by TonP on 08-05-2006 02:13 PM
Thank you. Your code should save me some time. Would you be willing to send me a block diagram of the 'remove duplicates' subvi? I couldn't find it in the functions palette for 7.1. You could send me the subvi but you indicated you are using 8.1.