Exemple #1
0
void TestFileGenerator::WriteRemaingSmallCelFileWithGridParameters(CelFileData& data)
{
	data.SetIntensityCount(25);
	data.SetStdDevCount(25);
	data.SetPixelCount(25);
	data.SetOutlierCount(2);
	data.SetMaskCount(3);
	data.SetRows(5);
	data.SetCols(5);
	data.SetArrayType(L"Hg-small");
    data.SetLibraryPackageName(L"Hg-small-lib-package");
    data.SetMasterFileName(L"Hg-small-master-file");
	data.SetAlgorithmName(L"Feature Extraction");
	ParameterNameValueType nvt;
	nvt.SetName(L"percentile");
	nvt.SetValueFloat(0.75f);
	data.AddAlgorithmParameter(nvt);
	nvt.SetName(L"outlierlow");
	nvt.SetValueFloat(1.004f);
	data.AddAlgorithmParameter(nvt);
	nvt.SetName(L"CellMargin");
	nvt.SetValueInt32(2);
	data.AddAlgorithmParameter(nvt);

	// Add grid
	wchar_t* gridParams[] = {L"GridULX", L"GridULY", L"GridURX", L"GridURY", L"GridLRX", L"GridLRY", L"GridLLX", L"GridLLY" };
	for (int32_t i = 0; i < 8; ++i)
	{
		nvt.SetName(gridParams[i]);
		nvt.SetValueFloat(2.0f + (float)i);
		data.AddAlgorithmParameter(nvt);
	}

	CelFileWriter* writer = new CelFileWriter(data);

	FloatVector vInten;
	FloatVector vStdev;
	Int16Vector vPixels;

	for (int i=0; i<25; ++i)
	{
		vInten.push_back(100.0f*i);
		vStdev.push_back(.5*i);
		vPixels.push_back(25);
	}

	// Do some writing
	writer->WriteIntensities(vInten);
	writer->WriteStdDevs(vStdev);
	writer->WritePixels(vPixels);

//	XYCoordVector
	XYCoordVector outlier;
	XYCoord xy(0,0);
	outlier.push_back(xy);
	xy.xCoord = 1;
	xy.yCoord = 2;
	outlier.push_back(xy);
	writer->WriteOutlierCoords(outlier);

	XYCoordVector masked;
	xy.xCoord = 1;
	xy.yCoord = 0;
	masked.push_back(xy);
	xy.xCoord = 2;
	xy.yCoord = 1;
	masked.push_back(xy);
	xy.xCoord = 3;
	xy.yCoord = 2;
	masked.push_back(xy);
	writer->WriteMaskCoords(masked);

	delete writer;
}