# Description

This is a collection of general image processing functions written in Python with a collection of lessons used in the IA636 course (Visao Computacional) taught at University of Campinas, Brazil.

This toolbox has been developed in the Adessowiki environment. To know more about Adessowiki, please access the MainPage and the history of the project: History.

The template to create a new function is iaftemplate

# Lessons

• iachess - Illustrate the many ways to create an image of a chess like template
• iauint8pitfalls- Common errors processing uint8 data
• iagenimages - Illustrate the generation of different images
• iaprofiledemo - Illustrate the extraction and plotting of a profile
• iagengauss - Illustrate the generation of d-dimensional Gaussian image
• iait - Illustrate the contrast transform function
• iahisteq - Illustrate how to make a histogram equalization
• iacorrdemo - Illustrate the Template Matching technique
• iaphasecorrdemo - Illustrate the phase correlation technique
• iadftdecompose - Illustrate the decomposition of the image in primitive 2-D waves.
• iacosdemo - Illustrate discrete cosine wave and its DFT showing its periodic nature.
• iadftexamples - Demonstrate the DFT spectrum of simple synthetic images.
• iadftmatrixexamples - Demonstrate the kernel matrix for the DFT Transform.
• iadftscaleproperty - Illustrate the scale property of the Discrete Fourier Transform.
• iaconvteo - Illustrate the convolution theorem
• iahotelling - Illustrate the Hotelling Transform
• iainversefiltering - Illustrate the inverse filtering for restoration.
• iamagnify - Illustrate the interpolation of magnified images
• iamosaicdemo - Illustrate the use of mosaic to show 3D images
• iaotsudemo - Illustrate the Otsu Thresholding Selection Method

# Geometric Manipulations

• iaffine - Affine transform. Supports 3D but no interpolation.
• iaffine3 - Enhanced Affine transform. Supports 3D transforms, color images and linear interpolation.
• iageorigid - 2D Rigid body geometric transformation and scaling.
• iapolar - Cartesian to polar coordinate transformation.
• iaptrans - Periodic translation.
• iarot90 - 3D 90-degree rotation

# Image Filtering

• iabwlp - Low-Pass Butterworth frequency filter.
• ialogfilter - Laplacian of Gaussian filter.
• iacontour - Contours of binary images.
• iaconv - 2D or 3D convolution.
• iapconv - 2D or 3D periodic convolution (kernel origin at center of kernel).
• iapconv2 - 1D, 2D or 3D periodic convolution (kernel origin at array origin).
• iasobel - Sobel edge detection.
• iavarfilter - Variance filter.

# Visualization

• iamosaic - Creates a mosaic of images from the input volume (3D).
• iagshow - Overlay color planes on a gray scale image ready for display.
• ialblshow - Display a labeled image assigning a random color for each label.
• ianshow - Image graphic representation useful for illustration, accepts overlay color planes.
• iaisolines - Isolines of a grayscale image.
• iadftview - Generate optical Fourier Spectrum for display from DFT data.
• iatiling - Create a large 2D image from a list of smaller images.
• iafig2img - Convert a matplotlib figure to an image ready to be displayed by adshow.

# Image Information and Manipulation

• iaroi - Cut a rectangle out of an image.
• iacrop - Crop an image to find the minimum rectangle.
• iapad - Extend the image inserting a frame around it.
• iaimginfo - Print image size and pixel data type information
• iaind2sub - Convert linear index to double subscripts.
• iameshgrid - Create two 2-D matrices of indexes.
• ianeg - Negate an image.
• ianormalize - Normalize the pixels values between the specified range.
• iasub2ind - Convert linear double subscripts to linear index.

# Image Creation

• iacircle - Create a binary circle image.
• iaramp - Create an image with vertical bands of increasing gray values.
• iacos - Create a cosine wave image.
• iagaussian - Generate a n-dimensional Gaussian image.
• iaellipse - Generate a 2D ellipse, rectangle or diamond image.
• ialog - Laplacian of Gaussian image.
• iacomb - Create a grid of impulses image.
• iarectangle - Create a binary rectangle image.
• iatext - Create a binary image of a text.

# Image Matching

• iacorr - Simple correlation between two images of the same size
• iaphasecorr - Phase correlation
• iawcorr - Weighted correlation between two images of the same size

# Function not to use

• iatile - Replicate the image until reach a new size.
More