**CVIP Toolbox for Matlab**** function list**** **

**The following functions are in the Matlab
CVIP Toolbox, organized into categories based on the type of operation. This
list contains a brief description of the functions. For more details, including
examples and syntax for exact function, see the Matlab
Help pages. ****Download here**

**Arithmetic and Logic**

**add_cvip** - add
two images or add constant to image

**and_cvip** - perform a logical AND operation between two images

**divide_cvip** - divide two images or divide constant to image

**multiply_cvip** - multiply two images or multiply an image by a constant

**not_cvip** - perform a logical NOT operation on input image

**or_cvip** - perform a logical OR operation between two images

**subtract_cvip** - subtract one image from another, or subtract a constant to image

**xor_cvip** - perform a logical XOR operation between two images

**Band**

**assemble_bands_cvip** - assemble
the red band, green band and blue band of RGB image

**extract_band_cvip** - extract the red band or green band or blue band depending up on the band value
from the input image

**Color**

**ccenhance_cvip** - color
contrast enhancement algorithm, improves the color of the image

**cct2rgb_cvip** - converts CCT color value to RGB color value

**ipct_cvip** - performs the inverse
principal components transform in RGB-space

**hsl2rgb_cvip** - converts an HSL image to the equivalent RGB image

**hsv2rg_cvip** - converts Hue-Saturation-Value color value to Red-Green-Blue color value

**lab2rgb_cvip** - converts L*a*b* color value to RGB color value

**luminance_cvip** - creates a gray-scale image from a color image

**lum_average_cvip** - creates a gray scale image from a color

**luv2rgb_cvip** - converts L*U*V color value to Red-Green-Blue color value

**pct_cvip** - performs the principal
components transform in RGB-space

**rgb2xyz_cvip** - converts Red-Green-Blue color value to XYZ chromaticity color value

**rgb2hsl_cvip** - converts Red-Green-Blue color value to
Hue/Saturation/Lightness color value

**rgb2hsv_cvip** - converts Red-Green-Blue color value to
Hue/Saturation/Value color value

**rgb2cct_cvip** - converts Red-Green-Blue color value to CCT,
cylindrical coordinate color value

**rgb2lab_cvip** - converts Red-Green-Blue color value to L*a*b* color value

**rgb2luv_cvip **- converts Red-Green-Blue color value to L*u*v* color value

**rgb2sct_cvip** - converts Red-Green-Blue color value to SCT i.e. spherical
coordinate color value

**sct2rgb_cvip** - converts SCT color value to RGB color value

**Conversion of Image Files**

**bin2graycode_cvip** - performs a binary code to gray code conversion on an input image

**vipmread_cvip** - reads image data from VIPM file

**halftone_cvip** - convert image to
binary with halftone technique

**graycode2bin_cvip** - perform gray code to binary code conversion on an input image

**vipmwrite_cvip** writes image data to the VIPM file

**Edge/Line Detection**

**boiecox_ed_cvip** - perform a Boie-Cox edge detection on the image

**canny_ed_cvip** - perform a Canny
edge detection on the image

**cerchar_ed_cvip** - a spatial-multi
spectral image edge detection filter

**frei_chen_ed_cvip** - frei-chen filter, 9 basis image masks, edge/line subspace

**harris_corner_cvip** - a spatial
edge detecting (corner detection) filter

**kirsch_ed_cvip** - perform kirsch
edge detection

**laplacian_ed_cvip** - performs a
Laplacian edge detection

**laplacian_gauss_ed_cvip** -
computes the Laplacian of a Gaussian edge detector

**marr_hildreth_ed_cvip** - performs
a Marr Hildreth edge detection on the image

**moravec_corner_cvip** - a spatial corner
detecting filter

**pratt_merit_cvip** - calculates
the Pratt Figure-of-Merit (FOM) for two binary images

**prewitt_ed_cvip** - perform prewitt edge detection

**pyramid_ed_cvip** - perform a
pyramid edge detection

**roberts_ed_cvip** - performs a
Roberts edge detection

**robinson_ed_cvip** - perform a
Robinson edge detection

**shen_castan_ed_cvip** - perform a
Shen-Castan edge detection on the image

**sobel_ed_cvip** - perform sobel edge detection

**Geometry**

**copy_paste_cvip** - copies a subimage from one image and pastes it to another image

**crop_cvip** - crop
a subimage from an input image

**enlarge_cvip**** **- enlarges image to a user-specified
size

**rotate_cvip**
- rotate the given image by an angle specified by the user (Range 1 ~ 360
degrees)

**shrink_cvip** - shrinks the given
image by a factor specified by the user (Range 0.1 ~ 1)

**spatial_quant_cvip**
- reduce the image size using spatial quantization methods

**translate_cvip** - Translates or moves the entire image
or part of the image

**zoom_cvip** - zoom an
entire image or a part of the image by a factor specified by the user (Range 1 ~ 10)

**Histogram**

**get_hist_image_cvip** - Displays the histogram
of an input image

**gray_linear_cvip** -performs linear graylevel modification

**histeq_cvip**
- performs histogram equalization on an input image

**hist_create_cvip** - creates
histogram of an image

**hist_spec_cvip** - perform
histogram specification of an input image

**hist_shrink_cvip** - shrinks a histogram of input image

**hist_slide_cvip** - slides a histogram
of an input image

**local_histeq_cvip** - histogram equalization on
block-by-block basis

**hist_stretch_cvip** - stretches a histogram of an input image

**unsharp_cvip** - performs unsharp masking algorithm

**Mapping**

**remap_cvip** - remaps the data range
of input image

**condremap_cvip** - performs
conditional remapping, user specified range and data type

**logremap_cvip** - performs logarithmic
remapping of an iamge data

**relative_remap_cvip** - relative remapping of an image data

**Morphological**

**morphclose_cvip** - perform
morphological closing of a grayscale or color image

**morphdilate_cvip** - perform
morphological dilation of a grayscale or color image

**morpherode_cvip** - perform
morphological erosion of a gray scale or color image

**morphitermod_cvip** - perform
morphological iterative based modification as defined a set of surrounds, a
logical operation and the number of iterations of a binary image

**morphopen_cvip** - perform
morphological opening of a grayscale or color image

**morph_thinning_cvip** - perform
morphological thinning of a binary image

**morph_skeleton_cvip** - perform
morphological skeletonization of a binary image

**morph_hitmiss_cvip** - perform
morphological hit-miss transform of a binary image

**thinskel_mask_cvip ** - creates N*N size thinning filter or mask

**structel_cvip ** - creates structuring element or kernel

**rotmask_cvip ** - rotate an 2-D mask or filter by given angle (in degree)

**Noise**

**gamma_noise_cvip** - add gamma
noise to an image

**gaussian_noise_cvip** - add gaussian noise to an image

**neg_exp_noise_cvip** - add
negative-exponential noise to an image

**rayleigh_noise_cvip**** **- add Rayleigh noise to an image

**salt_pepper_noise_cvip** - add
speckle (salt-and-pepper) noise to an noise

**uniform_noise_cvip** - add
uniform noise to an image

**Objective Fidelity Metrics**

**rms_error_cvip** - calculates the
root-mean-squared-error between two images

**peak_snr_cvip** - computes the
peak signal-to-noise ratio between two images

**snr_cvip** - calculates the signal-to-noise
ratio between two images

**Pattern Classification****: Classification Algorithms**

**k_nearest_neighbor_cvip** - reads
test and training files of feature vectors and creates output file for
classification using k-nearest neighbor classification method

**nearest_centroid_cvip** - reads
test and training files of feature vectors and creates output file for classification using nearest centroid classification
method

**nearest_centroid_set_cvip** - reads test and training files of feature vectors and
calculates centroids for each class

**nearest_neighbor_cvip** - reads test and training files of feature vectors and
creates output file for classification using nearest neighbor classification
method

**Pattern Classification: Distance/Similarity Metrics**

**city_block_cvip** - calculates the city block distance
between two feature vectors

**euclidean_distance_cvip** - calculates the Euclidean distance between
two feature vectors

**maximum_value_metric_cvip** -
calculates the maximum value distance between two feature vectors

**minkowsi_distance_cvip** - calculates the Minkowski distance between
two feature vectors

**pattern_city_block_cvip** - takes two csv files as input, test and training set,
then calculates the city block distance metric by comparing each vector in the
test set to each in the training set

**pattern_euclidean_cvip** - takes two csv files as input, test and training set,
then calculates the Euclidean distance metric by comparing each vector in the
test set to each in the training set

**pattern_maximum_cvip** - takes two csv files as input, test and training set,
then calculates the maximum value distance metric by comparing each vector in
the test set to each in the training set

**pattern_minkowski_cvip** - takes two csv files as input, test and training set,
then calculates the minkowski distance metric by
comparing each vector in the test set to each in the training set

**pattern_tanimoto_cvip** - takes two csv files as input, test and training set,
then calculates the Tanimoto similarity metric by comparing each vector in the
test set to each in the training set

**pattern_vector_inner_product_cvip** - takes two csv files as input, test and training set,
then calculates the normalized vector inner product metric by comparing each
vector in the test set to each in the training set

**tanimoto_metric_cvip** -
calculates the Tanimoto similarity metric between two feature vectors

**vector_inner_product_cvip** -
calculates the *normalized *vector
inner product similarity metric between two feature vectors

**Pattern Classification: Feature Extraction**

**area_cvip** - calculates the area in pixels of a binary
object

**aspect_cvip** - finds the aspect ratio of a binary object of interest on the labeled image

**central_moments_cvip** - returns the centralmoment of order( p + q) of a binary object

**centroid_cvip** - finds the centroid of a binary object

**cooccurence_cvip** - calculates the gray level co-occurrence matrices for
an image

**euler_cvip** - finds the Euler number of a binary object

**feature_objects_cvip**** - **extracts features from a group of objects
in a single image and a single image mask for the objects, output is a csv file

**feature_images_cvip** - extracts
features from a group of images, where each image contains one object of
interest, and uses corresponding mask images, output is a csv file

**hist_feature_cvip** - calculates the 5 first order histogram
features for an object

**irregular_cvip** - calculates the irregularity ratio
of a binary object

**label_cvip** - labels
objects based on 6-connectivity, NW/SE diagonal

**orientation_cvip** - calculates
the axis of least second moment for a binary object

**perimeter_cvip** - calculates
perimeter of a binary object

**projection_cvip** - extracts
horizontal and vertical projections of a binary object

**rst_invariant** - calculates the 7
RST-invariant features defined in Table 6.1

**texture_features_cvip** - Gray level
co-occurence matrix based texture features of an image

**thinness_cvip** - calculate the thinness ratio of
a binary object

**spectral_features_cvip** - extracts
spectral features based on Fourier transform and ring and sector power

**Pattern Classification: Normalization Methods**

**min_max_norm_cvip** - applies
min-max normalization to set of feature vectors in a matrix

**pattern_min_max_norm_cvip**
- two csv files are input, training and test sets, and returns new csv files
with the feature vectors normalized with min-max normalization

**pattern_snd_norm_cvip** - two csv
files are input, training and test sets, and returns new csv files with the
feature vectors normalized with standard normal density (snd)
normalization

**pattern_range_norm_cvip** - two csv
files are input, training and test sets, and returns new csv files with the
feature vectors normalized with range normalization

**pattern_softmax_norm_cvip** - two
csv files are input, training and test sets, and returns new csv files with the
feature vectors normalized with softmax scaling normalization

**pattern_unit_vector_norm_cvip** - two csv files are input, training and test sets, and
returns new csv files with the feature vectors normalized with unit vector
normalization

**range_norm_cvip** - normalizes a
set of feature vector values in a matrix based
on the range of each feature

**softmax_cvip** - applies softmax normalization to set of feature vectors in a matrix

**snd_norm_cvip** - applies standard
normal density normalization to a set of feature vectors in a matrix

**unit_vector_norm_cvip** - applies
unit vector normalization to set of feature vectors in
a matrix

**Segmentation**

**autothreshold_cvip** - perform
automatic thresholding of an image

**fuzzyc_cvip** - perform Fuzzy
c-Means clustering based image segmentation

**gray_quant_cvip** - perform gray
level quantization of an image

**hist_thresh_cvip**- perform adaptive
thresholding segmentation

**igs_cvip** - perform improved gray
scale (IGS) quantization on an image

**median_cut_cvip** - perform image
segmentation using median cut method

**otsu_cvip** - perform Otsu
thresholding segmentation on an image

**pct_median_cvip** -
perform image segmentation using PCT/median cut algorithm

**sct_split_cvip** - perform
Sphere Coordinate Transform(SCT)/Center color segmentation

**split_merge_cvip** - perform
split and merge segmentation on an image

**threshold_cvip** - perform binary threshold on an image

**Spatial Filters: Adaptive Filters**

**ace2_filter_cvip** - adaptive contrast and
enhancement filter

**adaptive_contrast_cvip**- adaptive contrast filter, adapts to local gray level
statistics

**ad_filter_cvip** - anisotropic
diffusion filter

**adapt_median_filter_cvip** - a
ranked-order based adaptive median filter

**exp_ace_filter_cvip** - performs
an exponential ACE filter

**improved_mmse_filter_cvip** - perform
improved adaptive minimum mean squared error filter

**kuwahara_filter_cvip** - an edge
preserving, smoothing filter

**log_ace_filter_cvip** - performs a
log ACE filter operation

**mmse_filter_cvip** - minimum mean squared error restoration
filter

**Spatial Filters: Mean Filters**

**arithmetic_mean_cvip** - perform an
arithmetic mean averaging filter

**contra_mean_cvip** - perform a
contra-harmonic mean filter

**geometric_mean_cvip** - performs a geometric mean filter

**harmonic_mean_cvip** - performs a
harmonic mean filter

**raster_deblur_mean_cvip** - raster deblurring filter

**yp_mean_cvip** - performs a Yp mean filter

**Spatial Filters: Miscellaneous**

**convolve_filter_cvip** - convolves
an image with a user specified convolution mask

**difference_filter_cvip** -
performs a difference/emboss filter

**Spatial Filters: Order Filter****s**

**alpha_filter_cvip** - perform an
alpha-trimmed mean filter

**maximum_filter_cvip** - performs a
maximum filter

**median_filter_cvip** - performs a
fast histogram-method median filter

**midpoint_filter_cvip** - performs a
midpoint filter

**minimum_filter_cvip** - performs a
minimum filter on an image

**Transform**

**dct_cvip** - perform
block-wise discrete cosine transform

**fft_cvip** - performs fast Fourier
transform

**fft_mag_cvip** - extract magnitude
of Fourier spectrum

**fft_phase_cvip** - extract phase
of Fourier spectrum

**haar_cvip** - perform forward Haar transform

**idct_cvip** - perform inverse
discrete cosine transform

**ifft_cvip** - performs inverse
Fourier transform

**ihaar_cvip** - perform inverse Haar transform

**iwalhad_cvip** - perform inverse
Walsh/Hadamard transform

**iwavdaub4_cvip** - perform inverse wavelet transform based on Daubechies wavelet

**iwavhaar_cvip** - perform inverse
wavelet transform based on Haar wavelet

**wavdaub4_cvip** - perform forward wavelet transform based on Daubechies wavelet

**wavhaar_cvip** - perform forward
wavelet transform based on Haar wavelet

**walhad_cvip** - perform forward Walsh/Hadamard
transform

**Transform Filters****: Standard**

**ideal_low_cvip** - perform ideal lowpass filter

**ideal_high_cvip** - perform ideal highpass filter

**ideal_bandpass_cvip** - perform ideal
bandpass filter

**ideal_bandreject_cvip** - perform
ideal bandreject filter

**ideal_h_cvip** - returns
the frequency response of ideal filters

**butterworth_low_cvip** - perform
Butterworth lowpass filter

**butterworth_high_cvip** - perform
Butterworth highpass filter

**butterworth_bandpass_cvip** - perform
Butterworth bandpass filter

**butterworth_bandreject_cvip** - perform
Butterworth bandreject filter

**butterworth_h_cvip** - returns
the frequency response of butterworth filters

**highfreqemphasis_cvip** - perform
high frequency emphasis filter

**homomorphic_cvip** - performs
homomorphic filtering on an input

**h_image_cvip** - create a mask
image according to the size and type

**Transform Filters****: Restoration**

**geometric_mean_xformfilter_cvip** -
performs the geometric mean restoration filter

**inverse_xformfilter_cvip** -
performs the inverse restoration frequency domain filter

**least_squares_filter_cvip** - performs
the least squares restoration filter

**notch_filter_cvip** - performs the
notch frequency domain filter

**parametric_wiener_filter_cvip** - performs
the parameter Wiener restoration filter

**power_spect_eq_filter_cvip** -
power spectrum equalization frequency domain restoration filter

**simple_wiener_filter_cvip** - performs
the simple Wiener restoration filter

**wiener_filter_cvip** - performs
the Wiener restoration filter