approximate collinearity check implemented and used to throw out degenerate cases, needs unit tests
cleaner image display codes