void UBMS360::scaleBooleanMap(cv::UMat& map) {

	scaleMutex.lock();
	if (scaleMatrix.cols != map.cols && scaleMatrix.rows != map.rows) {
		cv::Mat scaleMat(map.size(), CV_32FC1);

		for (int i = 0; i < map.rows; ++i) {
			float c = std::cos(3.1415926535898f * static_cast<float>(map.rows / 2 - i) / map.rows);
			for (int j = 0; j < map.cols; ++j) {
				scaleMat.at<float>(i, j) = c;
			}
		}

		scaleMat.copyTo(scaleMatrix);
	}
	scaleMutex.unlock();

    
	cv::multiply(map, scaleMatrix, map);
    
}