On 3/21/2011 7:49 PM, s.m.saurabh wrote:
> And for a proper comparison we both do need the exhaustive list. Do you
> have an url I could look at ?
> On CRIMPs side the exhaustive list is found in the reference manpage at
> Something like that is needed for MATLAB as well.
> On MATLABs side the exhaustive list is found in the reference page
Going through the pages ... Shortening MatLab Image Processing to MLIP
* CRIMPs coordinate systems are the same as for MLIP
* Image Types
CRIMP currently simulates 'binary' with greyscale 8-bit.
I have a ticket open for proper packed implementation.
Indexed types (pseudo-color) are not supported.
And I currently see no reason to do this.
Greyscale ... Some of the subtypes (int16, float (single) are
not supported. So far there was no need. (I.e. double is good
enough for reals).
True color is supported. Most sub-types for the channels are
not supported, CRIMP is limited to uint8 for these. On the
other hand CRIMP has RGBA.
CRIMP does not have demosaic, nor dither.
None of the conversions for indexed (pseudo-color) images.
See above, no reason to support these.
* CRIMP has no multi-dimensional arrays aka image stacks/sequences.
CRIMP reads PNM/PGM images directly, and other formats
indirectly, through its ability to convert to/from Tk's photo
image format, and thus the connection to the Img package.
It is not handling FITS, DICOM, and whatever other specialist
formats are out there.
CRIMP does this through conversion of its images to Tk photo's,
which can then be shown in any Tk widget supporting -image,
which is most of them, in some form.
CRIMP is limited to loading complete images into memory.
It has no support for loading images partially.
I am ignoring GUI tools of MLIP. None of these exist, and it should be
possible to make them with a combination of Tk + CRIMP.
* Spatial transforms.
Yes, CRIMP has them all, plus a generic "warp field" method
allowing the implementation of anything going beyond
* Image Registration
CRIMP has no GUI for point mapping.
It has enough transform support to handle affine and
projective mappings. The other transform types are not
* Linear Filter Design
CRIMP supports convolution in the spatial and frequency
domains (fft and inverse). Regarding handling of boundary
pixels, CRIMP seems to have the same modes as MLIP.
CRIMP does not have correlation operators.
It has no tools to design filters graphically.
(No 3D plots either, however these could be done via the
CRIMP does not have DCT, Radon, Inverse Radon, and
Fan-Beam transforms and projections.
* Morphological operations.
CRIMP operates in greyscale, and has the basic dilate, erode,
open, close operators for box elements.
No morphological reconstruction.
No distance transform.
No connected-component labeling, area of components, nor euler
The neighbourhood based MLIP LUTs for binary images are not
supported in CRIMP.
* Analyzing and Enhancing
CRIMP can extract pixel values, basic statistics, including
CRIMP currently cannot do arbitrary slices along a line. The
plots and charts based on that could be implemented in Tk, if
a line-slice primitive were available.
No contour plots. (= Could be done through Plotchart, if some
operator were available to extract contours).
No edge detection,
No corner detection,
No tracing of object boundaries.
No hough transform.
No homogenity analysis through quad-tree decomposition.
No texture analysis
Adjust pixel intensity ...
No CLAHE (contrast-limitet adaptive histogram
No decorrelation stretching.
We have gaussian (linear) filter, median filter
(actually rank-order filter)
No adaptive filtering.
* ROI processing
No color reduction.
No general colorspace handling (only HSV baked in).
* Neighbourhood/Block operations.
I would call these 'processing an image in slices/tiles'.
CRIMP doesn't have that. Could possibly be done through
the existing cut/crop operators together with higher-order
Ok, this is the comparison, in the same order as things were listed on the MLIP
page. I.e. the order does not imply priority, nor difficulty.
Senior Tcl Developer
ActiveState, The Dynamic Language Experts
Get insights on Open Source and Dynamic Languages at http://www.activestate.com/blog