Вы находитесь на странице: 1из 42

CHAPTER 1

INTRODUCTION

OBJECTIVE

The main aim of the proposed system is to identify the hereditary disorders that may be
occurring in the succeeding generations can be identified through the analysis of
appearance and morphological characteristics of each chromosome.

GENERAL

Most of the hereditary disorders or realistic abnormalities that may be occurring in the
succeeding generations can be identified through the analysis of appearance and
morphological characteristics of each chromosome. Human Chromosome image analysis
comprised of image preprocessing, total variation regularization, segmentation, attributes
extraction, and image diagnosis. Three dimensional Images, similar to depth maps are
obtained with a triangulation system using a television camera and a deflectable laser beam
diverged Into a Diane by a cylindrical lens, Complex objects are represented as
structures Joining Darts called generalized cylinders. These primitives as formalized in a
volume representation by an arbitrary cross section varying along a space curve axis.
Experimental results are shown for the description (building of Internal computer models) of a
handful of complex objects beginning with laser range data from actual objects.

EXISTING SYSTEM

In the existing system the disease can be diagnosed by oral communication with the
patient regarding their parents health details.

PROPOSED SYSTEM

In this proposed system an automated Image processing is used to diagnosis the


hereditary disorders occurring in the succeeding generations. It can be done by using Human
Chromosome image analysis comprised of image preprocessing, total variation
regularization, segmentation, attributes extraction, and image diagnosis for multimodal
identification is also proposed.

DIGITAL IMAGE PROCESSING

Digital image processing is the use of computer algorithms to perform image processing on
digital images. A part of digital image processing has many advantages over analog image
processing. It allows a much wider range of algorithms to be applied to the input data and can
avoid problems such as the build-up of noise and signal distortion during processing. Since
images are defined over two dimensions digital image processing may be modeled in the form of
multidimensional systems. Digital image processing techniques help in manipulation of the
digital images by using computers. Digital image processing allows the use of much more
complex algorithms, and hence, can offer both more sophisticated performance at simple
tasks, and the implementation of methods which would be impossible by analog means.
Digital image processing has very wide applications and almost all of the technical fields are
impacted by digital image processing. Some of the major fields in which digital image
processing is widely used are medical field, remote sensing, transmission and encoding,
machine/robot vision, color processing, pattern recognition, video processing, microscopic
imaging, others.

OVERVIEW OF STRAIGHTENING
Most of the hereditary disorders or realistic abnormalities that may be occurring in the
succeeding generations can be identified through the analysis of appearance and
morphological characteristics of each chromosome. Human Chromosome image analysis
comprised of image preprocessing, total variation regularization, segmentation, attributes
extraction, and image diagnosis. Three dimensional Images, similar to depth maps are
obtained with a triangulation system using a television camera and a deflectable laser beam
diverged Into a Diane by a cylindrical lens, Complex objects are represented as
structures Joining Darts called generalized cylinders. These primitives as formalized in a
volume representation by an arbitrary cross section varying along a space curve axis.
Experimental results are shown for the description (building of Internal computer models) of a
handful of complex objects beginning with laser range data from actual objects.
IMAGE FILTER

Feature point-based matching [15] allows efficient correspondence detection by examining


local oriented feature points rather than the whole input image. The set of available feature points
is critical to our proposed algorithm performance. If only a small number of feature points are
found from the input image, the cue to support reflection symmetry may be missing or weak.

FEATURE POINT EXTRACTION

To overcome this problem, we propose to use multiple image filters (gray, dilated edge and
gradient image) before performing key point detection. In our experiments, we use SIFT [69]
feature point matching. Though SIFT detects distinctive points robustly with good repeatability
[15], SIFT key points are only detected at local maxima or minima locations, which are rare on
an image with gradual change of intensity. Thus we also filter the image using gradient and
canny edge detectors. These filtered images give additional.

MATCHED POINTPAIR SELECTION

A feature point Pi is represented by its location, orientation I and scale s I defined on the
corresponding local patch of the feature point. Given a set of detected feature points, all possible
pairs of feature points are analyzed to find the reflection symmetry R based on a set of local
feature descriptors. The orientation of each reflection axis is computed from the orientations of a
pair of matched points. The offset or translation T of potential glide reflection symmetry is found
from the relative locations and orientations of matched feature point pairs.
CHAPTER 2

LITERATURE REVIEW

1) Author: Seungkyu Lee, and Yanxi Liu

Year: 2011

They proposed that an accurate automatic symmetry detection algorithm can aid many
computer vision methods that perform pattern perception, object recognition and scene
understanding. Among the four primitive symmetry types in 2D Euclidean geometry
reflection, rotation, translation and glide-reflection, reflection symmetry is one of the most
commonly observed, analyzed and computationally treated primitive symmetry. A glide
reflection symmetry is a primitive symmetry composed of a reflection and a translation along
the direction of the reflection axis detection algorithms are rarely found in the computer
vision literature. Detecting glide-reflection symmetry with a straight axis, a curved axis in
2D, or curved glide reflection surface. Extraction in 3D in general settings, has not been
addressed computationally. An input image that has a curved glide reflection axis can be
straightened to correspond to one of the 4 Frieze patterns that have horizontal
reflection symmetries.

2) Author: Hanchuan Peng, Fuhui Long, Xiao Liu, Stuart K. Kim and Eugene W.
Myers

Year: 2007

They proposed, Caenorhabditis elegans, a roundworm found in soil, is a widely


studied model organism with about 1000 cells in the adult. Producing high-resolution
fluorescence images of C. Elegans to reveal biological insights is becoming routine,
motivating the development of advanced computational tools for analysing the resulting
image stacks. For example, worm bodies usually curve significantly in images. Thus one
must straighten the worms if they are to be compared under a canonical coordinate system.
A worm straightening algorithm (WSA) that restacks cutting planes orthogonal to a
backbone that models the anteriorposterior axis of the worm is developed. The backbone
as a parametric cubic spline defined by a series of control points. Two methods for
automatically determining the locations of the control points is developed. The experimental
methods show that our approaches effectively straighten both 2D and 3D worm images.

3) Author: Mehrsan Javan Roshtkhari

Year: 2013

They proposed algorithm is based on the calculating and analysing the vertical and
horizontal projection vectors of the binary image of the chromosome obtained at a
varies rotation angle. The binary image is obtained by thresholding the input image after
histogram modification. By minimizing a rotation score S which is 3 defined based on
the relative amplitude of the main peaks in the horizontal projection of the rotated pictures,
the most appropriately rotated image is identified. To assess the effectiveness of the
proposed algorithm ,the density profiles of the chromosomes ,which is the most important
and most commonly used feature for classification purposes, are identified and
compared before and after chromosome straightening. The quantitative analysis of the
results in both cases showed a close correlation between two. In this paper, a simple yet
effective chromosome image processing algorithm for straightening highly chromosomes
was presented. The chromosome was then separated into its two armsare the aligned and
reconnected to produce the final straightened chromosomes.

4) Author: Oleksandr Tymchenko

Year: 2010

Based on experimental studies , it was revealed that existing OCR system cannot cope
with complex perspective and geometric distortions that arise when photographing text
document. Proposed new method involving the mathematical raising of straightened text
lines on the image and heterogeneous distortion correction based on a page surface
transformation model. This method is better than others because it is universal and corrects any
type of distortion, including a combination of several types of distortion. For example, a page
can be curved from one side and curved inwards from other, with the different angles of slope
and yet, there can be perspective distortions. Thus, it is hard to predict the model of distortion. It
is necessary to develop software on the basis of the described algorithm to define the efficiency
of its application to the images with arbitrary heterogeneous line curvatures.

5) Author: S. D. Barrett1

Year: 2010

A software tool for straightening curved chromosomes has been developed and integrated
into the freely available image analysis application Image SXM . This new tool straightens
curvilinear objects in one simple step after minimal input from the user. The ends of a
curvilinear chromosome are identified by the user using the mouse and a window is opened
displaying the object as it would appear if it was straightened out. This image processing
produces linear images of chromosomes with no loss of resolution or spatial calibration,
making subsequent analysis significantly more straight forward. Another example of the
straightening tool application in cytogenetic analysis was verified on the polythene chromosome
of Chronomus and high-resolution bands in human chromosomes. Using the tool for a polythene
chromosome image, which shows a pattern of many dark and light bands side by side, resulted in
a straightened form with all longitudinal bands displayed 4 in positions corresponding to those
of the original . Similarly, the high- resolution human chromosome sample was also
straighten, and the results demonstrate that the procedure simplifies band- pattern
recognition.

Conclusion fir the literature review

The conclusion from the review is that curved glide- reflection symmetries that are
common in the real world, especially in biomedical image data. The most popular
straight reflection symmetry in computer and human vision applications thus far
becomes one of its six cases.
The feasible algorithm to detect a curved glide-reflection symmetry axis is based on
local feature extraction and parameter subspace matching. The concluded algorithm
can deal with globally and locally skewed curved glide-reflection symmetries as long as
the extracted features are affine or perspective invariant.
2
The concluded algorithm has an O(Nf ) complexity where Nf is the number of feature
points extracted. It is also applied to 3-dimensional data to detect a curved glide
reflection symmetry surface. It can be extended to the curve fitting procedure to closed-
contour for circle or ellipse fitting.
For computer vision applications, the outcome of concluded algorithm can be used for
saliency detection, curvature or abnormality quantification and ultimately for object
detection and recognition in un-segmented real world images.
CHAPTER 3

PROJECT DESCRIPTION

FLOW CHART FOR THE PROPOSED SYSTEM


3.1 FLOW CHART EXPLANATION

IMAGE FILTERING

Filtering is a technique for modifying or enhancing an image. Image processing


operations implemented with filtering include smoothing, sharpening, and edge
enhancement. A pixel's neighborhood is some set of pixels, defined by their locations
relative to that pixel.

Linear filtering is type of filtering in which the value of an output pixel is a linear
combination of the values of the pixels in the input pixel's neighborhood.

Convolution is a neighborhood operation in which each output pixel is the weighted


sum of neighboring input pixels. The matrix of weights is called the convolution kernel.
A convolution kernel is a correlation kernel that has been rotated 180 degrees.

In correlation, the value of an output pixel is also computed as a weighted sum of


neighboring pixels. The difference is that the matrix of weights, in this case
called the correlation kernel, is not rotated during the computation.

FEATURE POINT EXTRACTION

Feature is synonymous of input variable or attribute. To Find a good data representation,


it is very domain specific and related to available measurements. Preprocessing
transformations may include: Standardization, Normalization, Signal enhancement,
Extraction of local features.
Standardization: Features can have different scales although they refer to comparable
objects. Both can be compared, but it would be unreasonable to do it before appropriate
normalization. The classical centering and scaling of the data is often used: xi =
(xii)/ i, where and i are the mean and the standard deviation of feature xi.
Normalization: it makes sense to normalize x by dividing it by the total number of
counts in order to encode the distribution and remove the dependence on the size of the
image. This translates into the formula: x = x/|x|.
Signal enhancement: The signal-to-noise ratio may be improved by applying signal
or image-processing filters. These operations include baseline or background
removal, de- noising, smoothing, or sharpening.
Extraction of local features: Spatial techniques like convolutions are used to extract
the feature points.

MATCHED PAIR SELECTION

Point matching is also called as point set registration, is the process of finding a spatial
transformation that aligns two point sets. The purpose of finding such a transformation
includes merging multiple data sets into a globally consistent model, and mapping a new
measurement to a known data set to identify features or to estimate its pose. A point set may be
raw data from 3D scanning or an array of rangefinders. For use in image processing and
feature-based image registration, a point set may be a set of features obtained by feature
extraction from an image, for example corner detection. Point set registration is used in
optical character recognition and aligning data from magnetic resonance imaging with
computer aided tomography scans.

AXES DETECTION

From an un-segmented image without any previous knowledge, we need to extract all
potential local corresponding matches for glide-reflection symmetry. When the glide-
reflection axis is curved, the axis does not appear as a single point in the 3D parameter space,
as it does with a straight axis case. A curved axis is considered as a sequence of short straight
glide-reflection axes having different yet smoothly varying orientations and different
translation Ts. Therefore, a curved axis can be estimated by a set of contiguous points in the
3D parameter space. Based on the detected local glide-reflection matches, our algorithm seeks
a set of local axes supporting curved glide-reflection symmetry

3D PARAMETER SPACE ANALYSIS

Image analysis algorithms are often highly parameterized and much human input is
needed to optimize parameter settings. This incurs a time cost of up to several days. We
analyze and characterize the conventional parameter optimization process for image analysis
and formulate user requirements. With this as input, we propose a change in paradigm by
optimizing parameters based on parameter sampling and interactive visual exploration. To save
time and reduce memory load, users are only involved in the first step initialization of
sampling - and the last step - visual analysis of output. This helps users to more thoroughly
explore the parameter space and produce higher quality results. We describe a custom sampling
plug-in we developed for Cell Profiler - a popular biomedical image analysis framework. Our
main focus is the development of an interactive visualization technique that enables users to
analyze the relationships between sampled input parameters and corresponding output. We
implemented this in a prototype called Paramorama. It provides users with a visual overview of
parameters and their sampled values. User-defined areas of interest are presented in a structured
way that includes image-based output and a novel layout algorithm. To find optimal parameter
settings, users can tag high- and low-quality results to refine their search. We include two case
studies to illustrate the utility of this approach.

CURVE FITTING WITH RANSAC

The fitting result of curve will be not stable as the existence of noise and scattered
points. The RANSAC algorithm is a good choice to apply in our fitting procedure. It is an
iterative method to estimate parameters of a mathematical model from a set of observed data
which contains outliers. A basic assumption is that the data consists of "inliers", i.e., data
whose distribution can be explained by some set of model parameters, though may be subject
to noise, and "outliers" which are data that do not fit the model. The fitting procedure of curve
is just similar as the estimation of Fundamental Matrix estimation by seven points using
RANSAC algorithm. The RANSAC algorithm is an abbreviation for Random Sample
Consensus. Fitting of ellipse by RANSAC only need three points. The fitting result is
accurate and robust. It can estimate the parameters with a high degree of accuracy even when a
significant number of outliers are present in the data set.
CHAPTER 4

REQUIREMENTS ENGINEERING

3.1 GENERAL

Predicting how MATLAB will perform while running an application on a particular computer
is difficult. So, Math Works offers this general guidance on platform selection criteria and
emphasizes that it is not a substitute for testing your application on a particular computer such as
Operating Systems(32bit (or) 64 bit),Hardware considerations like central processing unit, hard
disk, memory, Graphics Processing Unit (GPU) for display ,Graphics Processing Unit (GPU) for
computation.

3.2 HARDWARE REQUIREMENTS

The hardware requirements may serve as the basis for a contract for the implementation
of the system and should therefore be a complete and consistent specification of the whole
system. They are used by software engineers as the starting point for the system design. It should
what the system do and not how it should be implemented.

HARDWARE

Processor - Intel Core TM 2 Duo


RAM - 2 GB(min)
Hard Disk - 500 GB
Mobile - ANDROID

SOFTWARE REQUIREMENTS

MATLAB 7.14 Version R2011

MATLAB
The MATLAB high-performance language for technical computing integrates computation,
visualization, and programming in an easy-to-use environment where problems and solutions are
expressed in familiar mathematical notation.
Data Exploration ,Acquisition ,Analyzing &Visualization
Engineering drawing and Scientific graphics
Analyzing of algorithmic designing and development
Mathematical functions and Computational functions
Simulating problems prototyping and modeling
Application development programming using GUI building environment.
Using MATLAB, you can solve technical computing problems faster than with traditional
programming languages, such as C, C++, and FORTRAN.

MATLAB is an interactive system whose basic data element is an array that does not require
dimensioning. This allows you to solve many technical computing problems, especially those
with matrix and vector formulations, in a fraction of the time it would take to write a program
in a scalar non-interactive language such as C or FORTRAN (Formula translation).

CHAPTER 5

SOFTWARE DESCDRIPTION

5.1 GENERAL

MATLAB (matrix laboratory) is a numerical computing environment and fourth-


generation programming language. Developed by Math Works, MATLAB
allows matrix manipulations, plotting of functions and data, implementation of algorithms,
creation of user interfaces, and interfacing with programs written in other languages,
including C, C++, Java, and Fortran.

Although MATLAB is intended primarily for numerical computing, an optional toolbox


uses the MuPAD symbolic engine, allowing access to symbolic computing capabilities. An
additional package, Simulink, adds graphical multi-domain simulation and Model-Based
Design for dynamic and embedded systems.
In 2004, MATLAB had around one million users across industry and
academia. MATLAB users come from various backgrounds of engineering, science,
and economics. MATLAB is widely used in academic and research institutions as well as
industrial enterprises.

MATLAB was first adopted by researchers and practitioners in control engineering,


Little's specialty, but quickly spread to many other domains. It is now also used in education, in
particular the teaching of linear algebra and numerical analysis, and is popular amongst scientists
involved in image processing. The MATLAB application is built around the MATLAB language.
The simplest way to execute MATLAB code is to type it in the Command Window, which is one
of the elements of the MATLAB Desktop. When code is entered in the Command Window,
MATLAB can be used as an interactive mathematical shell. Sequences of commands can be
saved in a text file, typically using the MATLAB Editor, as a script or encapsulated into
a function, extending the commands available.

MATLAB provides a number of features for documenting and sharing your work. You
can integrate your MATLAB code with other languages and applications, and distribute your
MATLAB algorithms and applications.

5.2 FEATURES OF MATLAB

High-level language for technical computing.


Development environment for managing code, files, and data.
Interactive tools for iterative exploration, design, and problem solving.
Mathematical functions for linear algebra, statistics, Fourier analysis,
filtering, optimization, and numerical integration.
2-D and 3-D graphics functions for visualizing data.
Tools for building custom graphical user interfaces.
Functions for integrating MATLAB based algorithms with external applications and
languages, such as C, C++, Fortran, Java, COM, and Microsoft Excel.

MATLAB is used in vast area, including signal and image processing, communications,
control design, test and measurement, financial modeling and analysis, and computational. Add-
on toolboxes (collections of special-purpose MATLAB functions) extend the MATLAB
environment to solve particular classes of problems in these application areas.

MATLAB can be used on personal computers and powerful server systems, including
the Cheaha compute cluster. With the addition of the Parallel Computing Toolbox, the language
can be extended with parallel implementations for common computational functions, including
for-loop unrolling. Additionally this toolbox supports offloading computationally intensive
workloads to Cheaha the campus compute cluster. MATLAB is one of a few languages in which
each variable is a matrix (broadly construed) and "knows" how big it is. Moreover, the
fundamental operators (e.g. addition, multiplication) are programmed to deal with matrices when
required. And the MATLAB environment handles much of the bothersome housekeeping that
makes all this possible. Since so many of the procedures required for Macro-Investment Analysis
involves matrices, MATLAB proves to be an extremely efficient language for both
communication and implementation.

5.2.1 INTERFACING WITH OTHER LANGUAGES

MATLAB can call functions and subroutines written in the C programming


language or FORTRAN. A wrapper function is created allowing MATLAB data types to be
passed and returned. The dynamically loadable object files created by compiling such functions
are termed "MEX-files" (for MATLAB executable).

Libraries written in Java, ActiveX or .NET can be directly called from MATLAB and
many MATLAB libraries (for example XML or SQL support) are implemented as wrappers
around Java or ActiveX libraries. Calling MATLAB from Java is more complicated, but can be
done with MATLAB extension, which is sold separately by Math Works, or using an
undocumented mechanism called JMI (Java-to-Mat lab Interface), which should not be confused
with the unrelated Java that is also called JMI.

As alternatives to the MuPAD based Symbolic Math Toolbox available from Math Works,
MATLAB can be connected to Maple or Mathematica. Libraries also exist to import and
export MathML.
Development Environment

Startup Accelerator for faster MATLAB startup on Windows, especially on Windows XP,
and for network installations.
Spreadsheet Import Tool that provides more options for selecting and loading mixed
textual and numeric data.
Readability and navigation improvements to warning and error messages in the
MATLAB command window.
Automatic variable and function renaming in the MATLAB Editor.

Developing Algorithms and Applications

MATLAB provides a high-level language and development tools that let you quickly
develop and analyze your algorithms and applications.

The MATLAB Language

The MATLAB language supports the vector and matrix operations that are fundamental to
engineering and scientific problems. It enables fast development and execution. With the
MATLAB language, you can program and develop algorithms faster than with traditional
languages because you do not need to perform low-level administrative tasks, such as declaring
variables, specifying data types, and allocating memory. In many cases, MATLAB eliminates the
need for for loops. As a result, one line of MATLAB code can often replace several lines of C
or C++ code.

At the same time, MATLAB provides all the features of a traditional programming language,
including arithmetic operators, flow control, data structures, data types, object-oriented
programming (OOP), and debugging features.

MATLAB lets you execute commands or groups of commands one at a time, without compiling
and linking, enabling you to quickly iterate to the optimal solution. For fast execution of heavy
matrix and vector computations, MATLAB uses processor-optimized libraries. For general-
purpose scalar computations, MATLAB generates machine-code instructions using its JIT (Just-
In-Time) compilation technology.

This technology, which is available on most platforms, provides execution speeds that rival those
of traditional programming languages.

Development Tools

MATLAB includes development tools that help you implement your algorithm efficiently. These
include the following:

MATLAB Editor

Provides standard editing and debugging features, such as setting breakpoints and single stepping

Code Analyzer

Checks your code for problems and recommends modifications to maximize performance and
maintainability

MATLAB Profiler

Records the time spent executing each line of code

Directory Reports

Scan all the files in a directory and report on code efficiency, file differences, file
dependencies, and code coverage

Designing Graphical User Interfaces

By using the interactive tool GUIDE (Graphical User Interface Development


Environment) to layout, design, and edit user interfaces. GUIDE lets you include list boxes, pull-
down menus, push buttons, radio buttons, and sliders, as well as MATLAB plots and Microsoft
ActiveX controls. Alternatively, you can create GUIs programmatically using MATLAB
functions.

5.2.2 ANALYZING AND ACCESSING DATA

MATLAB supports the entire data analysis process, from acquiring data from external
devices and databases, through preprocessing, visualization, and numerical analysis, to
producing presentation-quality output.

Data Analysis

MATLAB provides interactive tools and command-line functions for data analysis
operations, including:

Interpolating and decimating


Extracting sections of data, scaling, and averaging
Thresholding and smoothing
Correlation, Fourier analysis, and filtering
1-D peak, valley, and zero finding
Basic statistics and curve fitting
Matrix analysis

Data Access

MATLAB is an efficient platform for accessing data from files, other applications, databases, and
external devices. You can read data from popular file formats, such as Microsoft Excel; ASCII
text or binary files; image, sound, and video files; and scientific files, such as HDF and HDF5.
Low-level binary file I/O functions let you work with data files in any format. Additional
functions let you read data from Web pages and XML.

Visualizing Data

All the graphics features that are required to visualize engineering and scientific data are
available in MATLAB. These include 2-D and 3-D plotting functions, 3-D volume visualization
functions, tools for interactively creating plots, and the ability to export results to all popular
graphics formats. You can customize plots by adding multiple axes; changing line colors and
markers; adding annotation, Latex equations, and legends; and drawing shapes.

2-D Plotting

Visualizing vectors of data with 2-D plotting functions that create:

Line, area, bar, and pie charts.


Direction and velocity plots.
Histograms.
Polygons and surfaces.
Scatter/bubble plots.
Animations.

3-D Plotting and Volume Visualization

MATLAB provides functions for visualizing 2-D matrices, 3-D scalar, and 3-D vector data. You
can use these functions to visualize and understand large, often complex, multidimensional data.
Specifying plot characteristics, such as camera viewing angle, perspective, lighting effect, light
source locations, and transparency.

3-D plotting functions include:

Surface, contour, and mesh.


Image plots.
Cone, slice, stream, and isosurface.

5.2.3 PERFORMING NUMERIC COMPUTATION

MATLAB contains mathematical, statistical, and engineering functions to support all


common engineering and science operations. These functions, developed by experts in
mathematics, are the foundation of the MATLAB language. The core math functions use the
LAPACK and BLAS linear algebra subroutine libraries and the FFTW Discrete Fourier
Transform library. Because these processor-dependent libraries are optimized to the different
platforms that MATLAB supports, they execute faster than the equivalent C or C++ code.
MATLAB provides the following types of functions for performing mathematical
operations and analyzing data:

Matrix manipulation and linear algebra.


Polynomials and interpolation.
Fourier analysis and filtering.
Data analysis and statistics.
Optimization and numerical integration.
Ordinary differential equations (ODEs).
Partial differential equations (PDEs).
Sparse matrix operations.

MATLAB can perform arithmetic on a wide range of data types, including


doubles, singles, and integers.

Desktop Tools

This section provides an introduction to MATLAB's desktop tools. You can also
use MATLAB functions to perform most of the features found in the desktop tools. The
tools are:

Current Directory Browser


Workspace Browser
Array Editor
Editor/Debugger
Command Window
Command History
Launch Pad
Help Browser
Command Window
Use the Command Window to enter variables and run functions and M-files.

Command History
Lines you enter in the Command Window are logged in the Command History
window. In the Command History, you can view previously used functions, and copy and
execute selected lines. To save the input and output from a MATLAB session to a file,
use the diary function.
Running External Programs
You can run external programs from the MATLAB Command Window. The
exclamation point character! is a shell escape and indicates that the rest of the input line
is a command to the operating system. This is useful for invoking utilities or running
other programs without quitting MATLAB. On Linux, for example,!emacs magik.m
invokes an editor called emacs for a file named magik.m. When you quit the external
program, the operating system returns control to MATLAB.

Launch Pad
MATLAB's Launch Pad provides easy access to tools, demos, and documentation.
Help Browser
Use the Help browser to search and view documentation for all your Math Works
products. The Help browser is a Web browser integrated into the MATLAB desktop that
displays HTML documents.

To open the Help browser, click the help button in the toolbar, or type
helpbrowser in the Command Window. The Help browser consists of two panes, the Help
Navigator, which you use to find information, and the display pane, where you view the
information.

Help Navigator
Use to Help Navigator to find information. It includes:

Product filter
Set the filter to show documentation only for the products you specify.

Contents tab
View the titles and tables of contents of documentation for your products.

Index tab
Find specific index entries (selected keywords) in the MathWorks documentation for your
products.
Search tab
Look for a specific phrase in the documentation. To get help for a specific
function, set the Search type to Function Name.
Favorites tab
View a list of documents you previously designated as favorites.
Display Pane
After finding documentation using the Help Navigator, view it in the display
pane. While viewing the documentation, you can:
Browse to other pages
Use the arrows at the tops and bottoms of the pages, or use the back and forward
buttons in the toolbar.
Bookmark pages
Click the Add to Favorites button in the toolbar.
Print pages
Click the print button in the toolbar.
Find a term in the page
Type a term in the Find in page field in the toolbar and click Go.
Other features available in the display pane are: copying information, evaluating a
selection, and viewing Web pages.

Current Directory Browser

MATLAB file operations use the current directory and the search path as
reference points. Any file you want to run must either be in the current directory or on the
search path.

Search Path

To determine how to execute functions you call, MATLAB uses a search path to
find M-files and other MATLAB-related files, which are organized in directories on your
file system. Any file you want to run in MATLAB must reside in the current directory or
in a directory that is on the search path. By default, the files supplied with MATLAB and
MathWorks toolboxes are included in the search path.
Workspace Browser
The MATLAB workspace consists of the set of variables (named arrays) built up
during a MATLAB session and stored in memory. You add variables to the workspace by
using functions, running M-files, and loading saved workspaces.

To view the workspace and information about each variable use the Workspace
browser, or use the functions who and whos

To delete variables from the workspace, select the variable and select Delete from
the Edit menu. Alternatively, use the clear function.

The workspace is not maintained after you end the MATLAB session. To save the
workspace to a file that can be read during a later MATLAB session, select Save
Workspace As from the File menu, or use the save function. This saves the workspace to
a binary file called a MAT-file, which has a .mat extension. There are options for saving
to different formats. To read in a MAT-file, select Import Data from the File menu, or use
the load function.

Array Editor
Double-click on a variable in the Workspace browser to see it in the Array
Editor. Use the Array Editor to view and edit a visual representation of one- or two-
dimensional numeric arrays, strings, and cell arrays of strings that are in the workspace.

Editor/Debugger
Use the Editor/Debugger to create and debug M-files, which are programs you
write to run MATLAB functions. The Editor/Debugger provides a graphical user
interface for basic text editing, as well as for M-file debugging.

You can use any text editor to create M-files, such as Emacs, and can use
preferences (accessible from the desktop File menu) to specify that editor as the default.
If you use another editor, you can still use the MATLAB Editor/Debugger for debugging,
or you can use debugging functions, such as dbstop, which sets a breakpoint.
If you just need to view the contents of an M-file, you can display it in the Command Window by
using the type function.

IMPLEMENTATION

function varargout = guimainvein(varargin)

% GUIMAINVEIN M-file for guimainvein.fig

% GUIMAINVEIN, by itself, creates a new GUIMAINVEIN or raises the existing

% singleton*.

% H = GUIMAINVEIN returns the handle to a new GUIMAINVEIN or the handle to

% the existing singleton*.

% GUIMAINVEIN('CALLBACK',hObject,eventData,handles,...) calls the local

% function named CALLBACK in GUIMAINVEIN.M with the given input arguments.

% GUIMAINVEIN('Property','Value',...) creates a new GUIMAINVEIN or raises the

% existing singleton*. Starting from the left, property value pairs are

% applied to the GUI before guimainvein_OpeningFcn gets called. An

% unrecognized property name or invalid value makes property application

% stop. All inputs are passed to guimainvein_OpeningFcn via varargin.

%
% *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one

% instance to run (singleton)".

% See also: GUIDE, GUIDATA, GUIHANDLES

% Edit the above text to modify the response to help guimainvein

% Last Modified by GUIDE v2.5 18-Mar-2016 19:24:59

% Begin initialization code - DO NOT EDIT

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @guimainvein_OpeningFcn, ...

'gui_OutputFcn', @guimainvein_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else
gui_mainfcn(gui_State, varargin{:});

end

% End initialization code - DO NOT EDIT

% --- Executes just before guimainvein is made visible.

function guimainvein_OpeningFcn(hObject, eventdata, handles, varargin)

% This function has no output args, see OutputFcn.

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% varargin command line arguments to guimainvein (see VARARGIN)

% Choose default command line output for guimainvein

handles.output = hObject;

% Update handles structure

guidata(hObject, handles);

% UIWAIT makes guimainvein wait for user response (see UIRESUME)

% uiwait(handles.figure1);

clc;

warning off;

a=ones(256,256);

axes(handles.axes1);
imshow(a);

axes(handles.axes2);

imshow(a);

% --- Outputs from this function are returned to the command line.

function varargout = guimainvein_OutputFcn(hObject, eventdata, handles)

% varargout cell array for returning output args (see VARARGOUT);

% hObject handle to figure

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure

varargout{1} = handles.output;

% --- Executes on button press in pushbutton1.

function pushbutton1_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton1 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)


% To open the browse option in the front end we fix the initial directory paths

TrainDatabase = uigetdir('C:\Users\KANNAN\Desktop\GUI face project', 'Select the path of


training images' );

helpdlg('TrainDatabase selection Successful');

handles.TrainDatabase=TrainDatabase;

guidata(hObject, handles);

% --- Executes on button press in pushbutton2.

function pushbutton2_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton2 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

TrainDatabase=handles.TrainDatabase;

TestDatabasePath = uigetdir('C:\Users\KANNAN\Desktop\GUI face project', 'Select the path of


testing images');

prompt = {'Enter test image name (a number between 1 to 4):'};

dlg_title = 'Vein Recognition System';

num_lines= 1;

def = {'1'};

TestImage = inputdlg(prompt,dlg_title,num_lines,def);

TestImage = strcat(TestDatabasePath,'\',char(TestImage),'.jpg');

im = imread(TestImage);
TestImage1 = input( 'Enter test image name (a number between 1 to 4):')

% if( TestImage1==10);

% helpdlg('Image does not matched with database and Face Recognition not successful');

% else

helpdlg('TestImage selection Successful');

%end

% create Database for training images

T = CreateDatabase(TrainDatabase);

handles.TestImage=TestImage;

handles.TestDatabasePath =TestDatabasePath;

handles.TestImage1=TestImage1;

handles.im =im;

handles.T=T;

guidata(hObject, handles);

% --- Executes on button press in pushbutton3.

function pushbutton3_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton3 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

TestImage=handles.TestImage;
T=handles.T;

% Apply PCA for training images

[m, A, Eigenfaces] = PCA(T);

helpdlg('Feature Selection Successful');

handles.TestImage=TestImage;

handles.m=m;

handles.A=A;

handles.Eigenfaces=Eigenfaces;

guidata(hObject, handles);

% --- Executes on button press in pushbutton4.

function pushbutton4_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton4 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

TestImage=handles.TestImage;

m=handles.m;

A=handles.A;

Eigenfaces=handles.Eigenfaces;

TestImage=handles.TestImage;

% Apply PCA for test image and ED classification


OutputName = recog(TestImage, m, A, Eigenfaces);

helpdlg('Classification Selection Successful');

TrainDatabase=handles.TrainDatabase;

SelectedImage = strcat(TrainDatabase,'\',OutputName);

SelectedImage = imread(SelectedImage);

handles.SelectedImage=SelectedImage;

guidata(hObject, handles);

% --- Executes on button press in pushbutton5.

function pushbutton5_Callback(hObject, eventdata, handles)

% hObject handle to pushbutton5 (see GCBO)

% eventdata reserved - to be defined in a future version of MATLAB

% handles structure with handles and user data (see GUIDATA)

TestImage=handles.TestImage;

TestImage1=handles.TestImage1;

SelectedImage=handles.SelectedImage;

TestDatabasePath=handles.TestDatabasePath;

im=handles.im;

%TestImage1 = strcat(TestDatabasePath,'\',char(TestImage1),'.jpg');

%I=imread(TestImage)-SelectedImage;

% Output section
k=im-SelectedImage;

if(k==0)

axes(handles.axes1);

imshow(TestImage);

title('Image to be tested');

axes(handles.axes2);

imshow(SelectedImage);

title('Equivalent Image');

helpdlg('Vein Recognition successful');

disp('Vein Recognition successful');

else

axes(handles.axes1);

imshow(TestImage);

title('Image to be tested');

% axes(handles.axes2);

% imshow(SelectedImage);

% title('Equivalent Image');

helpdlg('Vein Recognition not successful');

disp('Vein Recognition not successful');


I1=wavread('2.wav');

wavplay(I1,44100);

end

guidata(hObject, handles);

% % --- Executes on button press in pushbutton6.

% function pushbutton6_Callback(hObject, eventdata, handles)

% % hObject handle to pushbutton6 (see GCBO)

% % eventdata reserved - to be defined in a future version of MATLAB

% % handles structure with handles and user data (see GUIDATA)

% TrainDatabase = uigetdir('C:\Users\KANNAN\Desktop\GUI face project', 'Select the path of


training images' );

% helpdlg('TrainDatabase selection Successful');

% handles.TrainDatabase=TrainDatabase;

% guidata(hObject, handles);

% % --- Executes on button press in pushbutton7.

% function pushbutton7_Callback(hObject, eventdata, handles)

% % hObject handle to pushbutton7 (see GCBO)

% % eventdata reserved - to be defined in a future version of MATLAB

% % handles structure with handles and user data (see GUIDATA)


% TrainDatabase=handles.TrainDatabase;

% TestDatabasePath = uigetdir('C:\Users\KANNAN\Desktop\GUI face project', 'Select the path


of testing images');

% prompt = {'Enter test image name (a number between 5 to 8):'};

% dlg_title = 'Vein Recognition System';

% num_lines= 1;

% def = {'1'};

% TestImage = inputdlg(prompt,dlg_title,num_lines,def);

% TestImage = strcat(TestDatabasePath,'\',char(TestImage),'.jpg');

% im = imread(TestImage);

% TestImage1 = input( 'Enter test image name (a number between 5 to 8):')

% T = CreateDatabase(TrainDatabase);

% % if( TestImage1==10);

%% helpdlg('Image does not matched with database and Face Recognition not successful');

% % else

% handles.im =im;

% handles.TestDatabasePath=TestDatabasePath;

% handles.T=T;

% handles.TestImage =TestImage;

% handles.TestImage1=TestImage1;
% helpdlg('TestImage selection Successful');

% guidata(hObject, handles);

% % --- Executes on button press in pushbutton8.

% function pushbutton8_Callback(hObject, eventdata, handles)

% % hObject handle to pushbutton8 (see GCBO)

% % eventdata reserved - to be defined in a future version of MATLAB

% % handles structure with handles and user data (see GUIDATA)

% TestImage=handles.TestImage;

% T=handles.T;

% % Apply PCA for training images

% [m, A, Eigenfaces] = PCA(T);

% helpdlg('Feature Selection Successful');

% handles.TestImage=TestImage;

% handles.m=m;

% handles.A=A;

% handles.Eigenfaces=Eigenfaces;

% guidata(hObject, handles);

% % --- Executes on button press in pushbutton9.

% function pushbutton9_Callback(hObject, eventdata, handles)


% % hObject handle to pushbutton9 (see GCBO)

% % eventdata reserved - to be defined in a future version of MATLAB

% % handles structure with handles and user data (see GUIDATA)

% TestImage1=handles.TestImage1;

% TestImage=handles.TestImage;

% TestDatabasePath=handles.TestDatabasePath;

% m=handles.m;

% A=handles.A;

% Eigenfaces=handles.Eigenfaces;

% TestImage=handles.TestImage;

% % Apply PCA for test image and ED classification

% OutputName = recog(TestImage, m, A, Eigenfaces);

% helpdlg('Classification Selection Successful');

% TrainDatabase=handles.TrainDatabase;

% SelectedImage = strcat(TrainDatabase,'\',OutputName);

% SelectedImage = imread(SelectedImage);

% im=handles.im;

% %TestImage1 = strcat(TestDatabasePath,'\',char(TestImage1),'.jpg');

% %I=imread(TestImage)-SelectedImage;

% % Output section
% k=im-SelectedImage;

% if(k==0)

% axes(handles.axes5);

% imshow(TestImage);

% title('Image to be tested');

% axes(handles.axes6);

% imshow(SelectedImage);

% title('Equivalent Image');

% helpdlg('Face Recognition successful');

% disp('Face Recognition successful');

% else

% axes(handles.axes5);

% imshow(TestImage);

% title('Image to be tested');

% % axes(handles.axes2);

% % imshow(SelectedImage);

% % title('Equivalent Image');

% helpdlg('Face Recognition not successful');

% disp('Face Recognition not successful');

% I1=wavread('2.wav');
% wavplay(I1,44100);

% end

% guidata(hObject, handles);

% %--- Executes on button press in pushbutton10.

% function pushbutton10_Callback(hObject, eventdata, handles)

% % % hObject handle to pushbutton10 (see GCBO)

% % % eventdata reserved - to be defined in a future version of MATLAB

% % % handles structure with handles and user data (see GUIDATA)

% exit;

CHAPTER 6

SCREEN SHOT

6.1 General:

6.2 VARIOUS SNAPSHOTS


CHAPTER 7

CONCLUSION

7.1 CONCLUSION:
The concept of reflection symmetry to curved glide-reflection symmetries that are
common in the real world, especially in biomedical image data is generalized. This strategy
occasionally eliminates small, weak, but true curved reflection symmetries. It is possible that a
hierarchical approach can be adopted to address this problem. A better regression method like
spline curve fitting can improve the curve fitting performance for real images containing
complicated curved axes in cluttered backgrounds. For computer vision applications, the
outcome of our proposed algorithm can be used for saliency detection, curvature
orabnormality quantification and ultimately for object detection and recognition in
unsegmented real world images.

7.2 REFERENCES:

1. Seungkyu Lee, Yanxi Liu, Curved Glide-Reflection Symmetry Detection, IEEE transactions
on pattern analysis and machine intelligence, 2011.

2. Hanchuan Peng, Fuhui Long, Xiao Liu, Stuart K. Kim, Eugene W. Myers,
Straightening Caenorhabditis elegans images, Vol. 24 no. 2, pages 234242, Nov 6, 2007.

3. Mehrsan Javan Roshtkhari, Seyed Kamaledin Setarehdan, A Novel Algorithm For


Straightening Highly Curved Images Of Human Chromosome, 15 Feb 2008.

4. Oleksandr Tymchenko, Irena Kulczycka, Karolina Szturo, Mathematical Problem Of


Straightening Text Lines 17 August 2015.

5. S. D. Barrett, C. R. de Carvalh, A software tool to straighten curved chromosome images, 7


Nov 2002.

6. S. Blestel, C. Kervrann1, D. Chretien, A Fourier-Based Method For Detecting Curved


Microtubule Centers:Application To Straightening Of Cryo-Electron Microscope Images.

7. B.Dhivyapriya, Dr.V.Vijaya Baskar, Object Coordinates Based G-Banded Human


Chromosome Image Analysis, Vol. 3, Issue 2, February 2014.
8. Bratislav Stankovic2, Dieter Volkmann, and Fred David Sack, Autonomic Straightening
after Gravitropic Curvature of Cress Roots , Vol. 117, 1998.

9. Lloyd Gamble, Sai Ravela,Kevin McGarigal, Multi-scale features for identifying individuals
in large biological databases: an application of pattern recognition technology to the marbled
salamander Ambystoma opacum, 2008.

10. June Deery, Straightening the Bell Curve, 1994.

Вам также может понравиться