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 fileloadimreadimread
Write image filesaveimsaveimwrite
Image file metadatamagickinfo (ImageMagick.jl)imfinfo
Test imagestestimageastronaut 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 scalingLinearStretching, scaleminmax, etc.rescale_intensityimadjust
Nonlinear scalingGammaCorrectionadjust_gammaimadjust
Compute histogrambuild_histogramhistogramimhist
Histogram equalizationEqualizationequalize_histhisteq
Adaptive equalizationAdaptiveEqualizationequalize_adapthistadapthisteq
Reference histogram matchingMatchingmatch_histogramsimhistmatch
Quantizationmap anonymous functionimquantize
Threshold estimationotsu_thresholdthreshold_otsu etc.graythresh etc.
Visualization and interactivity
Visualizationimshow (ImageView.jl), mosaicviewimshowimshow, implay, montage, 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 comparisoncolorview, mosaicviewimshowpair, 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, restrictpyramid_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, mse, rmse etc.compare_mse, compare_nrmseimmse
Min/max/meanminfinite, maxfinite, meanfiniteminimum, maximum, meannanmax, etc.
Entropyentropyentropyentropy
quality assessmentPSNR, SSIMcompare_psnr, compare_ssimpsnr, ssim
colorfulnesscolorfulness
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
Deconvolutionwiener (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_shift (Clustering.jl)quickshift, 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