5
$\begingroup$

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"

$\endgroup$
6
  • 5
    $\begingroup$ reference.wolfram.com/language/guide/ImageProcessing.html $\endgroup$
    – Young
    Commented Aug 4, 2016 at 14:37
  • $\begingroup$ i am aware of that. I was thinking if there is a way to get a list of functions within the notebook. $\endgroup$
    – Ali Hashmi
    Commented Aug 4, 2016 at 14:48
  • 3
    $\begingroup$ WolframLanguageData[EntityClass["WolframLanguageSymbol", {"FunctionalityArea", "ImageSymbols"}]] gives a partial list. $\endgroup$ Commented Aug 4, 2016 at 18:38
  • 2
    $\begingroup$ @J.M. that should be one answer. It gives a longer list than the current answer, but doesn't include {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$
    – Karsten7
    Commented Aug 4, 2016 at 19:23
  • 2
    $\begingroup$ @J.M. That's not a complete list, but just the complement of your list with Bob's. Not going to answer, as I already closed that nb without saving. Moreover Entitys are annoying and annoyingly slow. $\endgroup$
    – Karsten7
    Commented Aug 4, 2016 at 19:45

2 Answers 2

7
$\begingroup$

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] &

enter image description here

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 *)
$\endgroup$
1
  • 2
    $\begingroup$ Multicolumn is quite convenient here: Multicolumn[funcs, 3] $\endgroup$
    – Karsten7
    Commented Aug 5, 2016 at 2:26
0
$\begingroup$

This will give all of what you want

CanonicalName@*EntityList@
 Entity["WolframLanguageSymbol", {"FunctionalityAreas" -> 
    "ColorSymbols" | "ImageFilterSymbols" | "ImageSymbols"}]

{AlphaChannel,BarcodeImage,<<262>>,ZoomFactor,$ImageFormattingWidth}

$\endgroup$
2
  • $\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 as White, 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
  • $\begingroup$ @AlexeyPopkov I don't think too.But the Mr. Wolfram think so. :) $\endgroup$
    – yode
    Commented Aug 8, 2016 at 10:44

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.