Comparison with other image processing frameworks

The following table may be useful for people migrating from other frameworks, and for identifying missing functionality in JuliaImages. Note that there are relevant packages which have not been integrated into more general frameworks or hosted at JuliaImages (e.g., DICOM.jl, etc.); such functionality is not documented here. This table is certainly not complete, and additions/corrections are welcome.

OperationJuliaImagesscikit-image + NumPyMatlab (ImageProcessing + ComputerVision)
Input/output
Read image fileload (FileIO.jl)imreadimread
Write image filesave (FileIO.jl)imsaveimwrite
Image file metadatamagickinfo (ImageMagick.jl)imfinfo
Test imagestestimage (TestImages.jl)astronaut etc.“cameraman.tif” etc
Element type and color
Change numeric precisionfloat32, float64, n0f8, etc.img_as_float etcim2double etc
Change color spaceHSV.(img) etc.rgb2hsv etc.rgb2lab etc.
Whitepoint adjustmentmap whitebalance (Colors.jl)makecform
High dynamic rangetonemap
Intensity & quantization
Clampingclamp01, clamp01nan
Linear scalingscaleminmax, scalesigned, etc.rescale_intensityimadjust
Nonlinear scalingadjust_gamma, imstretchadjust_gammaimadjust
Compute histogramimhisthistogramimhist
Histogram equalizationhisteqequalize_histhisteq
Adaptive equalizationclaheequalize_adapthistadapthisteq
Reference histogram matchinghistmatchmatch_histogramsimhistmatch
Quantizationmap anonymous functionimquantize
Threshold estimationotsu_thresholdthreshold_otsu etc.graythresh etc.
Visualization and interactivity
Visualizationimshow (ImageView.jl)imshowimshow, implay, etc.
Contrast adjustmentImageView.jlimcontrast
Pixel informationImageView.jlimpixelinfo
Distance measurementimdistline
Text display of regionimpixelregion
Zooming/scrollingImageView.jl and GtkUtilities.jlimshowimscrollpanel etc.
Interactive colormapimcolormaptool
Region selectionRecatangleTool etc.imrect, imellipse, imfreehand, etc.
Image comparisoncolorviewimshowpair, imfuse
Label colorizationIndirectArray, ColorizedArraylabel2rgblabel2rgb
Annotation
Draw linesline, line! (ImageDraw.jl)line, polygonline (visualization only)
Draw circles/ellipsescircle!, ellipse! (ImageDraw.jl)circle, ellipseviscircles (visualization only)
Transformations
Resizeimresize, restrictresizeimresize
Image pyramidsgaussian_pyramid (or use restrict)pyramid_gaussian etc.impyramid
Rotateimrotaterotateimrotate
Translatewarpimtranslate
General geometric transformationwarpwarpimwarp
Hough transformhough_transform_standard, hough_circle_gradienthough_circle, etc.hough
Radon transformradon, iradonradon, iradon
Distance transformfeature_transform, distance_transformbwdist, graydist
Registration
Statistics and image comparison
Image differencesssd, sad, etc.immse, ssim
Min/max/meanminfinite, maxfinite, meanfiniteminimum, maximum, meannanmax, etc.
Entropyentropyentropyentropy
Filtering and padding
Linear filteringimfiltergaussian, etc.imfilter
Median/max/quantile filteringmapwindowmedian/max etc.nlfilter, medfilt2, etc.
Other nonlinear filtering (e.g., std)mapwindownlfilter, stdfilt
Gradientsimgradientssobel_h etc.imgradientxy etc.
Integral imageintegral_imageintegral_imageintegralImage
Paddingpadarraypadpadarray
Deconvolutionweiner (Deconvolution.jl)richardson_lucy, weiner, etc.deconvlucy, deconvwnr, etc.
Features
Edge detectionimedge, cannycannyedge
Corner detectionimcorner, fastcornerscorner_harris etc.detectFASTFeatures
Blob detectionblob_LoGblob_log etc.
Local binary patternslbp etc. (ImageFeatures.jl)local_binary_patternextractLBPFeatures
Histogram of oriented gradientsHOG (ImageFeatures.jl)hogextractHOGFeatures
Gray-level co-occurenceglcm etc. (ImageFeatures.jl)greycomatrixgraycomatrix
Point descriptorsBRIEF, ORB, etc. (ImageFeatures.jl)BRIEF, ORB, etc.detectBRISK etc.
Feature matchingmatch_keypoints (ImageFeatures.jl)match_descriptorsmatchFeatures
Segmentation
Connected componentslabel_componentslabelbwconncomp, bwlabel
Foreground/backgroundactive_contouractivecontour
Clusteringkmeans, fuzzy_cmeans, mean_shiftquickshift, slic
Marker segmentationseeded_region_growingrandom_walkerimsegfmm
Watershedwatershedwatershedwatershed
Morphological operations
Dilationdilatedilation, binary_dilationimdilate
Erosionerode
Openingopeningopeningimopen
Closingclosingclosingimclose
Top-hat filteringtophattophat etc.imtophat
Bottom-hat filteringbothatbottomhatimbothat
Regional max/minmapwindowfilters.rank.maximum etc.imregionalmax etc.
Convex hullconvexhullconvex_hull_imagebwconvhull
Bordersclearborderclear_borderimclearborder
Boundariesfind_boundariesboundarymask
Fillingimfillremove_small_holesimfill, regionfill