diff --git a/README.md b/README.md index 456cb82e..b572c433 100644 --- a/README.md +++ b/README.md @@ -343,7 +343,7 @@ Apart from defining your feature set by explicitly specifying comma-separated fe | \*all_glszm\* | glszm_sae, glszm_lae, glszm_gln, glszm_glnn, glszm_szn, glszm_sznn, glszm_zp, glszm_glv, glszm_zv, glszm_ze, glszm_lglze, glszm_hglze, glszm_salgle, glszm_sahgle, glszm_lalgle, glszm_lahgle | \*all_gldm\* | gldm_sde, gldm_lde, gldm_gln, gldm_dn, gldm_dnn, gldm_glv, gldm_dv, gldm_de, gldm_lgle, gldm_hgle, gldm_sdlgle, gldm_sdhgle, gldm_ldlgle, gldm_ldhgle | \*all_ngtdm\* | ngtdm_coarseness, ngtdm_contrast, ngtdm_busyness, ngtdm_complexity, ngtdm_strength -| \*all_easy\* | All the features except the most time-consuming GABOR, GLCM, and the group of 2D moment features +| \*wholeslide\* | All the features except those irrelevant for the whole-slide use case (BasicMorphology, EnclosingInscribingCircumscribingCircle, ConvexHull, FractalDimension, GeodeticLengthThickness, Neighbor, RoiRadius, EllipseFitting, EulerNumber, Extrema, ErosionPixel, CaliperFeret, CaliperMartin, CaliperNassenstein, and Chords) | \*all\* | All the features ## Command line usage diff --git a/src/nyx/env_features.cpp b/src/nyx/env_features.cpp index c8a62715..eca99af7 100644 --- a/src/nyx/env_features.cpp +++ b/src/nyx/env_features.cpp @@ -245,16 +245,6 @@ bool Environment::expand_2D_featuregroup (const std::string & s) return true; } - if ((Fgroup2D) fgcode == Fgroup2D::FG2_EASY) - { - theFeatureSet.enableAll(); - theFeatureSet.disableFeatures(GaborFeature::featureset); - theFeatureSet.disableFeatures(GLCMFeature::featureset); - theFeatureSet.disableFeatures(Imoms2D_feature::featureset); - theFeatureSet.disableFeatures(Smoms2D_feature::featureset); - return true; - } - if ((Fgroup2D) fgcode == Fgroup2D::FG2_NEIG) { Nyxus::theFeatureSet.enableFeatures (NeighborsFeature::featureset, enable); @@ -268,51 +258,28 @@ bool Environment::expand_2D_featuregroup (const std::string & s) } if ((Fgroup2D) fgcode == Fgroup2D::FG2_MORPHOLOGY) { - auto F = { - Feature2D::AREA_PIXELS_COUNT, - Feature2D::AREA_UM2, - Feature2D::CENTROID_X, - Feature2D::CENTROID_Y, - Feature2D::DIAMETER_EQUAL_AREA, - Feature2D::WEIGHTED_CENTROID_Y, - Feature2D::WEIGHTED_CENTROID_X, - Feature2D::COMPACTNESS, - Feature2D::BBOX_YMIN, - Feature2D::BBOX_XMIN, - Feature2D::BBOX_HEIGHT, - Feature2D::BBOX_WIDTH, - Feature2D::MAJOR_AXIS_LENGTH, - Feature2D::MINOR_AXIS_LENGTH, - Feature2D::ECCENTRICITY, - Feature2D::ORIENTATION, - Feature2D::ROUNDNESS, - Feature2D::EXTENT, - Feature2D::ASPECT_RATIO, - Feature2D::DIAMETER_EQUAL_PERIMETER, - Feature2D::CONVEX_HULL_AREA, - Feature2D::SOLIDITY, - Feature2D::PERIMETER, - Feature2D::EDGE_MEAN_INTENSITY, - Feature2D::EDGE_STDDEV_INTENSITY, - Feature2D::EDGE_MAX_INTENSITY, - Feature2D::EDGE_MIN_INTENSITY, - Feature2D::CIRCULARITY, - Feature2D::MASS_DISPLACEMENT }; - Nyxus::theFeatureSet.enableFeatures (F, enable); + theFeatureSet.enableFeatures (BasicMorphologyFeatures::featureset, enable); + theFeatureSet.enableFeatures (EnclosingInscribingCircumscribingCircleFeature::featureset, enable); + theFeatureSet.enableFeatures (ContourFeature::featureset, enable); + theFeatureSet.enableFeatures (ConvexHullFeature::featureset, enable); + theFeatureSet.enableFeatures (FractalDimensionFeature::featureset, enable); + theFeatureSet.enableFeatures (GeodeticLengthThicknessFeature::featureset, enable); + theFeatureSet.enableFeatures (NeighborsFeature::featureset, enable); + theFeatureSet.enableFeatures (RoiRadiusFeature::featureset, enable); + theFeatureSet.enableFeatures (EllipseFittingFeature::featureset, enable); + theFeatureSet.enableFeatures (EulerNumberFeature::featureset, enable); + theFeatureSet.enableFeatures (ExtremaFeature::featureset, enable); + theFeatureSet.enableFeatures (ErosionPixelsFeature::featureset, enable); + theFeatureSet.enableFeatures (CaliperFeretFeature::featureset, enable); + theFeatureSet.enableFeatures (CaliperMartinFeature::featureset, enable); + theFeatureSet.enableFeatures (CaliperNassensteinFeature::featureset, enable); + theFeatureSet.enableFeatures (ChordsFeature::featureset, enable); + return true; } if ((Fgroup2D)fgcode == Fgroup2D::FG2_BASIC_MORPHOLOGY) { - auto F = { - Feature2D::AREA_PIXELS_COUNT, - Feature2D::AREA_UM2, - Feature2D::CENTROID_X, - Feature2D::CENTROID_Y, - Feature2D::BBOX_YMIN, - Feature2D::BBOX_XMIN, - Feature2D::BBOX_HEIGHT, - Feature2D::BBOX_WIDTH }; - Nyxus::theFeatureSet.enableFeatures (F, enable); + theFeatureSet.enableFeatures (BasicMorphologyFeatures::featureset, enable); return true; } if ((Fgroup2D)fgcode == Fgroup2D::FG2_GLCM) diff --git a/src/nyx/featureset.cpp b/src/nyx/featureset.cpp index e10b57be..d8b1de9c 100644 --- a/src/nyx/featureset.cpp +++ b/src/nyx/featureset.cpp @@ -611,7 +611,6 @@ namespace Nyxus { "*ALL_NGTDM*", Fgroup2D::FG2_NGTDM }, { "*ALL_BUT_GABOR*", Fgroup2D::FG2_BUT_GABOR }, { "*ALL_BUT_GLCM*", Fgroup2D::FG2_ALL_BUT_GLCM }, - { "*ALL_EASY*", Fgroup2D::FG2_EASY }, { "*ALL_NEIGHBOR*", Fgroup2D::FG2_NEIG }, { "*GEOMOMS*", Fgroup2D::FG2_GEOMOMENTS }, { "*IGEOMOMS*", Fgroup2D::FG2_GEOMOMENTS_I }, diff --git a/src/nyx/featureset.h b/src/nyx/featureset.h index ca646055..d14e6cdb 100644 --- a/src/nyx/featureset.h +++ b/src/nyx/featureset.h @@ -709,7 +709,6 @@ namespace Nyxus FG2_NGTDM, FG2_BUT_GABOR, FG2_ALL_BUT_GLCM, - FG2_EASY, FG2_NEIG, FG2_GEOMOMENTS, // shape and intensity geometric moments FG2_GEOMOMENTS_I, // intensity geometric moments