void StemDetection::findStems()
{
	cerr << "...Finding stems..." << endl;
	int nRows = vBoard.size(), nCols = vBoard[0].size();
	for (int j = 0; j < nCols; j++)
	{
		for (int i = 0, len = 0, start = 0; i <= nRows; i++)
		{
			if (i == nRows || vBoard[i][j] == WHITE)
			{
				if (len >= 2 * staffSpaceHeight)
				{
					Stem stem;
					for (int k = start; k < i; k++)
						stem.AddPixel(Point2i(k, j));
					if (isStem(stem))
						stems.push_back(stem);
				}
				len = 0;
				start = i + 1;
				continue;
			}
			else
				len++;
		}
	}
	mergeStems();
	filterStems();
}