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()); }
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"));