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 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 Processor
Digital Computer
Operator Console
Hard Copy Device Display
FIG 1.1 BLOCK DIAGRAM FOR IMAGE PROCESSING SYSTEM
2
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 Processor
Digital Computer
Operator 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
Domain
Acquisition
Preprocessing
Segmentation
Representation & Description
n
Knowledge Base
Recognition &
Result
interpretation
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 a re 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 image’s 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 d etection 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 * , M ember, I E E E – 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 thinslice 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 t o 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)
computing environment
is
and fourth-generation
a numerical
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
Design for dynamic and embedded systems.
18
and Model-Based
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 MacroInvestment 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 MATL AB 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 lowlevel 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