Page 269 -
P. 269

Chapter 6 ■ Thinning   243


                                       im->data[r+2] [c] == 1 && im->data[r+2] [c+1] == 0 &&
                                       im->data[r+2] [c+2] == 0 &&
                                       im->data[r+1] [c-2] == 0 && im->data[r+1] [c-1] == 0 &&
                                       im->data[r+1] [c] == 1 && im->data[r+1] [c+1] == 0 &&
                                       im->data[r+1] [c+2] == 0 &&
                                       im->data[r] [c-2] == 0 && im->data[r] [c-1] == 0 &&
                                       im->data[r] [c] == 0 && im->data[r] [c+1] == 0 &&
                                       im->data[r] [c+2] == 0 &&
                                       im->data[r-1] [c-2] == 0 && im->data[r-1] [c-1] == 0 &&
                                       im->data[r-1] [c] == 0 && im->data[r-1] [c+1] == 0 &&
                                       im->data[r-1] [c+2] == 0 &&
                                       im->data[r-2] [c-1] == 0 &&
                                       im->data[r-2] [c] == 0 && im->data[r-2] [c+1] == 0)
                                    {
                                         im->data[r] [c] = 2;
                                         return;
                                    }
                                *   *
                               /  U3  /
                                    if (k>=3)
                                    if (im->data[r+2] [c-2] == 0 && im->data[r+2] [c-1] == 0 &&
                                       im->data[r+2] [c] == 1 && im->data[r+2] [c+1] == 1 &&
                                       im->data[r+2] [c+2] == 0 &&
                                       im->data[r+1] [c-2] == 0 && im->data[r+1] [c-1] == 0 &&
                                       im->data[r+1] [c] == 1 && im->data[r+1] [c+1] == 0 &&
                                       im->data[r+1] [c+2] == 0 &&
                                       im->data[r] [c-2] == 0 && im->data[r] [c-1] == 0 &&
                                       im->data[r] [c] == 0 && im->data[r] [c+1] == 0 &&
                                       im->data[r] [c+2] == 0 &&
                                       im->data[r-1] [c-2] == 0 && im->data[r-1] [c-1] == 0 &&
                                       im->data[r-1] [c] == 0 && im->data[r-1] [c+1] == 0 &&
                                       im->data[r-1] [c+2] == 0 &&
                                       im->data[r-2] [c-1] == 0 &&
                                       im->data[r-2] [c] == 0 && im->data[r-2] [c+1] == 0)
                                    {
                                         im->data[r] [c] = 2;
                                         return;
                                    }

                               / *  U4  * /
                                    if (k>=4)
                                    if (im->data[r+2] [c-2] == 0 && im->data[r+2] [c-1] == 1 &&
                                       im->data[r+2] [c] == 1 && im->data[r+2] [c+1] == 0 &&
                                       im->data[r+2] [c+2] == 0 && im->data[r+1] [c-2] == 0 &&
                                       im->data[r+1] [c-1] == 1 &&
                                       im->data[r+1] [c] == 1 &&
                                       im->data[r+1] [c+1] == 0 &&
                                       im->data[r+1] [c+2] == 0 &&
                                       im->data[r] [c-2] == 0 && im->data[r] [c-1] == 0 &&
                                       im->data[r] [c] == 0 && im->data[r] [c+1] == 0 &&
                                       im->data[r] [c+2] == 0 &&
                                       im->data[r-1] [c-2] == 0 && im->data[r-1] [c-1] == 0 &&
                                       im->data[r-1] [c] == 0 && im->data[r-1] [c+1] == 0 &&
   264   265   266   267   268   269   270   271   272   273   274