Could someone kindly guide me as to how to get all the image processing functions (segmentation, analysis, morphological operations etc... ) for 2D and 3D images in Mathematica including ones that do not begin with word "Image"
2 Answers
$\begingroup$
$\endgroup$
1
EDIT: Added Union
to sort and eliminate duplicates. Displayed results as table with Grid
base = "https://reference.wolfram.com/language";
len = StringLength[base <> "/ref/"];
funcs = StringTake[#, {len + 1 ;; -6}] & /@
Select[
Import[
base <> "/guide/ImageProcessing.html",
"Hyperlinks"],
StringTake[#, len] === base <> "/ref/" &] //
Flatten //
ToExpression // Union // Quiet;
funcs // Partition[#, 20] & //
Transpose // Grid[#, Alignment -> Left] &
Or more simply (provided by Karsten 7.)
Multicolumn[funcs, 3]
EDIT 2: For a more complete listing, scrape multiple guides related to image processing
guides = {
"ImageProcessing",
"BasicImageManipulation",
"ImageFilteringAndNeighborhoodProcessing",
"SegmentationAnalysis",
"ImageRestoration",
"ImageGeometry",
"MathematicalMorphology",
"ComputerVision",
"3DImages",
"RasterImageFormats",
"ColorProcessing"
};
guideHyperlinks =
"http://reference.wolfram.com/" <>
"language/guide/" <>
# <>
".html" & /@ guides;
base =
"http://reference.wolfram.com/language/ref/";
hyperlinks = Select[
Flatten[
Import[#, "Hyperlinks"] & /@
guideHyperlinks] //
Union,
StringTake[#,
StringLength[base]] == base &] //
Quiet;
funcs =
StringTake[#, {StringLength[base] + 1, -6}] & /@
hyperlinks;
Length[funcs]
(* 254 *)
Multicolumn[funcs, 3]
(* large output deleted *)
-
2$\begingroup$
Multicolumn
is quite convenient here:Multicolumn[funcs, 3]
$\endgroup$– Karsten7Commented Aug 5, 2016 at 2:26
$\begingroup$
$\endgroup$
2
This will give all of what you want
CanonicalName@*EntityList@
Entity["WolframLanguageSymbol", {"FunctionalityAreas" ->
"ColorSymbols" | "ImageFilterSymbols" | "ImageSymbols"}]
{AlphaChannel,BarcodeImage,<<262>>,ZoomFactor,$ImageFormattingWidth}
-
$\begingroup$ I don't think that
WordCloud
,VectorColorFunction
,ChromaticityPlot
,ZoomCenter
and some other returned symbols should be considered as image-processing functions even in an extended sense. I also don't think that such symbols asWhite
,Hue
etc. should be included: they are related to image-processing functionality but all the language basics are related to this functionality in some sense (for example,Blank
,Pattern
,Rule
etc.)! There is no point to include everything related into a list of image-processing functions. $\endgroup$ Commented Aug 8, 2016 at 10:30 -
WolframLanguageData[EntityClass["WolframLanguageSymbol", {"FunctionalityArea", "ImageSymbols"}]]
gives a partial list. $\endgroup${BilateralFilter, ColorConvert, ColorQuantize, ColorReplace, EntropyFilter, ExampleData, GaussianFilter, GradientFilter, HistogramTransform, ImageHistogram, ImageIdentify, ImageInstanceQ, Import, MeanShiftFilter, Rasterize, TotalVariationFilter}
, as these are considered "ColorSymbols", "FileSystemSymbols", "GraphicsSymbols", "HistogramSymbols", "ImageFilterSymbols", "MachineLearningSymbols", or "PacletSymbols" $\endgroup$Entity
s are annoying and annoyingly slow. $\endgroup$