You are on page 1of 40

ABSTRACT

Detection of lung cancer is the most interesting research area of researcher's


in early stages. The proposed system is designed to detect lung cancer in premature
stage in two stages. The proposed system consists of many steps such as image
acquisition, preprocessing, binarization, thresholding, segmentation, feature
extraction, and neural network detection. At first Input lung CT images to the
system and then passed through the image preprocessing stage by using some
image processing techniques. In first stage, Binarization technique is used to
convert binary image and then compare it with threshold value to detect lung
cancer. In second stage, segmentation is performed to segment the lung CT image
and a strong feature extraction method has been introduced to extract the some
important feature of segmented images. Extracted features are used to train the
neural network and finally the system is tested any cancerous and noncancerous
images. The performance of proposed system shows satisfactory results and
proposed method gives 96.67% accuracy.

1
CHAPTER I

INTRODUCTION

1.1 GENERAL

The term digital image refers to processing of a two dimensional picture by a digital
computer. In a broader context, it implies digital processing of any two dimensional data. A
digital image is an array of real or complex numbers represented by a finite number of bits. An
image given in the form of a transparency, slide, photograph or an X-ray is first digitized and
stored as a matrix of binary digits in computer memory. This digitized image can then be
processed and/or displayed on a high-resolution television monitor. For display, the image is
stored in a rapid-access buffer memory, which refreshes the monitor at a rate of 25 frames per
second to produce a visually continuous display.

1.1.1 THE IMAGE PROCESSING SYSTEM

Digitizer Mass Storage

Image Digital Operator


Processor Computer Console

Hard Copy
Device
Display

FIG 1.1 BLOCK DIAGRAM FOR IMAGE PROCESSING SYSTEM

2
DIGITIZER:

A digitizer converts an image into a numerical representation suitable for input into a
digital computer. Some common digitizers are

1. Microdensitometer
2. Flying spot scanner
3. Image dissector
4. Videocon camera
5. Photosensitive solid- state arrays.

IMAGE PROCESSOR:

An image processor does the functions of image acquisition, storage, preprocessing,


segmentation, representation, recognition and interpretation and finally displays or records the
resulting image. The following block diagram gives the fundamental sequence involved in an
image processing system.

Problem Image Representation &


Segmentation
Domain Acquisition Description
n

Knowledge Result
Preprocessing Recognition &
interpretation
Base

FIG 1.2 BLOCK DIAGRAM OF FUNDAMENTAL SEQUENCE INVOLVED IN AN


IMAGE PROCESSING SYSTEM

3
As detailed in the diagram, the first step in the process is image acquisition by an imaging sensor
in conjunction with a digitizer to digitize the image. The next step is the preprocessing step where
the image is improved being fed as an input to the other processes. Preprocessing typically deals
with enhancing, removing noise, isolating regions, etc. Segmentation partitions an image into its
constituent parts or objects. The output of segmentation is usually raw pixel data, which consists
of either the boundary of the region or the pixels in the region themselves. Representation is the
process of transforming the raw pixel data into a form useful for subsequent processing by the
computer. Description deals with extracting features that are basic in differentiating one class of
objects from another. Recognition assigns a label to an object based on the information provided
by its descriptors. Interpretation involves assigning meaning to an ensemble of recognized
objects. The knowledge about a problem domain is incorporated into the knowledge base. The
knowledge base guides the operation of each processing module and also controls the interaction
between the modules. Not all modules need be necessarily present for a specific function. The
composition of the image processing system depends on its application. The frame rate of the
image processor is normally around 25 frames per second.

DIGITAL COMPUTER:

Mathematical processing of the digitized image such as convolution, averaging, addition,


subtraction, etc. are done by the computer.

MASS STORAGE:

The secondary storage devices normally used are floppy disks, CD ROMs etc.

HARD COPY DEVICE:

The hard copy device is used to produce a permanent copy of the image and for the
storage of the software involved.

4
OPERATOR CONSOLE:

The operator console consists of equipment and arrangements for verification of


intermediate results and for alterations in the software as and when require. The operator is also
capable of checking for any resulting errors and for the entry of requisite data.

1.1.2 IMAGE PROCESSING FUNDAMENTAL:

Digital image processing refers processing of the image in digital form. Modern cameras
may directly take the image in digital form but generally images are originated in optical form.
They are captured by video cameras and digitalized. The digitalization process includes
sampling, quantization. Then these images are processed by the five fundamental processes, at
least any one of them, not necessarily all of them.

IMAGE PROCESSING TECHNIQUES:

This section gives various image processing techniques.

Image Enhancement

Image Restoration

IP
Image Analysis

Image Compression

Image Synthesis

5
FIG1.3: IMAGE PROCESSING TECHNIQUES

MAGE ENHANCEMENT:

Image enhancement operations improve the qualities of an image like improving the
images contrast and brightness characteristics, reducing its noise content, or sharpen the details.
This just enhances the image and reveals the same information in more understandable image. It
does not add any information to it.

IMAGE RESTORATION:

Image restoration like enhancement improves the qualities of image but all the operations
are mainly based on known, measured, or degradations of the original image. Image restorations
are used to restore images with problems such as geometric distortion, improper focus, repetitive
noise, and camera motion. It is used to correct images for known degradations.

IMAGE ANALYSIS:

Image analysis operations produce numerical or graphical information based on


characteristics of the original image. They break into objects and then classify them. They
depend on the image statistics. Common operations are extraction and description of scene and
image features, automated measurements, and object classification. Image analyze are mainly
used in machine vision applications.

IMAGE COMPRESSION:

Image compression and decompression reduce the data content necessary to describe the image.
Most of the images contain lot of redundant information, compression removes all the
redundancies. Because of the compression the size is reduced, so efficiently stored or

6
transported. The compressed image is decompressed when displayed. Lossless compression
preserves the exact data in the original image, but Lossy compression does not represent the
original image but provide excellent compression.

IMAGE SYNTHESIS:

Image synthesis operations create images from other images or non-image data. Image
synthesis operations generally create images that are either physically impossible or impractical
to acquire.

APPLICATIONS OF DIGITAL IMAGE PROCESSING:

Digital image processing has a broad spectrum of applications, such as remote sensing
via satellites and other spacecrafts, image transmission and storage for business applications,
medical processing, radar, sonar and acoustic image processing, robotics and automated
inspection of industrial parts.

MEDICAL APPLICATIONS:

In medical applications, one is concerned with processing of chest X-rays,


cineangiograms, projection images of transaxial tomography and other medical images that occur
in radiology, nuclear magnetic resonance (NMR) and ultrasonic scanning. These images may be
used for patient screening and monitoring or for detection of tumors or other disease in patients.

SATELLITE IMAGING:

Images acquired by satellites are useful in tracking of earth resources; geographical


mapping; prediction of agricultural crops, urban growth and weather; flood and fire control; and

7
many other environmental applications. Space image applications include recognition and
analysis of objects contained in image obtained from deep space-probe missions.

COMMUNICATION:

Image transmission and storage applications occur in broadcast television,


teleconferencing, and transmission of facsimile images for office automation, communication of
computer networks, closed-circuit television based security monitoring systems and in military
communications.

RADAR IMAGING SYSTEMS:

Radar and sonar images are used for detection and recognition of various types of targets or in
guidance and maneuvering of aircraft or missile systems.

DOCUMENT PROCESSING:

It is used in scanning, and transmission for converting paper documents to a digital image form,
compressing the image, and storing it on magnetic tape. It is also used in document reading for
automatically detecting and recognizing printed characteristics.

DEFENSE/INTELLIGENCE:

It is used in reconnaissance photo-interpretation for automatic interpretation of earth


satellite imagery to look for sensitive targets or military threats and target acquisition and
guidance for recognizing and tracking targets in real-time smart-bomb and missile-guidance
systems.

SCOPE OF THE PROJECT:

8
In this paper, a supervised classifier was designed through combining level-nodule
probability and level context probability. The results from the experiments on the ELCAP dataset
showed promising performance of our method. We also suggest that the proposed method can be
generally applicable to other medical or general imaging domains.

LITERATURE SURVEY:
1. Automatic detection of small lung nodules on CT utilizing a local density maximum
algorithm, Binsheng Zhao*, Gordon Gamsu, Michelle S. Ginsberg, Li Jiang, and Lawrence
H. Schwartz-2003
Increasingly, computed tomography (CT) offers higher resolution and faster acquisition
times. This has resulted in the opportunity to detect small lung nodules, which may represent
lung cancers at earlier and potentially more curable stages. However, in the current clinical
practice, hundreds of such thin-sectional CT images are generated for each patient and are
evaluated by a radiologist in the traditional sense of looking at each image in the axial mode.
This results in the potential to miss small nodules and thus potentially miss a cancer. In this
paper, we present a computerized method for automated identification of small lung nodules on
multi slice CT (MSCT) images. The method consists of three steps: (i) separation of the lungs
from the other anatomic structures, (ii) detection of nodule candidates in the extracted lungs, and
~iii! reduction of false-positives among the detected nodule candidates. A three-dimensional
lung mask can be extracted by analyzing density histogram of volumetric chest images followed
by a morphological operation. Higher density structures including nodules scattered throughout
the lungs can be identified by using a local density maximum algorithm. Information about
nodules such as size and compact shape are then incorporated into the algorithm to reduce the
detected nodule candidates which are not likely to be nodules. The method was applied to the
detection of computer simulated small lung nodules (2 to 7 mm in diameter) and achieved a
sensitivity of 84.2% with, on average, five false-positive results per scan. The preliminary results
demonstrate the potential of this technique for assisting the detection of small nodules from chest
MSCT images.

9
2. Quantification of Nodule Detection in Chest CT: A Clinical Investigation Based on the
ELCAP Study Amal A. Farag, Shireen Y. Elhabian, Salwa A. Elshazly and Aly A. Farag
2008
This paper examines the detection step in automatic detection and classification of lung
nodules from low-dose CT (LDCT) scans. Two issues are studied in detail: nodule modeling and
simulation, and the effect of these models on the detection process. From an ensemble of
nodules, specified by radiologists, we devise an approach to estimate the gray level intensity
distribution (Hounsfield Units) and a figure of merit of the size of appropriate templates. Hence,
a data-driven approach is used to design the templates. The paper presents an extensive study of
the sensitivity and specificity of the nodule detection step, in which the quality of the nodule
model is the driving factor. Finally, validation of the detection approach on labeled clinical
dataset from the Early Lung Cancer Action Project (ELCAP) screening study is conducted.
Overall, this paper shows a relationship between the spatial support of the nodule templates and
the resolution of the LDCT, which can be used to automatically select the template size. The
paper also shows that isotropic templates do not provide adequate detection rate (in terms of
sensitivity and specificity) of vascularized nodules. The nodule models in this paper can be used
in various machine learning approaches for automatic nodule detection and classification.

3. Parametric and Non-Parametric Nodule Models: Design and Evaluation


Amal A. Farag, James Graham, Aly A. Farag, Salwa Elshazly and Robert Falk*- 2007
Lung nodule modeling quality defines the success of lung nodule detection. This paper
presents a novel method for generating lung nodules using variational level sets to obtain the
shape properties of real nodules to form an average model template per nodule type. The texture
information used for filling the nodules is based on a devised approach that uses the probability
density of the radial distance of each nodule to obtain the maximum and minimum Hounsfield
density (HU). There are two main categories that lung nodule models fall within; parametric and
non-parametric. The performance of the new nodule templates will be evaluated during the
detection step and compared with the use of parametric templates and another non-parametric
Active Appearance model to explain the advantages and/or disadvantages of using parametric vs.
non-parametric models as well as which variation of nonparametric template design, i.e., shape
based or shape-texture based yields better results in the overall detection process.

10
4. Computer Analysis of Computed Tomography Scans of the Lung: a Survey Ingrid
Sluimer, Arnold Schilham, Mathias Prokop, and Bram van Ginneken *, Member, IEEE
2005
In this paper, Current computed tomography (CT) technology allows for near isotropic,
sub millimeter resolution acquisition of the complete chest in a single breath hold. These thin-
slice chest scans have become indispensable in thoracic radiology, but have also substantially
increased the data load for radiologists. Automating the analysis of such data is, therefore, a
necessity and this has created a rapidly developing research area in medical imaging. This paper
presents a review of the literature on computer analysis of the lungs in CT scans and addresses
segmentation of various pulmonary structures, registration of chest scans, and applications aimed
at detection, classification and quantification of chest abnormalities. In addition, research trends
and challenges are identified and directions for future research are discussed.

5. evaluation of geometric feature descriptors for detection and classification of lung


nodules in low dose ct scans of the chest amal farag, asem ali, james graham, aly farag,
salwa elshazly and robert falk* 2011
This paper examines the effectiveness of geometric feature descriptors, common in
computer vision, for false positive reduction and for classification of lung nodules in low dose
CT (LDCT) scans. A data-driven lung nodule modeling approach creates templates for common
nodule types, using active appearance models (AAM); which are then used to detect candidate
nodules based on optimum similarity measured by the normalized cross-correlation (NCC).
Geometric feature descriptors (e.g., SIFT, LBP and SURF) are applied to the output of the
detection step, in order to extract features from the nodule candidates, for further enhancement of
output and possible reduction of false positives. Results on the clinical ELCAP database showed
that the descriptors provide 2% enhancements in the specificity of the detected nodule above the
NCC results when used in a k-NN classifier. Thus quantitative measures of enhancements of the
performance of CAD models based on LDCT are now possible and are entirely model-based
most importantly; our approach is applicable for classification of nodules into categories and
pathologies.

11
CHAPTER 2

INTRODUCTION:
LUNG cancer is a major cause of cancer-related deaths in humans worldwide.
Approximately 20% of cases with lung nodules represent lung cancers; therefore, the
identification of potentially malignant lung nodules is essential for the screening and diagnosis of
lung cancer. Lung nodules are small masses in the human lung, and are usually spherical;
however, they can be distorted by surrounding anatomical structures, such as vessels and the
adjacent pleura. Intraparenchymal lung nodules are more likely to be malignant than those
connected with the surrounding structures, and thus lung nodules are divided into different types
according to their relative positions. At present, the classification from Diciotti et al. is the most
popular approach and it divides nodules into four types: well-circumscribed (W) with the nodule
located centrally in the lung without any connection to vasculature; vascularized (V) with the
nodule located centrally in the lung but closely connected to neighboring vessels; juxta-pleural
(J) with a large portion of the nodule connected to the pleural surface; and pleural-tail (P) with
the nodule near the pleural surface connected by a thin tail.
Computed tomography (CT) is the most accurate imaging modality to obtain anatomical
information about lung nodules and the surrounding structures. In current clinical practice,
however, interpretation of CT images is challenging for radiologists due to the large number of
cases. This manual reading can be error-prone and the reader may miss nodules and thus a
potential cancer. Computer-aided diagnosis (CAD) systems would be helpful for radiologists by
offering initial screening or second opinions to classify lung nodules. CADs provide depiction by
automatically computing quantitative measures, and are capable of analyzing the large number of
small nodules identified by CT scans.
Increasingly, computed tomography (CT) offers higher resolution and faster acquisition
times. This has resulted in the opportunity to detect small lung nodules, which may represent
lung cancers at earlier and potentially more curable stages. However, in the current clinical
practice, hundreds of such thin-sectional CT images are generated for each patient and are
evaluated by a radiologist in the traditional sense of looking at each image in the axial mode.
This results in the potential to miss small nodules and thus potentially miss a cancer. In this

12
paper, we present a computerized method for automated identification of small lung nodules on
multislice images
DATAFLOW DIAGRAM:

A. Image Acquisition

Normally a special type of digital X-Ray machine is used to acquire detailed


pictures or scans of areas inside the body called computerized tomography (CT).
Computed tomography is an imaging procedure. The system has been collected
total 300 Lung CT images that are cancer and normal image of lung from the
Internet and Hospital. The system used Lung CT images that are jpeg file format.

13
B. Image Preprocessing
After Image Acquisition, images are passed through the image preprocessing
steps. Fig. 2 shows the block diagram of image preprocessing steps.

1) Gray Scale Conversion


RGB image converted into gray scale image by using the Matlab function
rgb2gray. It converts RGB image or color image to grayscale by eliminating the
hue and saturation information while retaining the luminance.

2) Normalization
Normalize the acquired image by using the Matlab function imresize. The
system uses imresize function with the value of 150 x 140 pixels and 200 x 250
pixels. This size gives enough information of the image when the processing time
is low.
3) Noise Reduction

To remove the noise the system used median filter i.e. medfilt2. Medfilt2 is
2-D median filter. Median filtering is a nonlinear operation often used in image
processing to reduce "salt and pepper" noise. A median filter is more effective than
convolution when the goal IS to simultaneously reduce noise and preserve edges.

4) Binary Image
Noise free gray scale image is converted to binary image, that is an image
with pixels O's (white) and I 's (black). To convert gray scale image into binary
image, the system use the Matlab function im2bw.

14
5) Remove unwanted portion of the image
Converting into binary image, we have to remove the unnecessary pixels (0)
from original image. This is done because we need to develop size independent
algorithm.

D. Segmentation
Image Segmentation in computer vision system, is the process of
partitioning a digital image into multiple segments. The goal of segmentation is to
simplify and/or change the representation of an image into more meaningful and
easier to analyze. Image segmentation is typically used to locate objects and
boundaries (lines, curves, etc.) in images. More precisely, image segmentation is
the process of assigning a label to every pixel in an image such that pixels with the
same label share certain characteristics. In the proposed system, segmentation
processes consists of different steps.

E. Thresholding Method
Thresholding method is based on a threshold value to turn a gray-scale
image into a binary image. The key idea of this method is to select the threshold
value (or values when multiple levels are selected). Recently, methods have been
developed for thresholding computed tomography (CT) images. The simplest
method of image segmentation is called the thresholding method. The proposed
system used three types of threshold value i.e. Threshlo Threshz, and Thresh3. In
binary CT image, if the percentage of white pixels is greater than the Thresh), then
full lung is affected. In segmented binary image, if the percentage of white pixels
is greater than the Thresh2 and Thresh3. then the right lung and left lung
respectively is affected.

15
F. Feature Extraction
The system has been used a rotation and size independent feature extraction
method to extract the feature of the lung cancer and finally obtain 33 features for
each type of lung cancer CT images.

G. Neural Network Detection


After the Thresholding method, rest of the Lung Cancer Detection System
uses neural network which is very efficient and reliable. After the feature
extraction process, these features are passed through the neural network to train up
the system for classification purpose or detection purpose. The whole proposed
training system of lung cancer detection consist of the following steps- Image
Acquisition, Image Preprocessing, Segmentation, Feature Extraction, Neural
Network Classification.

16
CHAPTER 3

SOFTWARE SPECIFICATION

3.1 GENERAL

This paper proposes a novel non rigid inter-subject multichannel image


registration method which combines information from different
modalities/channels to produce a unified joint registration. Multichannel images
are created using co-registered multimodality images of the same subject to utilize
information across modalities comprehensively. Contrary to the existing methods
which combine the information at the image/intensity level, the proposed method
uses feature-level information fusion method to spatio-adaptively combine the
complementary information from different modalities that characterize different
tissue types, through Gabor wavelets transformation and Independent Component
Analysis (ICA), to produce a robust inter-subject registration.

3.2 SOFTWARE REQUIREMENTS

MATLAB 7.14 Version


MATLAB

MATLAB is a high-performance language for technical computing. It


integrates computation, visualization, and programming in an easy-to-use
environment where problems and solutions are expressed in familiar mathematical
notation.

Typical uses include:

Math and computation

17
Algorithm development
Modeling, simulation, and prototyping
Data analysis, exploration, and visualization
Scientific and engineering graphics.
Application development, including Graphical User Interface building

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

3.3 INTRODUCTION

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 MuPADsymbolic 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.

18
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.

3.4 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.

19
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.

20
3.4.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 Mathematical.

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.

21
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,
22
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

23
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.

3.5 THE MATLAB SYSTEM

The MATLAB system consists of five main parts:

Development Environment.
This is the set of tools and facilities that help you use MATLAB
functions and files. Many of these tools are graphical user interfaces. It
includes the MATLAB desktop and Command Window, a command history,
and browsers for viewing help, the workspace, files, and the search path.

The MATLAB Mathematical Function Library.

24
This is a vast collection of computational algorithms ranging from
elementary functions like sum, sine, cosine, and complex arithmetic, to more
sophisticated functions like matrix inverse, matrix eigenvalues, Bessel
functions, and fast Fourier transforms.

The MATLAB Language.


This is a high-level matrix/array language with control flow
statements, functions, data structures, input/output, and object-oriented
programming features. It allows both "programming in the small" to rapidly
create quick and dirty throw-away programs, and "programming in the
large" to create complete large and complex application programs.

Handle Graphics.
This is the MATLAB graphics system. It includes high-level
commands for two-dimensional and three-dimensional data visualization,
image processing, animation, and presentation graphics. It also includes low-
level commands that allow you to fully customize the appearance of
graphics as well as to build complete graphical user interfaces on your
MATLAB applications.

The MATLAB Application Program Interface (API).


This is a library that allows you to write C and FORTRAN programs
that interact with MATLAB. It include facilities for calling routines from

25
MATLAB (dynamic linking), calling MATLAB as a computational engine,
and for reading and writing MAT-files.

3.5.1 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

26
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

27
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:

28
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

29
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

30
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

31
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

32
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 textediting, 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.

3.5.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

33
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

34
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.

3.5.3 PERFORMING NUMERIC COMPUTATION

MATLAB contains mathematical, statistical, and engineering functions to


support all common engineering and science operations. These functions,

35
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.

36
CONCLUSION

Lung cancer is one kind of dangerous diseases, so it is necessary to detect


early stages. But the detection of lung cancer is most difficult task. From the
literature review many techniques are used for the detection of lung cancer but they
have some limitations. In our proposed method pursue approaches in which first
step is binary thresholding, and then feature extraction, and then these features are
used to train up the neural network and test the neural network. The proposed
system successfully detects the lung cancer from CT scan images. At the end of the
system can say that the system achieve its desired expectation. The proposed
system test 150 types of lung CT images and obtains the result where overall
success rate of the system is 96.67% which meet the expectation of system. In
future this technique can be used in the detection of brain tumor, breast cancer etc.

37
REFERENCES

[I] G. Bhat, V. G. Biradar , H. S. Nalini, "Artificial Neural Network based


Cancer Cell Classification (ANN - C3)," Computer Engineering and
Intelligent Systems, vol. 3, no. 2, 2012.
[2] A. Path an, B. K. Saptalkar, "Detection and Classification of Lung Cancer
Using Artificial Neural Network," International Journal on Advanced
Computer Engineering and Communication Technology, vol. I Issue. I,
ISSN 2278-5140.
[3] D. Lin and C. Van, "Lung nodules identification rules extraction with neural
fuzzy network ", IEEE, Neural Information Processing, vol. 4, 2002.
[4] B. Zhao, G. Gamsu, M. S. Ginsberg, L. Jiang and L. H. Schwartz,
"Automatic detection of small lung nodules on CT utilizing a local density
maximum algorithm," journal of applied clinical medical physics, vol.
4,2003.
[5] A. EI-Baz, A. Farag, R. Falk, and R. L. Rocco,,"detection, visualization, and
identification of lung abnormalities in chest spiral CT scans: phase I,"
Information Conference on Biomedical Engineering, Egypt, 2002.
[6] B.V. Ginneken, B. M. Romeny and M. A. Viergever, "Computer-aided
diagnosis in chest radiography: a survey," IEEE, transactions on medical
imaging, vol. 20, no. 12,200l.
[7] D. Vaman, R. Prasad, "Lung Cancer Detection Using Image Processing
Techniques ", International Journal of Latest Trends in Engineering and
Technology (lJIl'ET), Vol. 3 Issue 1 September 2013.
[8] D. Sharma and G. Jindal, "Identifying Lung Cancer Using Image Processing
Techniques," International Conference on Computational Techniques and
ArtifiCial Intelligence (ICCTAf'2011), 2011, pp. 115- 120.
38
[9] A. Chaudhary and S. S. Singh, "Lung Cancer Detection Using Digital Image
Processing," International Journal of Research in Engineering and Applied
Sciences (IJREAS), vol. 2 , no. 2, Feb. 2012 , pp. 1351- 1359.
[10] Ada and R. Kaur, "Early Detection and Prediction of Lung Cancer Survival
using Neural Network Classifier," International Journal of Application or
Innovation in Engineering and Management (IJAIEM), vol. 2, no. 6, June,
2013, pp. 385-383.
[II] D. Vaman, R. Prasad, "Lung Cancer Detection Using Image Processing
Techniques," International Journal of Latest Trends in Engineering and
Technology (IJLTET), vol. 3, no. 1, September, 2013 ,pp. 372-378.
[12] B. Gupta and S. Tiwari, " Lung Cancer Detection using Curvelet Transform
and Neural Network," International Journal of Computer Applications, vol.
86 , no.l, Jan. 2014, pp. 15-17.
[13] C. M. Niranjana, J. Dhananandhini, K. Rajeswari, A. Dhivya, "A New
Approaches of Lung Segmentation Using Neuro-Fuzzy Network,"
International Journal of Soft Computing and Engineering (IJSCE), vol. 3,
no. 6, Jan. 2014, pp. 52-54.
[14] Mr. S. A. Dwivedi, Mr. R. P. Borse and Mr. A. M. Yametkar, "Lung Cancer
detection and Classification by using Machine Learning and Multinomial
Bayesian," IOSR Journal of Electronics and Communication Engineering
(IOSR-JECE), vol. 9, no. I, Jan. 2014, pp. 69-75.
[15] A. M. Yametkar and R. D. Patane, "Lung Cancer Detection and
Classification by Using Bayesian Classifier," Proceedings of IRF
International Conference, Feb. 2014, pp.7-13.
[16] G. Vijaya, A. Suhasini and R. Priya, "Automatic Detection of Lung Cancer
in CT Images," IJRET: International Journal of Research in Engineering and
Technology, vol. 3, no.7, May, 2014, pp. 182-186.
39
[17] G. Kaur and H. Singh, "Lung Cancer Detection Using BPNN and SVM,"
International Journal of Latest Scientific Research and Technology, vol. 1,
no. 2, Jul. 2014, pp.95-98.
[18] N. Sharma and Sheenam, "Size Estimation of Lung Cancer Using Image
Segmentation and Back Propagation," International Journal for Research in
Technological Studies, vol. 1, no. 9, Aug. 2014, pp. 14-17.
[19] K. Sankar and DR. M. Prabakaran, "Gray Coefficient Mass Estimation
Based Image Segmentation Technique For Lung Cancer Detection Using
Gabor Filters," Journal of Theoretical and Applied Information Technology,
vol. 66 , no. 2, Aug. 2014, pp. 638-644.

40