TEST(ParameterTest, SetParameters) {
	paramList parameters = initParameters(PARAMETERS_DIR);

	setParameter(parameters, "display", "true");
	EXPECT_TRUE(getParamBool(parameters, "display"));
	setParameter(parameters, "cropping", "lung");
	EXPECT_EQ("lung", getParamStr(parameters, "cropping"));
	setParameter(parameters, "tdf-high", "0.9");
	EXPECT_EQ(0.9f, getParam(parameters, "tdf-high"));
}
TEST(ParameterTest, GetDefaultParameters) {
	paramList parameters = initParameters(PARAMETERS_DIR);

	EXPECT_FALSE(getParamBool(parameters, "display"));
	EXPECT_EQ("gpu", getParamStr(parameters, "device"));
	EXPECT_EQ(0.05f, getParam(parameters, "gvf-mu"));

	EXPECT_EQ("Display results", parameters.bools["display"].getDescription());
	EXPECT_EQ("Which type of processor to use", parameters.strings["device"].getDescription());
	EXPECT_EQ("Mu regularization constant of GVF", parameters.numerics["gvf-mu"].getDescription());
}
예제 #3
0
SCENARIO("Loading the Neuro-Vessels-USA (gpu) preset", "[TSF][unit]"){
	GIVEN("we init the parameters with default values"){
		TestTubeSegmentationFramework helper;
		std::string path = helper.getParametersDir().toStdString();
		paramList neuroVesselsUSAParameters;
		REQUIRE_NOTHROW(neuroVesselsUSAParameters = initParameters(path));

		WHEN("we set the string parameters parameter to Neuro-Vessels-USA"){
			REQUIRE_NOTHROW(setParameter(neuroVesselsUSAParameters, "centerline-method", "gpu"));
			REQUIRE_NOTHROW(setParameter(neuroVesselsUSAParameters, "parameters", "Neuro-Vessels-USA"));

			AND_WHEN("we load the parameter presets"){
				REQUIRE_NOTHROW(loadParameterPreset(neuroVesselsUSAParameters, path));

				THEN("we can check that the expected values are set"){
					CHECK(getParamStr(neuroVesselsUSAParameters, "minimum") == "50");
					CHECK(getParamStr(neuroVesselsUSAParameters, "maximum") == "200");
					CHECK(getParam(neuroVesselsUSAParameters, "fmax") == Approx(0.1));
					CHECK(getParam(neuroVesselsUSAParameters, "min-mean-tdf") == 0.5);
					CHECK(getParam(neuroVesselsUSAParameters, "radius-min") == 1.5);
					CHECK(getParam(neuroVesselsUSAParameters, "radius-max") == 7.0);
					CHECK(getParam(neuroVesselsUSAParameters, "small-blur") == 2.0);
					CHECK(getParam(neuroVesselsUSAParameters, "large-blur") == 3.0);
					CHECK(getParamStr(neuroVesselsUSAParameters, "cropping") == "threshold");
					CHECK(getParam(neuroVesselsUSAParameters, "cropping-threshold") == 50);
					CHECK(getParam(neuroVesselsUSAParameters, "min-tree-length") == 10);
					CHECK(getParamBool(neuroVesselsUSAParameters, "sphere-segmentation") == true);
					CHECK(getParam(neuroVesselsUSAParameters, "cube-size") == 4);
				}
				AND_WHEN("we try to set a bool parameter to false"){
					REQUIRE_NOTHROW(setParameter(neuroVesselsUSAParameters, "sphere-segmentation", "false"));