 	return info;
 }
 
-void ProfileSpeedVsROI()
+void ProfileSpeedVsROI(LocalizeModeEnum locMode, const char *outputcsv)
 {
 	int N=24;
 	float* values = new float[N*3];
 
 	for (int i=0;i<N;i++) {
 		int roi = 40+i*5;
-		SpeedInfo info = SpeedCompareTest(roi);
+		SpeedInfo info = SpeedCompareTest(roi, locMode);
 		values[i*3+0] = roi;
 		values[i*3+1] = info.speed_cpu;
 		values[i*3+2] = info.speed_gpu;
 	}
 
 	const char *labels[] = { "ROI", "CPU", "CUDA" };
-	WriteImageAsCSV("speeds.txt", values, 3, N, labels);
+	WriteImageAsCSV(outputcsv, values, 3, N, labels);
 	delete[] values;
 }
 

	cudaBatchSize = 32;
#endif
	bool haveZLUT = false;
	LocMode_t locType = (LocMode_t)( LT_QI|LT_NormalizeProfile );

	QTrkComputedConfig cfg;
	cfg.width = cfg.height = w;
	cfg.qi_iterations = 4;
	//std::vector<int> devices(1); devices[0]=1;
	//SetCUDADevices(devices);
	cfg.cuda_device = QTrkCUDA_UseAll;


//CompareAccuracy("../cputrack-test/lut000.jpg");
//QTrkCompareTest();
		ProfileSpeedVsROI(LT_QI, "speeds-qi.txt");
		ProfileSpeedVsROI(LT_OnlyCOM, "speeds-com.txt");

	/*auto info = SpeedCompareTest(80, false);
	auto infogc = SpeedCompareTest(80, true);
	dbgprintf("[gainc=false] CPU: %f, GPU: %f\n", info.speed_cpu, info.speed_gpu); 
