SquareCrossClustersIntoGrids 
Takes as input a set of unordered cross connected clusters and converts them into ordered grids with known numbers
of rows and columns.

SquareEdge 
Edge in the graph which connects square shapes

SquareGraph 
Used for constructing a graph of squares that form a regular grid.

SquareGrid 
Data structure which describes a set of SquareNode as a grid.

SquareGridTools 

SquareNode 
Graph representation of square blobs.

SquareNode.KdTreeSquareNode 

SquareRegularClustersIntoGrids 
Takes as input a set of unordered regular connected clusters and converts them into ordered grids with known numbers
of rows and columns.

SquaresIntoClusters 
Base class for clustering unorganized squares into different types of clusters.

SquaresIntoCrossClusters 
Processes the detected squares in the image and connects them into clusters in which the corners of each square
almost touches the corner of a neighbor.

SquaresIntoRegularClusters 
Processes the detected squares in the image and connects them into clusters.
