0% found this document useful (0 votes)
17 views87 pages

Final Report

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
17 views87 pages

Final Report

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 87

Automated Segmentation of Brain Tumor

MRI Images Using Deep Learning


ABSTRACT
• Segmenting brain tumors automatically using MR data is crucial for disease
investigation

• and monitoring. Due to the aggressive nature and diversity of gliomas, well-
organized and exact segmentation methods are used to classify tumors intra-
tumorally.

• The proposed technique uses a feature extraction of features approach to


strip out unwanted details from the images.

• In comparison with the current state of the art, the accuracy of brain tumor
segmentation was significantly improved using Convolutional Neural
Networks, which are frequently used in the field of biomedical image
segmentation.

INTRODUCTION
Tumor is an uncontrolled growth of cancer cells in any part of the body. Tumors
are of different types and have different characteristics and different treatments. At
present, brain tumors are classified as primary brain tumors and metastatic brain
tumors. The former begin in the brain and tend to stay in the brain, the latter begin
as a cancer elsewhere in the body and spreading to the brain. Brain tumor
segmentation is one of the crucial procedures in surgical and treatment planning.
Brain tumor segmentation using MRI has been an intense research area. Brain
tumors can have various sizes and shapes and may appear at different locations.
Varying intensity of tumors in brain magnetic resonance images (MRI) makes the
automatic segmentation of tumors extremely challenging. There are various
intensity based techniques which have been proposed to segment tumors on
magnetic resonance images. Texture is one of most popular feature for image
classification and retrieval. The multifractal texture estimation methods are more
time consuming. A texture based image segmentation using GLCM (Gray-Level
Co-occurrence Matrix) combined with AdaBoost classifier is proposed here. From
the MRI images of brain, the optimal texture features of brain tumor are extracted
by utilizing GLCM. Then using these features AdaBoost classifier algorithm
classifies the tumor and non-tumor tissues and tumor is segmented. This method
provides more efficient brain tumor segmentation compared to the segmentation
technique based on mBm and will provide more accurate result. Tumor is the
abnormal growth of the tissues. A brain tumor is a mass of unnecessary cells
growing in the brain or central spine canal. Brain cancer can be counted among the
most deadly and intractable diseases. Today, tools and methods to analyse tumors
and their behaviour are becoming more prevalent. Clearly, efforts over the past
century have yielded real advances. However, we have also come to realize that
gains in survival must be enhanced by better diagnosis tools. Although we have yet
to cure brain tumours, clear steps forward have been taken toward reaching this
ultimate goal, more and more researchers have incorporated measures into clinical
trials each advance injects hope to the team of caregivers and more importantly, to
those who live with this diagnosis. Magnetic Resonance Imaging (MRI) has
become a widely-used method of high-quality medical imaging, especially in brain
imaging where MRI’s soft tissue contrast and non-invasiveness are clear
advantages. An important use of MRI data is tracking the size of brain tumor as it
responds treatment. Therefore, an automatic and reliable method for segmenting
tumor would be a useful tool. MRI provides a digital representation of tissue
characteristics that can be obtained in any tissue plane. The images produced by an
MRI scanner are best described as slices through the brain. MRI has the added
advantage of being able to produce images which slice through the brain in both
horizontal and vertical planes. This makes the MRI-scan images an ideal source for
detecting, identifying and classifying the right infected regions of the brain. Most
of the current conventional diagnosis techniques are based on human experience in
interpreting the MRI-scan for judgment; certainly this increases the possibility to
false detection and identification of the brain tumor. On the other hand, applying
digital image processing ensures the quick and precise detection of the tumor. One
of the most effective techniques to extract information from complex medical
images that has wide application in medical field is the segmentation process. The
main objective of the image segmentation is to partition an image into mutually
exclusive and exhausted regions such that each region of interest is spatially
contiguous and the pixels within the region are homogenous with respect to a
predefined criterion. The cause of most cases is unknown. Risk factors that may
occasionally be involved include: a number of genetic syndrome such as
neurofibromatosis as well as exposure to the chemical vinyl chloride, Epstein-Barr
virus, and ionizing radiation.

Magnetic resonance imaging (MRI) is the prime technique to diagnose brain


tumors and monitor their treatment. Different MRI modalities of each patient are
acquired and these images are interpreted by computer-based image analysis
methods in order to handle the complexity as well as constraints on time and
objectiveness. In this thesis, two major novel approaches for analyzing tumor-
bearing brain images in an automatic way are presented: Multi-modal tissue
classification with integrated regularization can segment healthy and pathologic
brain tissues including their sub-compartments to provide quantitative volumetric
information. The method has been evaluated with good results on a large number
of clinical and synthetic images. The fast run-time of the algorithm allows for an
easy integration into the clinical work flow. An extension has been proposed for
integrated segmentation of longitudinal patient studies, which has been assessed on
a small dataset from a multi-center clinical trial with promising results. Atlas-based
segmentation with integrated tumor-growth modeling has been shown to be a
suitable means for segmenting the healthy brain structures surrounding the tumor.
Tumor-growth modeling offers a way to cope with the missing tumor prior in the
atlas during registration. To this end, two different tumor-growth models have been
compared. While a simplistic tumor growth model offered advantages in
computation speed, a more sophisticated multi-scale tumor growth model showed
better potential to provide a more realistic and meaningful prior for atlas-based
segmentation. Both approaches have been combined into a generic framework for
analyzing tumor-bearing brain images, which makes use of all the image
information generally available in clinics. This segmentation framework paves the
way for better diagnosis, treatment planning and monitoring in radiotherapy and
neurosurgery of brain tumors.

DOMAIN EXPLANATION

IMAGE PROCESSING

1.1 What is an image?

An image is an array, or a matrix, of square pixels (picture elements)


arranged in columns and rows.

Figure 1: An image — an array or a matrix


of pixels arranged in columns and rows.
In a (8-bit) greyscale image each picture element has an assigned intensity that
ranges from 0 to 255. A grey scale image is what people normally call a black and
white image, but the name emphasizes that such an image will also include many
shades of grey.

Figure 2: Each pixel has a value from 0 (black) to 255 (white). The possible
range of the pixel values depend on the colour depth of the image, here 8 bit =
256 tones or greyscales.

A normal grayscale image has 8 bit


colour depth = 256 grayscales. A “true
colour” image has 24 bit colour depth =
8 x 8 x 8 bits = 256 x 256 x 256 colours
= ~16 million colours.
Figure 3: A true-colour image assembled from three grayscale images
coloured red, green and blue. Such an image may contain up to 16 million
different colours.

Some grayscale images have more grayscales, for instance 16 bit = 65536
grayscales. In principle three grayscale images can be combined to form an image
with 281,474,976,710,656 grayscales.

There are two general groups of ‘images’: vector graphics (or line art) and bitmaps
(pixel-based or ‘images’). Some of the most common file formats are:

GIF — an 8-bit (256 colour), non-destructively compressed bitmap format.


Mostly used for web. Has several sub-standards one of which is the
animated GIF.

JPEG — a very efficient (i.e. much information per byte) destructively


compressed 24 bit (16 million colours) bitmap format. Widely used,
especially for web and Internet (bandwidth-limited).

TIFF — the standard 24 bit publication bitmap format. Compresses non-


destructively with, for instance, Lempel-Ziv-Welch (LZW) compression.

PS — Postscript, a standard vector format. Has numerous sub-standards and can


be difficult to transport across platforms and operating systems.

PSD – a dedicated Photoshop format that keeps all the information in an image
including all the layers.

Pictures are the most common and convenient means of conveying or


transmitting information. A picture is worth a thousand words. Pictures concisely
convey information about positions, sizes and inter relationships between objects.
They portray spatial information that we can recognize as objects. Human beings
are good at deriving information from such images, because of our innate visual
and mental abilities. About 75% of the information received by human is in
pictorial form. An image is digitized to convert it to a form which can be stored in
a computer's memory or on some form of storage media such as a hard disk or CD-
ROM. This digitization procedure can be done by a scanner, or by a video camera
connected to a frame grabber board in a computer. Once the image has been
digitized, it can be operated upon by various image processing operations.

Image processing operations can be roughly divided into three major


categories, Image Compression, Image Enhancement and Restoration, and
Measurement Extraction. It involves reducing the amount of memory needed to
store a digital image. Image defects which could be caused by the digitization
process or by faults in the imaging set-up (for example, bad lighting) can be
corrected using Image Enhancement techniques. Once the image is in good
condition, the Measurement Extraction operations can be used to obtain useful
information from the image. Some examples of Image Enhancement and
Measurement Extraction are given below. The examples shown all operate on 256
grey-scale images. This means that each pixel in the image is stored as a number
between 0 to 255, where 0 represents a black pixel, 255 represents a white pixel
and values in-between represent shades of grey. These operations can be extended
to operate on colour images. The examples below represent only a few of the many
techniques available for operating on images. Details about the inner workings of
the operations have not been given, but some references to books containing this
information are given at the end for the interested reader.

Images and pictures

As we mentioned in the preface, human beings are predominantly visual


creatures: we rely heavily on our vision to make sense of the world around us. We
not only look at things to identify and classify them, but we can scan for
differences, and obtain an overall rough feeling for a scene with a quick glance.
Humans have evolved very precise visual skills: we can identify a face in an
instant; we can differentiate colors; we can process a large amount of visual
information very quickly.

However, the world is in constant motion: stare at something for long


enough and it will change in some way. Even a large solid structure, like a building
or a mountain, will change its appearance depending on the time of day (day or
night); amount of sunlight (clear or cloudy), or various shadows falling upon it.
We are concerned with single images: snapshots, if you like, of a visual scene.
Although image processing can deal with changing scenes, we shall not discuss it
in any detail in this text. For our purposes, an image is a single picture which
represents something. It may be a picture of a person, of people or animals, or of
an outdoor scene, or a microphotograph of an electronic component, or the result
of medical imaging. Even if the picture is not immediately recognizable, it will not
be just a random blur.

Image processing involves changing the nature of an image in order to either

1. Improve its pictorial information for human interpretation,

2. Render it more suitable for autonomous machine perception.

We shall be concerned with digital image processing, which involves using a


computer to change the nature of a digital image. It is necessary to realize that
these two aspects represent two separate but equally important aspects of image
processing. A procedure which satisfies condition, a procedure which makes an
image look better may be the very worst procedure for satisfying condition.
Humans like their images to be sharp, clear and detailed; machines prefer their
images to be simple and uncluttered.

Images and digital images

Suppose we take an image, a photo, say. For the moment, lets make things
easy and suppose the photo is black and white (that is, lots of shades of grey), so
no colour. We may consider this image as being a two dimensional function, where
the function values give the brightness of the image at any given point. We may
assume that in such an image brightness values can be any real numbers in the
range (black) (white).

A digital image from a photo in that the values are all discrete. Usually they
take on only integer values. The brightness values also ranging from 0 (black) to
255 (white). A digital image can be considered as a large array of discrete dots,
each of which has a brightness associated with it. These dots are called picture
elements, or more simply pixels. The pixels surrounding a given pixel constitute its
neighborhood. A neighborhood can be characterized by its shape in the same way
as a matrix: we can speak of a neighborhood,. Except in very special
circumstances, neighborhoods have odd numbers of rows and columns; this
ensures that the current pixel is in the centre of the neighborhood.

Image Processing Fundamentals:

Pixel:

In order for any digital computer processing to be carried out on an image, it


must first be stored within the computer in a suitable form that can be manipulated
by a computer program. The most practical way of doing this is to divide the image
up into a collection of discrete (and usually small) cells, which are known as
pixels. Most commonly, the image is divided up into a rectangular grid of pixels,
so that each pixel is itself a small rectangle. Once this has been done, each pixel is
given a pixel value that represents the color of that pixel. It is assumed that the
whole pixel is the same color, and so any color variation that did exist within the
area of the pixel before the image was discretized is lost. However, if the area of
each pixel is very small, then the discrete nature of the image is often not visible to
the human eye.

Other pixel shapes and formations can be used, most notably the hexagonal grid, in
which each pixel is a small hexagon. This has some advantages in image
processing, including the fact that pixel connectivity is less ambiguously defined
than with a square grid, but hexagonal grids are not widely used. Part of the reason
is that many image capture systems (e.g. most CCD cameras and scanners)
intrinsically discretize the captured image into a rectangular grid in the first
instance.

Pixel Connectivity

The notation of pixel connectivity describes a relation between two or more pixels.
For two pixels to be connected they have to fulfill certain conditions on the pixel
brightness and spatial adjacency.

First, in order for two pixels to be considered connected, their pixel values must
both be from the same set of values V. For a grayscale image, V might be any
range of graylevels, e.g. V={22,23,...40}, for a binary image we simple have
V={1}.

To formulate the adjacency criterion for connectivity, we first introduce the


notation of neighborhood. For a pixel p with the coordinates (x,y) the set of pixels
given by:
is called its 4-neighbors. Its 8-neighbors are defined as

From this we can infer the definition for 4- and 8-connectivity:

Two pixels p and q, both having values from a set V are 4-connected if q is from

the set and 8-connected if q is from .

General connectivity can either be based on 4- or 8-connectivity; for the following


discussion we use 4-connectivity.

A pixel p is connected to a pixel q if p is 4-connected to q or if p is 4-connected to


a third pixel which itself is connected to q. Or, in other words, two pixels q and p
are connected if there is a path from p and q on which each pixel is 4-connected to
the next one.

A set of pixels in an image which are all connected to each other is called a
connected component. Finding all connected components in an image and marking
each of them with a distinctive label is called connected component labeling.

An example of a binary image with two connected components which are based on
4-connectivity can be seen in Figure 1. If the connectivity were based on 8-
neighbors, the two connected components would merge into one.
Figure 1 Two connected components based on 4-connectivity.

Pixel Values

Each of the pixels that represents an image stored inside a computer has a pixel
value which describes how bright that pixel is, and/or what color it should be. In
the simplest case of binary images, the pixel value is a 1-bit number indicating
either foreground or background. For a gray scale images, the pixel value is a
single number that represents the brightness of the pixel. The most common pixel
format is the byte image, where this number is stored as an 8-bit integer giving a
range of possible values from 0 to 255. Typically zero is taken to be black, and 255
is taken to be white. Values in between make up the different shades of gray.

To represent colour images, separate red, green and blue components must be
specified for each pixel (assuming an RGB colour space), and so the pixel `value'
is actually a vector of three numbers. Often the three different components are
stored as three separate `grayscale' images known as color planes (one for each of
red, green and blue), which have to be recombined when displaying or processing.
Multispectral Images can contain even more than three components for each pixel,
and by extension these are stored in the same kind of way, as a vector pixel value,
or as separate color planes.

The actual grayscale or color component intensities for each pixel may not actually
be stored explicitly. Often, all that is stored for each pixel is an index into a colour
map in which the actual intensity or colors can be looked up.

Although simple 8-bit integers or vectors of 8-bit integers are the most common
sorts of pixel values used, some image formats support different types of value, for
instance 32-bit signed integers or floating point values. Such values are extremely
useful in image processing as they allow processing to be carried out on the image
where the resulting pixel values are not necessarily 8-bit integers. If this approach
is used then it is usually necessary to set up a colormap which relates particular
ranges of pixel values to particular displayed colors.

Pixels, with a neighborhood:

Color scale

The two main color spaces are RGB and CMYK.

RGB
The RGB color model is an additive color model in which red, green, and blue
light are added together in various ways to reproduce a broad array of colors. RGB
uses additive color mixing and is the basic color model used in television or any
other medium that projects color with light. It is the basic color model used in
computers and for web graphics, but it cannot be used for print production.

The secondary colors of RGB – cyan, magenta, and yellow – are formed by mixing
two of the primary colors (red, green or blue) and excluding the third color. Red
and green combine to make yellow, green and blue to make cyan, and blue and red
form magenta. The combination of red, green, and blue in full intensity makes
white.[figure4]

Figure [4]: The additive model of RGB. Red, green, and blue are the primary
stimuli for human color perception and are the primary additive colours.

To see how different RGB components combine together, here is a selected


repertoire of colors and their respective relative intensities for each of the red,
green, and blue components:
*Typical uses of PYTHON include:-

- Math and computation.

-Algorithm development

-Data acquisition

-Modeling, simulation, and prototyping

-Data analysis, exploration, and visualization

-Scientific and engineering graphics

-Application development, including graphical user interface building

Some applications:

Image processing has an enormous range of applications; almost every area of


science and technology can make use of image processing methods. Here is a short
list just to give some indication of the range of image processing applications.

1. Medicine
 Inspection and interpretation of images obtained from X-rays, MRI or CAT
scans,

 Analysis of cell images, of chromosome karyotypes.

2. Agriculture

 Satellite/aerial views of land, for example to determine how much land is


being used for different purposes, or to investigate the suitability of different
regions for different crops,

 Inspection of fruit and vegetables distinguishing good and fresh produce


from old.

3. Industry

 Automatic inspection of items on a production line,

 Inspection of paper samples.

4. Law enforcement

 Fingerprint analysis,

 Sharpening or de-blurring of speed-camera images.

Aspects of image processing:

It is convenient to subdivide different image processing algorithms into broad


subclasses. There are different algorithms for different tasks and problems, and
often we would like to distinguish the nature of the task at hand.
 Image enhancement: This refers to processing an image so that the result is
more suitable for a particular application.

Example include:

 sharpening or de-blurring an out of focus image,

 highlighting edges,

 improving image contrast, or brightening an image,

 Removing noise.

 Image restoration. This may be considered as reversing the damage done to


an image by a known cause, for example:

 removing of blur caused by linear motion,

 removal of optical distortions,

 Removing periodic interference.

 Image segmentation. This involves subdividing an image into constituent


parts, or isolating certain aspects of an image:

 circles, or particular shapes in an image,

 In an aerial photograph, identifying cars, trees, buildings, or roads.

These classes are not disjoint; a given algorithm may be used for both image
enhancement or for image restoration. However, we should be able to decide what
it is that we are trying to do with our image: simply make it look better
(enhancement), or removing damage (restoration).
An image processing task

We will look in some detail at a particular real-world task, and see how the above
classes may be used to describe the various stages in performing this task. The job
is to obtain, by an automatic process, the postcodes from envelopes. Here is how
this may be accomplished:

 Acquiring the image: First we need to produce a digital image from a paper
envelope. This can be done using either a CCD camera, or a scanner.

 Preprocessing: This is the step taken before the major image processing
task. The problem here is to perform some basic tasks in order to render the
resulting image more suitable for the job to follow. In this case it may
involve enhancing the contrast, removing noise, or identifying regions likely
to contain the postcode.

 Segmentation: Here is where we actually get the postcode; in other words


we extract from the image that part of it which contains just the postcode.

 Representation and description These terms refer to extracting the


particular features which allow us to differentiate between objects. Here we
will be looking for curves, holes and corners which allow us to distinguish
the different digits which constitute a postcode.

 Recognition and interpretation: This means assigning labels to objects


based on their descriptors (from the previous step), and assigning meanings
to those labels. So we identify particular digits, and we interpret a string of
four digits at the end of the address as the postcode.
EXISTING SYSTEM
The existing system describe a novel algorithm for interactive multilabel
segmentation of N-dimensional images. Given a small number of user-labelled
pixels, the rest of the image is segmented automatically by a Cellular Automaton.
The process is iterative, as the automaton labels the image, user can observe the
segmentation evolution and guide the algorithm with human input where the
segmentation is difficult to compute. In the areas, where the segmentation is
reliably computed automatically no additional user effort is required. Results of
segmenting generic photos and medical images are presented. Our experiments
show that modest user effort is required for segmentation of moderately hard
images. The existing system take an intuitive user interaction scheme - user
specifies certain image pixels (we will call them seed pixels) that belong to objects
that should be segmented from each other. The task is to assign labels to all other
image pixels automatically, preferably achieving the segmentation result the user is
expecting to get. The task statement and input data is similar to and, however the
segmentation instrument differs. Our method uses cellular automaton for solving
pixel labelling task. The method is iterative, giving feedback to the user while the
segmentation is computed. Proposed method allows (but not requires) human input
during labelling process, to provide dynamic interaction and feedback between the
user and the algorithm. This allows to correcting and guidance of the algorithm
with user input in the areas where the segmentation is difficult to compute, yet
does not require additional user effort where the segmentation is reliably computed
automatically. One important difference from the methods based on graph cuts is
that seeds do not necessarily specify hard segmentation constraints. In other words
- user brush strokes need not to specify only the areas of firm foreground or firm
background, but instead can adjust the pixels state continuously, making them
‘more foreground’ or ‘a little more background’ for example. This gives more
versatile control of the segmentation from the user part and makes the process
tolerable to inaccurate paint strokes. As we have already emphasized in the
introduction, our hope is to stir up the research community, motivating to search
new ideas in the field of cellular automata and evolutionary computation and
applying them to interactive image segmentation. We expect that results exceeding
our current can be obtained. However, our current method can already compete
with elegant achievements of graph theory. In this section we will try to compare
current top performing methods with ours and point out advantages and
disadvantages of our scheme. We take four methods - Graph Cuts, GrabCut,
Random Walker and GrowCut and compare them by several criteria: segmentation
quality, speed and convenience for the user. Accurately speaking, the methods
differ seriously by the amount of information that they extract from the image.
GrabCut uses most information - it computes the evolving color statistics of
foreground and background and takes into account color difference between
neighboring pixels. Graph Cuts differs in using color statistics collected from the
user-specified seeds only, computed before the segmentation start. Random Walker
uses only intensity difference between neighboring pixels. Our current GrowCut
variant also does not take advantage of object color statistics, however it can be
easily extended to maintain regions color statistics and use them in automaton
evolution. The performance of described photo editing methods was evaluated in
(except for the intelligent paint). The authors have clearly shown, that methods
based on graph cuts allow achieving better segmentation results with less user
effort required, compared with other methods. One of the few drawbacks of the
graph-based methods is that they are not easily extended to multi-label task and the
other is that they are not very flexible - the only tunable parameters are the graph
weighting and cost function coefficients. For example, additional restrictions on
the object boundary smoothness or soft user-specified segmentation constraints
cannot be added readily. As for the intelligent paint, judging by the examples
supplied by the authors, the advantage of their method over the traditional ‘magic
wand’ is in speed and number of user interactions. As it appears from the algorithm
description and presented results, it is unlikely that intelligent paint would be
capable of solving hard segmentation problems. Precise object boundary
estimation is also questionable, because the finest segmentation level is obtained
by initial tobogganing over segmentation, which may not coincide with actual
object borders. Speaking about medical images, the best performing method is
random walker (judging by the provided examples). It leaves behind both
watershed segmentation and region growing behind in quality and robustness of
segmentation. The quality of segmentation comparable to is graph cuts, but random
walker is capable of finding the solution for number of labels >2. However, it is
rather slow and its implementation is not an easy task. Also, method extension to
achieve some special algorithm properties (i.e. controllable boundary smoothness)
is not straightforward. It should be mentioned, that multi-labelling tasks can be
solved by min-cut graph algorithms, but no attempt to apply this multi-labelling
method to interactive image segmentation is known to us. The process is iterative,
as the automaton labels the image, user can observe the segmentation evolution
and guide the algorithm with human input where the segmentation is difficult to
compute.

Disadvantages:

 This method was limited to enhancing tumors with clear enhancing edges.
 This method works with two labels only - object and background.
 One of the few drawbacks of the graph-based methods is that they are not
easily extended to multi-label task
 The other is that they are not very flexible
 The only tunable parameters are the graph weighting and cost function
coefficients.
PROPOSED SYSTEM
• The system proposed a novel semi-automatic segmentation method based on
population and individual statistical information to segment brain tumors in
magnetic resonance (MR) images.

• The probability of each pixel belonging to the foreground (tumor) and the
back ground is estimated by the k NN classifier under the learned optimal
distance metrics.

• A new cost function for segmentation is constructed through these


probabilities and is optimized using graph cuts.
• It can easily be realized that the full or semi-automatic watersheds-based
methods are in fact region growing methods constrained, at the beginning,
by the competition between the different seeds and then by the different
already grown regions.

Advantages:

 It improve the achieved segmentation results.


 They are equivalent to the separations induced by minimum spanning forests
relative to the regional minima.
 It not only show the detailed and complete aspects of brain tumors, but also
improve clinical doctors to study the mechanism of brain tumors at the aim
of better treatment.
 The proposed method overcomes segmentation difficulties caused by the
uneven gray level distribution of the tumors.
 It is very efficient.

Flow Diagram:
TESTING OF PRODUCT
Testing of Product:
System testing is the stage of implementation, which aimed at
ensuring that system works accurately and efficiently before the live operation
commence. Testing is the process of executing a program with the intent of finding
an error. A good test case is one that has a high probability of finding an error. A
successful test is one that answers a yet undiscovered error.

Testing is vital to the success of the system. System testing makes a


logical assumption that if all parts of the system are correct, the goal will be
successfully achieved. The candidate system is subject to variety of tests-on-line
response, Volume Street, recovery and security and usability test. A series of tests
are performed before the system is ready for the user acceptance testing. Any
engineered product can be tested in one of the following ways. Knowing the
specified function that a product has been designed to from, test can be conducted
to demonstrate each function is fully operational. Knowing the internal working of
a product, tests can be conducted to ensure that “al gears mesh”, that is the internal
operation of the product performs according to the specification and all internal
components have been adequately exercised.

UNIT TESTING:

Unit testing is the testing of each module and the integration of the overall
system is done. Unit testing becomes verification efforts on the smallest unit of
software design in the module. This is also known as ‘module testing’. The
modules of the system are tested separately. This testing is carried out during the
programming itself. In this testing step, each model is found to be working
satisfactorily as regard to the expected output from the module. There are some
validation checks for the fields. For example, the validation check is done for
verifying the data given by the user where both format and validity of the data
entered is included. It is very easy to find error and debug the system.

INTEGRATION TESTING:

Data can be lost across an interface, one module can have an adverse
effect on the other sub function, when combined, may not produce the desired
major function. Integrated testing is systematic testing that can be done with
sample data. The need for the integrated test is to find the overall system
performance. There are two types of integration testing. They are:

i) Top-down integration testing.


ii) Bottom-up integration testing.

WHITE BOX TESTING:

White Box testing is a test case design method that uses the control
structure of the procedural design to drive cases. Using the white box testing
methods, we derived test cases that guarantee that all independent paths within a
module have been exercised at least once.

BLACK BOX TESTING:

 Black box testing is done to find incorrect or missing function


 Interface error
 Errors in external database access
 Performance errors
 Initialization and termination errors
In ‘functional testing’, is performed to validate an application conforms to its
specifications of correctly performs all its required functions. So this testing is also
called ‘black box testing’. It tests the external behavior of the system. Here the
engineered product can be tested knowing the specified function that a product has
been designed to perform, tests can be conducted to demonstrate that each function
is fully operational.

VALIDATION TESTING:

After the culmination of black box testing, software is completed


assembly as a package, interfacing errors have been uncovered and corrected and
final series of software validation tests begin validation testing can be defined as
many, but a single definition is that validation succeeds when the software
functions in a manner that can be reasonably expected by the customer.

USER ACCEPTANCE TESTING:

User acceptance of the system is the key factor for the success of the
system. The system under consideration is tested for user acceptance by constantly
keeping in touch with prospective system at the time of developing changes
whenever required.

OUTPUT TESTING:

After performing the validation testing, the next step is output asking the
user about the format required testing of the proposed system, since no system
could be useful if it does not produce the required output in the specific format.
The output displayed or generated by the system under consideration. Here the
output format is considered in two ways. One is screen and the other is printed
format. The output format on the screen is found to be correct as the format was
designed in the system phase according to the user needs. For the hard copy also
output comes out as the specified requirements by the user. Hence the output
testing does not result in any connection in the system.

System Implementation:

Implementation of software refers to the final installation of the


package in its real environment, to the satisfaction of the intended users and the
operation of the system. The people are not sure that the software is meant to make
their job easier.

 The active user must be aware of the benefits of using the system
 Their confidence in the software built up
 Proper guidance is impaired to the user so that he is comfortable in
using the application

Before going ahead and viewing the system, the user must know that for
viewing the result, the server program should be running in the server. If the server
object is not running on the server, the actual processes will not take place.

User Training:

To achieve the objectives and benefits expected from the proposed system
it is essential for the people who will be involved to be confident of their role in the
new system. As system becomes more complex, the need for education and
training is more and more important.

Education is complementary to training. It brings life to formal training


by explaining the background to the resources for them. Education involves
creating the right atmosphere and motivating user staff. Education information can
make training more interesting and more understandable.

Training on the Application Software:

After providing the necessary basic training on the computer


awareness, the users will have to be trained on the new application software. This
will give the underlying philosophy of the use of the new system such as the screen
flow, screen design, type of help on the screen, type of errors while entering the
data, the corresponding validation check at each entry and the ways to correct the
data entered. This training may be different across different user groups and across
different levels of hierarchy.

Operational Documentation:

Once the implementation plan is decided, it is essential that the user


of the system is made familiar and comfortable with the environment. A
documentation providing the whole operations of the system is being developed.
Useful tips and guidance is given inside the application itself to the user. The
system is developed user friendly so that the user can work the system from the
tips given in the application itself.

System Maintenance:

The maintenance phase of the software cycle is the time in which


software performs useful work. After a system is successfully implemented, it
should be maintained in a proper manner. System maintenance is an important
aspect in the software development life cycle. The need for system maintenance is
to make adaptable to the changes in the system environment. There may be social,
technical and other environmental changes, which affect a system which is being
implemented. Software product enhancements may involve providing new
functional capabilities, improving user displays and mode of interaction, upgrading
the performance characteristics of the system. So only thru proper system
maintenance procedures, the system can be adapted to cope up with these changes.
Software maintenance is of course, far more than “finding mistakes”.

Corrective Maintenance:

The first maintenance activity occurs because it is unreasonable to


assume that software testing will uncover all latent errors in a large software
system. During the use of any large program, errors will occur and be reported
to the developer. The process that includes the diagnosis and correction of one or
more errors is called Corrective Maintenance.

Adaptive Maintenance:

The second activity that contributes to a definition of maintenance


occurs because of the rapid change that is encountered in every aspect of
computing. Therefore Adaptive maintenance termed as an activity that modifies
software to properly interfere with a changing environment is both necessary and
commonplace.

Perceptive Maintenance:
The third activity that may be applied to a definition of maintenance
occurs when a software package is successful. As the software is used,
recommendations for new capabilities, modifications to existing functions, and
general enhancement are received from users. To satisfy requests in this category,
Perceptive maintenance is performed. This activity accounts for the majority of all
efforts expended on software maintenance.

Preventive Maintenance:

The fourth maintenance activity occurs when software is changed to


improve future maintainability or reliability, or to provide a better basis for future
enhancements. Often called preventive maintenance, this activity is characterized
by reverse engineering and re-engineering techniques.
MODULES:

• Input Image

• Pre-Processing

• Binarization & Masking

• Segmentation

• Feature Extraction

• Classification

• Analysis
MODULE DESCRIPTION

Input Image:

• Read an image into the workspace, using the imread command. The example
reads one of the sample images included with the toolbox, an image, and
stores it in an array named I . imread infers from the file that the graphics
file format is Tagged Image File Format (TIFF).

• Display the image, using the imshow function. You can also view an image
in the Image Viewer app. The imtool function opens the Image Viewer app
which presents an integrated environment for displaying images and
performing some common image processing tasks.

• The Image Viewer app provides all the image display capabilities of imshow
but also provides access to several other tools for navigating and exploring
images, such as scroll bars, the Pixel Region tool, Image Information tool,
and the Contrast Adjustment tool.

• Preprocessing :

• Image Resize

• In computer graphics and digital imaging, scaling refers to the


resizing of a digital image. In video technology, the magnification of
digital material is known as up-scaling or resolution enhancement.

• When scaling a vector graphic image, the graphic primitives which


make up the image can be scaled using geometric transformations,
without any loss of image quality. When scaling a raster graphics
image, a new image with a higher or lower number of pixels must be
generated.

• Preprocessing :

• In the case of decreasing the pixel number (scaling down) this usually
results in a visible quality loss. From the standpoint of digital signal
processing, the scaling of raster graphics is a two-dimensional
example of sample rate conversion, the conversion of a discrete signal
from a sampling rate (in this case the local sampling rate) to another.

Segmentation

• The color information in each image region can be represented by a few


quantized colors, which is true for most color images of natural scenes.

• The colors between two neighboring regions are distinguishable - a basic


assumption of any color image segmentation algorithm.

• Image segmentation is the process of partitioning a digital image into


multiple segments (sets of pixels, also known as superpixels).

• The goal of segmentation is to simplify and/or change the representation of


an image into something that is 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.
• The result of image segmentation is a set of segments that collectively cover
the entire image, or a set of contours extracted from the image

Binarization:

• The binary image pixel values are to apply the delay register type model and
to store the pixel values.

• Then to set the minimum threshold value between the two pixels variations
limits. A mask is a filter. Concept of masking is also known as spatial
filtering. Masking is also known as filtering.

• In this concept we just deal with the filtering operation that is performed
directly on the image.

• Mask is a small matrix useful for blurring, sharpening, embossing, edge-


detection, and more. This is accomplished by means of convolution between
a kernel and an image.

Feature Extraction:

• In machine learning, pattern recognition and in image processing,


feature extraction starts from an initial set of measured data and builds
derived values (features) intended to be informative and non-
redundant, facilitating the subsequent learning and generalization
steps, and in some cases leading to better human interpretations.

• Feature extraction is related to dimensionality reduction.

Classification:

• In machine learning and statistics, classification is the problem of


identifying to which of a set of categories (sub-populations) a new
observation belongs, on the basis of a training set of data containing
observations (or instances) whose category membership is known.

• Examples are assigning a given email to the "spam" or "non-spam"


class, and assigning a diagnosis to a given patient based on observed
characteristics of the patient (sex, blood pressure, presence or absence
of certain symptoms, etc.).

• Classification is an example of pattern recognition.

Performance analysis:

• Estimations:

• True positive (TP) = the number of cases correctly identified as patient.

• False positive (FP) = the number of cases incorrectly identified as patient.

• True negative (TN) = the number of cases correctly identified as healthy.

• False negative (FN) = the number of cases incorrectly identified as healthy.

Estimations:

• Accuracy: The accuracy of a test is its ability to differentiate the patient and
healthy cases correctly. To estimate the accuracy of a test, we should
calculate the proportion of true positive and true negative in all evaluated
cases. Mathematically, this can be stated as:

Accuracy = (TP+TN) / (TP+TN+FP+FN);


• Sensitivity: The sensitivity of a test is its ability to determine the patient
cases correctly. To estimate it, we should calculate the proportion of true
positive in patient cases. Mathematically, this can be stated as:

Sensitivity = (TP) / (TP + FN)

• Specificity: The specificity of a test is its ability to determine the healthy


cases correctly. To estimate it, we should calculate the proportion of true
negative in healthy cases. Mathematically, this can be stated as:

Specificity = (TN) / (TN + FP)

LITERATURE SURVEY
1. Title: Improved Interactive Medical Image Segmentation using Enhanced
Intelligent Scissors (EIS)

Year: 2008

Author: Akshaya Mishra, Alexander Wong, Wen Zhang, David Clausi, and
Paul Fieguth

A novel interactive approach called Enhanced Intelligent Scissors (EIS) is


presented for segmenting regions of interest in medical images. The proposed
interactive medical image segmentation algorithm addresses the issues associated
with segmenting medical images and allows for fast, robust, and flexible
segmentation without requiring accurate manual tracing. A robust complex wavelet
phase-based representation is used as an external local cost to address issues
associated with contrast non-uniformities and noise typically found in medical
images. The boundary extraction problem is formulated as a Hidden Markov
Model (HMM) and the novel approach to the second-order Viterbi algorithm with
state pruning is used to find the optimal boundary in a robust and efficient manner
based on the extracted external and internal local costs, thus handling much inexact
user boundary definitions than existing methods. Experimental results using MR
and CT images show that the proposed algorithm achieves accurate segmentation
in medical images without the need for accurate boundary definition as per existing
Intelligent Scissors methods. Furthermore, usability testing indicate that the
proposed algorithm requires significantly less user interaction than Intelligent
Scissors.

The proposed EIS algorithm takes a fast interactive approach to the problem
of medical image segmentation, where a boundary is formed around the region of
interest based on a sequence of user-selected points. The proposed algorithm can
be described as follows. First, a phase-based representation of the image is
extracted as the external local cost using a robust iterative complex wavelet phase
moment estimation scheme. Second, the boundary extraction problem between two
user-selected points is treated as an active contour problem and formulated as a
HMM. Third, a novel approach of solving the formulated HMM using the second-
order Viterbi algorithm is performed by reformulating the second-order problem
with first-order Markovian assumptions and solving it based on the internal and
external local costs. Furthermore, a novel adaptive state pruning scheme is
performed based on the extracted external local costs to significantly reduce the
computational complexity of the proposed EIS algorithm.
In the conventional IS approach, the user starts at an initial point near the
boundary of the region of interest and moves the mouse cursor closely along the
boundary. As the mouse cursor comes close to a boundary edge, a “live-wire”
boundary snaps to the edge. Therefore, as the mouse cursor moves around the
region of interest, the live-wire wraps around the region to form a segmentation
boundary. In the proposed EIS approach, the user first selects an initial point near
the boundary of the region, as with the conventional IS approach. However, rather
than tracing the mouse cursor closely along the boundary, the user selects a
sequence of discrete points around the boundary. As the user selects points around
the boundary, the user-selected points snap to the region of interest and a boundary
is formed around the region of interest between these points. Therefore, as points
are selected, a segmentation boundary is formed. The points selected by the user in
EIS can be sparsely spaced around the region boundary and does not need to be
placed in close proximity to the region boundary. The main advantage of using the
proposed approach of user interaction over the conventional IS approach is that the
user does not need to trace around the boundary carefully. The user can simply
click around the region boundary in an imprecise manner and the EIS algorithm
will automatically create a boundary around the region of interest accordingly.
This allows for a much faster level of user interaction while still providing accurate
region boundaries based on user knowledge. The main advantage to formulating
the boundary extraction problem using a HMM is that the solution to the problem
can be found in a very efficient manner using methods such as the Viterbi
algorithm. This is as opposed to existing IS methods, where the problem
formulation does not allow such a solution. Computational efficiency is very
important for the proposed EIS algorithm since the underlying goal is to provide
fast user interaction for clinicians.
In this paper, we introduced Enhanced Intelligent Scissors (EIS), a novel fast
interactive approach to medical image segmentation. The proposed algorithm is
highly robust to contrast non-uniformities and noise through the use of an external
local cost based on complex wavelet phase coherence moments. The optimal
boundary between user-selected points is found by formulating the problem as a
HMM and solved using a novel approach to the second-order Viterbi algorithm.
Furthermore, a novel phase-adaptive state pruning scheme was proposed to
improve the computational performance of the proposed algorithm.

Advantages:

 The main advantage of using the proposed approach of user interaction over
the conventional IS approach is that the user does not need to trace around
the boundary carefully.

Disadvantages:

 IS methods is refined based on image gradients, making it highly sensitive to


contrast non-uniformities typically found in medical images.

2. Title: Watershed cuts: minimum spanning forests and the drop of water
principle

Year: 2013

Author: Jean Cousty, Gilles Bertrand, Laurent Najman and Michel Couprie

The system study the watersheds in edge-weighted graphs. We define the


watershed cuts following the intuitive idea of drops of water flowing on a
topographic surface. We first establish the consistency of these watersheds: they
can be equivalently defined by their “catchment basins” (through a steepest descent
property) or by the “dividing lines” separating these catchment basins (through the
drop of water principle). Then we prove, through an equivalence theorem, their
optimality in terms of minimum spanning forests. Afterward, we introduce a
linear-time algorithm to compute them. To the best of our knowledge, similar
properties are not verified in other frameworks and the proposed algorithm is the
most efficient existing algorithm, both in theory and practice. Finally, the defined
concepts are illustrated in image segmentation leading to the conclusion that the
proposed approach improves, on the tested images, the quality of watershed-based
segmentations.

In this paper, we investigate the watersheds in a different framework: we


consider a graph whose edges are weighted by a cost function. We propose a new
definition of watershed, called watershed-cut, and obtain a set of remarkable
properties. Unlike previous approaches in discrete frameworks, the watersheds-
cuts are defined thanks to the formalization of the intuitive “drop of water
principle”. Our first contribution establishes the consistency of watershed-cuts. In
particular, we prove that they can be equivalently defined by their “catchment
basins” (through a steepest descent property) or by the “dividing lines” separating
these catchment basins (through the drop of water principle). As far as we know, in
discrete frameworks, our definition is the first one that satisfies such a property.
Our second contribution establishes the optimality of watershed-cuts. In, F. Meyer
shows the link between minimum spanning forests (MSF) and flooding from
marker algorithms. In this paper, we extend the problem of minimum spanning
forests and show that there is indeed an equivalence between the watershed-cuts
and the separations induced by minimum spanning forest relative to the minima.
Our third contribution consists of a linear-time algorithm to compute the
watershed-cuts of an edge-weighted graph. The proposed algorithm does not
require any sorting step, nor the use of any sophisticated data structure such as a
hierarchical queue or a representation to maintain unions of disjoint sets. Thus,
whatever the range of the edge weights, it runs in linear time with respect to the
size (i.e., the number of edges) of the input graph. Furthermore, this algorithm does
not need to compute the minima in a preliminary step. To the best of our
knowledge, this is the first watershed algorithm satisfying such properties. Then,
we illustrate that, for some situations, the proposed watershed localizes with better
accuracy the contours of objects in digital images. To this end, we provide, on
some examples, the results of morphological segmentation schemes based on
watersheds in vertex-weighted graphs and the results of their adaptation in edge-
weighted graphs. The system illustrate the use of watershed-cuts to segment an
image into its homogeneous zones. To this end, we consider the cameraman image
presented and adapt a classical scheme of morphological segmentation. Indeed, a
watershed of the map F defined above, would contain too many catchment basins.

In this paper, we introduce the watershed-cuts, a notion of watershed in


edge-weighted graphs. We prove the consistency and optimality of the watershed-
cuts: they can be equivalently defined by a steepest descent property on the
catchment basins (regions) and by the drop of water principle on the cut (border)
which separates them; they are equivalent to the separations induced by minimum
spanning forests relative to the regional minima. Then, we propose a linear-time
algorithm to compute the watershed-cuts. As far as we know, the proposed
algorithm is the most efficient existing watershed algorithm both in theory and
practice. Finally, we illustrate the use of watershed-cuts for application to image
segmentation and show that, in the considered cases, they are able to improve the
quality of the delineation in watershed-based segmentation procedures. In, we
introduce a new thinning transformation which equivalently defines the watershed-
cuts. On the one hand, this transform permits to introduce flexible sequential
algorithms (e.g., for centering the watershed-cuts on plateaus or for watershed-cuts
from markers) and opens the way towards efficient parallel watershed strategies.
On the other hand, thanks to this new trans-form, we are able to study the
similarities and differences between watershed-cuts and other popular
segmentation paradigms such as the Image-Foresting-Transform, the fuzzy-
connected image segmentation method or the topological watershed. An important
result of this study is that any watershed-cut is a topological-cut. Thus, the
watershed-cuts inherit the properties proved for topological watersheds.

Advantages:

 They are equivalent to the separations induced by minimum spanning forests


relative to the regional minima.

Disadvantages:

 It consists of lowering the values of a map while preserving some


topological properties, namely, the number of connected components of each
lower cross-section.

3. Title: Co-occurrence matrix and its statistical features as a new approach


for face recognition.

Year: 2011

Author: Alaa ELEYAN, Hasan DEMIREL

In this paper, a new face recognition technique is introduced based on the


gray-level co-occurrence matrix (GLCM). GLCM represents the distributions of
the intensities and the information about relative positions of neighboring pixels of
an image. We proposed two methods to extract feature vectors using GLCM for
face classification. The first method extracts the well-known Haralick features
from the GLCM, and the second method directly uses GLCM by converting the
matrix into a vector that can be used in the classification process. The results
demonstrate that the second method, which uses GLCM directly, is superior to the
first method that uses the feature vector containing the statistical Haralick features
in both nearest neighbor and neural networks classifiers. The proposed GLCM
based face recognition system not only outperforms well-known techniques such
as principal component analysis and linear discriminant analysis, but also has
comparable performance with local binary patterns and Gabor wavelets.

The idea behind the present paper is to use the co-occurrence matrix and its
extracted features in face recognition. To the best of our knowledge, no one has
attempted to implement this method before. The idea is simple and straight
forward. For each face image, a feature vector is formed by converting the
generated gray-level co-occurrence matrix (GLCM) to a vector and then it is used
for classification. Additionally, Haralick features containing 14 statistical features
can be extracted from the GLCM to form a new feature vector with 14 features.
The proposed GLCM method is compared with four well-known face recognition
techniques: Principal component analysis (PCA) which is standard technique used
in statistical pattern recognition and signal processing for dimensionality reduction
and feature extraction. The proposed method is also compared with the other well-
known technique, linear discriminant analysis (LDA), which overcomes the
limitations of PCA method by applying the Fisher’s linear discriminant criterion.
This criterion tries to maximize the ratio of the determinant of the between-class
scatter matrix of the projected samples to the determinant of the within-class
scatter matrix of the projected samples. Fisher discriminant analysis method groups
images of the same class and separates images of different classes. The third
technique is local binary patterns, which is a non-parametric operator which
describes the local spatial structure of an image and high discriminative power for
classification. Finally, GLCM was also compared with Gabor wavelets transform.
The transform involves convolving an image with a group of Gabor filters with
parameterized scale and directionally.

The results in Table indicate that, the proposed direct GLCM method is
superior to the method using well-known Haralick features. Furthermore, it is
important to note that changing the number of gray levels Ng provides important
flexibility, which results scalable matrix size for the GLCM. An important notice
which can be observed in table 2 that in some cases when the co-occurrence matrix
become smaller due to the use of smaller number of gray levels, the recognition
performance of direct GLCM approach slightly increases. This can be attributed to
the quantization process that helps to suppress the noise in the input image, which
as a result, helps to increase the recognition performance.

The system shows the performance of the direct GLCM method for
changing number of training samples in the training set for different number of
gray levels. The results show that the recognition performance of the proposed
system changes slightly as we reduce the number of gray levels from 256 to 16
gray levels. Although, this observation is specific to ORL dataset and cannot be
generalized, the results confirm the scalability of the proposed direct GLCM
approach. Table compares the performance of the proposed GLCM based
recognition systems with the state of the art techniques PCA, LDA, Gabor
wavelets (GW) and LBP by using the ORL face database and nearest neighbor
classifier. The results demonstrate the superiority of the proposed direct GLCM
based face recognition system over the well know face recognition techniques PCA
and LDA. In same manner, Table shows the performance results of same
algorithms with different number of training images using subset of FRAV2D
database and nearest neighbor classifier. In both tables, the GLCM approach
outperformed the PCA and LDA approaches.

In this paper, we propose a new method, direct GLCM, which performs face
recognition by using Gray-Level Co-occurrence Matrix. The direct GLCM method
is very competitive with state of the art face recognition techniques such as PCA,
LDA, Gabor wavelets, and LBP. Using smaller number of gray levels (bins)
shrinks the size of GLCM which reduces the computational cost of the algorithm
and at the same time preserves the high recognition rates. This can be due to the
process of quantization which helps in suppressing the noise of the images at
higher grey levels.

Advantages:

 It is obvious from the results that the GLCM is a robust method for face
recognition with competitive performance.

Disadvantages:

 Their computational cost in data pre-preparation and transformation to other


spaces.

4. Title: Compact Watershed and Preemptive SLIC: On improving trade-offs


of superpixel segmentation algorithms.

Year: 2014

Author: Peer Neubert and Peter Protzel

A major insight from our previous work on extensive comparison of


superpixel segmentation algorithms is the existence of several trade-offs for such
algorithms. The most intuitive is the trade-off between segmentation quality and
runtime. However, there exist many more between these two and a multitude of
other performance measures. In this work, we present two new superpixel
segmentation algorithms, based on existing algorithms, that provide better
balanced trade-offs. Bet-ter balanced means, that we increase one performance
measure by a large amount at the cost of slightly decreasing another. The proposed
new algorithms are expected to be more appropriate for many real time computer
vision tasks. The first proposed algorithm, Preemptive SLIC, is a faster version of
SLIC, running at frame-rate (30 Hz for image size 481x321) on a standard desktop
CPU. The speed-up comes at the cost of slightly worse segmentation quality. The
second proposed algorithm is Compact Watershed. It is based on Seeded
Watershed segmentation, but creates uniformly shaped superpixels similar to SLIC
in about 10 ms per image. We extensively evaluate the influence of the proposed
algorithmic changes on the trade-offs between various performance measures.

Simple Linear Iterative Clustering (SLIC) is based on the concept of a local


k-means clustering. The cluster centers are initialized on a uniform grid in the
image plane. Local k-means denotes that each cluster considers only pixels in its
spatial neighborhood. The metric during clustering is a weighted combination of
color distance and spatial distance in the image plane. The weight of the spatial
component (the “compactness” parameter) influences the regularity of the resulting
segments shape and size. SLIC provides good segmentation quality and stability
and can be considered as state of the art in superpixel segmentation. Although
SLIC belongs to the class of faster superpixel algorithms (e.g. compared to
Normalized Cuts), the runtime of about 100 ms can be considered the main
drawback (e.g. compared to Watershed). In the following we present our approach
on speeding up SLIC by about factor 3. The results section evaluates the impact of
this shift in the trade-off between quality and runtime.

This significantly reduces the number of pixel accesses at homogeneous


image regions. Even if the same number of iterations in the main loop are
processed, not all clusters are updated in each iteration. However, a cluster that has
not been updated in one iteration can become active in the next if a cluster in its
neighborhood had a major change. So the additional computational overhead
reduces to counting the number of added or removed pixel for each cluster and to
evaluate this number for each cluster and its neighborhood before deciding whether
to update this cluster or not in the current iteration. Watershed segmentation is a
very fast algorithm. However, it suffers from irregularly sized and shaped
segments and strongly varying boundaries. The user has no influence on the
segmentation characteristics. This section describes our straight forward approach
on incorporating a controllable compactness constraint in a watershed
segmentation to evaluate its influence on segmentation quality and characteristics.
In this context, high compactness means that the superpixels are of approximately
equal size and more or less regularly shaped in the absence of strong image
gradients (e.g. like a recangle or a circle). The idea of watershed segmentation
origins from. The intuitive idea comes from geography: when a landscape is
flooded by falling waterdrops, dependent on the amount of water there are basins
filled with water and dividing ridges between them. These ridges are the
watersheds. Since water-shed segmentation is a well known algorithm, there are
various algorithmic implementations and adaptions. We start from the OpenCV
implementation of the algorithm following. OpenCV implements a seeded
watershed segmentation (also called marker controlled watershed). The seeds are
externally provided to the algorithm, e.g. as local gradient minima or for
superpixel-like segmentation on a uniform grid. The seeds grow iteratively pixel
by pixel until they reach a border to the segment around another seed. These
borders form the watersheds. The next seed to expand by one pixel is chosen based
on a distance function. In the OpenCV implementation, this distance function only
incorporates the intensity or color value of the pixels. This results in strongly
varying borders in homogeneous image regions and potentially highly irregularly
shaped segments in the presence of image gradients.

We presented two adaptions of superpixel segmentation algorithms and


evaluated the changes in trade-offs between various performance measures. The
first new algorithm is Preemptive SLIC. It runs at frame-rate (30 Hz) on a standard
desktop CPU and conserves the high segmentation quality level of SLIC. The
runtime improvement comes from two step: an optimized implementation and an
preemptive termination criterion for each local cluster. Preemptive SLIC also
showed to create more stable segmentations.

Advantages:

 The proposed algorithms improve some performance measures for a large


amount, while only slightly decreasing others.

Disadvantages:

 There is no clean distinction between an over segmentation algorithm and


superpixel segmentations.

5. Title: Adaptive Thresholding Based On Co-Occurrence Matrix Edge


Information.

Year: 2007

Author: M. M. Mokji S.A.R. Abu Bakar


In this paper, an adaptive thresholding technique based on gray level co-
occurrence matrix (GLCM) is presented to handle images with fuzzy boundaries.
As GLCM contains information on the distribution of gray level transition
frequency and edge information, it is very useful for the computation of threshold
value. Here the algorithm is designed to have flexibility on the edge definition so
that it can handle the object’s fuzzy boundaries. By manipulating information in
the GLCM, a statistical feature is derived to act as the threshold value for the
image segmentation process. The proposed method is tested with the star fruit
defect images. To demonstrate the ability of the proposed method, experimental
results are compared with three other thresholding techniques.

As for the proposed technique, the computation area is depends on the edge
magnitude rather than the GLCM quadrants. In the proposed technique, only the
computation area is referred to the GLCM while the threshold value computation is
totally based on the gray values of the input image (first order statistic feature).
This is varying with the entropy based technique where both the computation area
and the threshold value computation are based on the GLCM pixel pair repetition
(second order statistic feature). Thus a more precise representation of the pixel
values on the boundary of the object can be achieved by the proposed technique.
Back to the three basic images, better thresholding results as shown in Figure 6 are
obtained by the proposed technique. For the image in Figure 5(a), the proposed
technique only includes the GLCM upper right white point in its computation area.
Then, the average of the gray value contained in the computation area is computed.
This means that, average of gray value 0 and 1 is computed, which results a
threshold value equals to 0.5. Previously, the entropy based technique results the
threshold value equals to 0. For the blurred image in Figure where most of the high
values in the GLCM are located near the right and bottom limit of the GLCM, the
proposed technique also results a better representation of the boundary’s pixel
value. Thus, a better threshold value is also obtained. Based on the proposed
technique, most of the GLCM elements contained in the joint quadrant are also
included in the proposed technique computation area. By averaging all involve
gray values in the computation area, threshold value equals to 0.57 is obtained. By
applying this threshold value, a less corrupted images is obtained as shown. For the
last image, the proposed technique has overcome the problem faced by the entropy
based technique. If the entropy based technique only contained only certain GLCM
elements in the joint quadrants for any gray levels value, the proposed technique
includes the entire GLCM elements in its computation area. Thus, average value of
the gray values gives a good threshold value where the input image is segmented
evenly with bright and dark pixel.

It shows that our method provides the best result in segmenting all the test
samples compare to other methods. However, when there is an even light
concentration, all the methods gave acceptable results. For uneven light
concentration and complex background images, the results are contrary for Entropy
based method, Yun Li method and Otsu method. Entropy based method and Yun
Li method resulted in poor segmentation because false edges form from the uneven
light concentration and complex background are also computed in their algorithms.
As for the Otsu method, the poor segmentation is due to the object (defect) and the
background does not separate well in the image histogram. Otsu method assumes
that images have two normal distributions with similar variances. The threshold
value is selected by separating the image histogram into two classes such that its
inter-class variance is maximized. Unfortunately, the uneven light concentration
and complex background of the tested images cause the defects to become
invisible in the Otsu computation. For the five images, the image histogram
separation by Otsu method is shown in Figure 8. The figure also shows the
threshold value for our method, the entropy based method and Yun Li method. For
image with the uneven light concentration but without the complex background,
Otsu method recognized the darker side as object although it is not the defect
because the edges of the defects are very fuzzy where it cannot be recognize in the
image histogram.

In this paper, a thresholding technique has been proposed based on the gray
level co-occurrence matrix. The technique extracts the edge information and the
gray level transition frequency from the GLCM to compute the threshold value.
The algorithm is also designed to have the flexibility over the edge definition.
Thus, it can handle image with fuzzy boundaries between the image’s object and
background. The proposed technique was tested with starfruit defect image and
result good segmentation in order to identify the area of the defect on the starfruit
skin. The results were compared with three other techniques.

Advantages:

 The proposed technique was tested with starfruit defect image and result
good segmentation in order to identify the area of the defect on the starfruit
skin.

Disadvantages:

 It produce poor result when dealing with noisy, complex background and
fuzzy boundary images.

6. Title: Framework for the Comparison of Classifiers for Medical Image


Segmentation with Transform and Moment based features.
Year: 2013

Author: Maria Hameed, Muhammad Sharif, Mudassar Raza, Syed Waqas


Haider, Muhammad Iqbal

The paper depicts and elaborates a new framework for the comparison of
classifiers for medical image segmentation with transform and moment based
features. Medical images modalities such as Ultrasound (US) bladder,
Ultrasound (US) phantom, Computerized Tomography (CT) and Magnetic
Resonance (MR) images are segmented using different algorithms namely, k-
Nearest Neighbor (kNN), Grow and learn (GAL) and Incremental Supervised
Neural Networks (ISNN). Segmentation is performed by applying feature
extraction methods such as 2D Continuous Wavelet Transform (2D-CWT),
Moments of gray level histogram (MGH) and a combined version of both 2D-
CWT and MGH, called Hybrid features. With different iterations, the analysis
results indicate that kNN performs better than GAL, and the performance of GAL
is better than that of the ISNN for image segmentation. During analysis a
comparison has been drawn between the performance of kNN, GAL and ISNN on
the above three feature extraction schemes and also provides the qualitative and
quantitative analysis of three classifiers. Results indicate that the performance of
2D-CWT and that of Hybrid features is consistently better than MGH features for
all image modalities. The demonstrated frame work or the system is capable to
meet the demand for selecting best approach in order to meet the given time
constraints and accuracy standards in medical image segmentation.

The main work in this paper is to find out the best combination of classifiers
with feature extraction schemes to achieve efficient segmentation for medical
images. Recently, grow and learn (GAL) and incremental supervised neural
network (ISNN) are compared under two feature extraction methods (moment of
grey level histogram (MGH) and two dimension continuous wavelet transform
(2D-CWT)). Neural network and SVM based classifiers 22 are compared to check
which classifier has better performance. Similarly, different classifiers 23-24 are
compared for checking performance results. In this paper KNN, GAL and ISNN
under MGH, 2D-CWT and hybrid are comparatively analyzed to find out
best combination of classifier and feature extraction scheme.

In the proposed work kNN, GAL and ISNN are compared with each other
as classifiers under MGH, 2D-CWT and hybrid feature extraction method.
According to recent work ISNN performs better than GAL but according to
the proposed work GAL results are better than ISNN by comparing their
number of nodes, computational time and performance. It can also be seen from
results that kNN is better classifier than GAL and GAL is better than ISNN by
comparing their computational load and performance. The performance
evaluation is given on the basis of four modalities which are: US bladder
image, US phantom image, CT image and MRI. For accurate performance,
the results are taken on the basis of 11 images of MRI modality.

Grow and learn GAL is same as ISNN. The only difference is that when
class of winner node is equal to the class of the input vector there is no increment
in weights. But when we calculated the results of classification which is shown in
the next section, GAL perform better than ISNN. GAL performance
percentage is better than ISNN as less no of nodes generate during training and
use less training and segmentation time as compared to ISNN.

After feature extraction, the classification process takes place. GAL, ISNN
and kNN are used as classifiers. Classification process has two phases namely the
training phase and testing phase. The data is trained and weights are assigned
to that data in the training process, then labels are assigned to the whole
original image in the testing process. Hence, this is the reason to use supervised
classifiers in which expert chooses training points from each class of input
image which is to be segmented. Here kNN, GAL and ISNN are competitor
classifiers to be used for classification. In this study medical image segmentation
of four modalities as us bladder, us phantom, CT head and MR Head
images are evaluated using kNN, GAL and ISNN as classifiers under MGH,
2D-CWT and hybrid feature extraction methods. In the literature work it is claimed
that ISNN is better than GAL but on the basis of this work we can conclude that
GAL is better than ISNN because GAL uses less training time and
segmentation time and generates less no of nodes during training than ISNN.
The segmentation performance result of classifiers are evaluated on the bases of 11
MRI images and the conclusion can be drawn from the observed results that kNN
is superior and outperformed both GAL and ISNN. For segmentation, GAL is
better than ISNN under MGH, 2D-CWT and hybrid feature extraction methods.

Advantages:

 The demonstrated frame work or the system is capable to meet the demand
for selecting best approach in order to meet the given time constraints and
accuracy standards in medical image segmentation.

Disadvantages:

 It require too many parameters for proper performance yet these fail to
meet the desired performance level.

7. Title: Segmentation of Liver Tumor Using Efficient Global Optimal Tree


Metrics Graph Cuts.

Year: 2011
Author: Ruogu Fang, Ramin Zabih, Ashish Raj, and Tsuhan Chen

The system propose a novel approach that applies global optimal tree-
metrics graph cuts algorithm on multi-phase contrast enhanced contrast enhanced
MRI for liver tumor segmentation. To address the difficulties caused by low
contrasted boundaries and high variability in liver tumor segmentation, we first
extract a set of features in multi-phase contrast enhanced MRI data and use color-
space mapping to reveal spatial-temporal information invisible in MRI intensity
images. Then we apply efficient tree-metrics graph cut algorithm on multi-phase
contrast enhanced MRI data to obtain global optimal labeling in an unsupervised
framework. Finally we use tree-pruning method to reduce the number of available
labels for liver tumor segmentation. Experiments on real-world clinical data show
encouraging results. This approach can be applied to various medical imaging
modalities and organs.

This framework is based on directly clustering the available labels (intensity


values or dynamic features) in medical image data, and use efficient tree-metrics
graph cuts to find the global optimal labeling, while previous approaches have
focused on conventional methods as active contours, level-sets, as well as machine
learning In contrast to the works previously, our work on tree-metrics graph cuts
segmentation focuses on multi-phase contrast enhanced MRI of liver tumor, which
has not been explored to the best of our knowledge. Our experiments employ
segmentation problems of liver tumor and compared with the state-of-art work.
The proposed method is also applicable to multiple image modalities, such as
dynamic contrast enhanced MRI, CT perfusion. To find the segmentation boundary
of tumor in low contrast multi-phase contrast enhanced MRI of liver tumor images,
we propose a set of novel features along with the computational approaches to
obtain them, and detail our framework of tree-metrics graph-cut (TM) algorithm.
Finally we propose a tree-cutting approach to interpret the labeling returned by the
TM algorithm for tumor segmentation in the multi-phase contrast enhanced MRI
liver data. Here we describe the general protocol for multi-phase contrast enhanced
MRI. In multi-phase contrast enhanced MRI a bolus injection of a contrast agent,
usually gadolinium-DTPA (Gd) is given to the subject (patients or animals). A set
of T1-weighted MRI volumes are acquired a few seconds (pre-contrast time)
before the injection and at several time points after the injection (arterial phase,
portal-venous phase and delayed phase), to first obtain a baseline or pre-contrast
MRI, as well as the time-varying MRI with the contrast agent. As the contrast
bolus perfuses through the vasculature, the time-course of the contrast at a given
voxel, indicating the MRI signal, can be characterized from the plot.

The liver tumor segmentation problem can be interpreted as an instance of


metric labeling; specifically an instance of spatially coherent clustering, where the
observations are labels and we want to assign the voxels with new label. The new
labels are gray-scale intensity levels, and further tree-pruning step will generate the
actual segmentation for the liver tumor in multi-phase contrast enhanced MRI.
Each of the new values should be close to the observed one in the original liver
tumor multi-phase contrast enhanced MRI image, and the values of nearby voxels
should be similar. Spatially coherently clustering has been addressed by several
papers recently. All of them rely on iterative techniques without provable error
bounds. In this paper, we propose to use tree-metrics graph cuts which computes a
global minimum solution of an energy function, to liver tumor segmentation in s
multi-phase contrast enhanced MRI.

Quantitative evaluation of our method is conducted by correlating the liver


tumor size using our method (DPM+TM) with the gold standard, and compare with
the segmentation results of (DPM+K-means) on the same dataset. We use our
proposed method to segment the liver tumor on 11 rabbit liver multi-phase contrast
enhanced MRI 3D volumetric data shows the regression between our method and
the gold standard, compared with that of on the same dataset. In this paper, we
present a novel approach to apply dynamic feature mapping and tree-metrics graph
cuts with tree pruning to the liver tumor segmentation in dynamic enhanced
abdominal MRI data and compare our results with the state-of-art method. Our
approach, which is efficient in computation and globally optimized in the tree-
metrics labeling, performs better than the conventional existing approaches in
terms of qualitative visualization, quantitative tumor size measure, and avoids
iterated method which is computational intense. There are several interesting
directions for future work on this problem. To learn the proper structure of the tree,
for instance, the optimal degree of the tree and the clustering criterion, will
improve the segmentation result for arbitrary number of segments in the output. To
find the accurate segmentation of the liver tumor from the initial segmentation of
TM algorithm, an active learning approach can be adopted to determine the
optimal smoothing parameter in the sweep stage and pruning depth in the cutting
stage.

Advantages:

 The proposed method is also applicable to multiple image modalities, such


as dynamic contrast enhanced MRI, CT perfusion.

Disadvantages:

 It does not give the globally optimal labeling.

8. Title: BRAIN MAGNETIC RESONANCE IMAGE LATERAL


VENTRICLES DEFORMATION ANALYSIS AND TUMOR PREDICTION
Year: 2007

Author: Kai Xiao, Sooi Hock Ho, Aboul Ella Hassanien

Brain tumor detection is still a challenge in the field of brain computer-


aided diagnosis. In the brain Magnetic Resonance Images (MRI), the correlation
between lateral ventricles deformations and tumor existence has been found useful
in brain tumor detection and prediction. To retrieve the lateral ventricles
deformation data for further statistical analysis and processing, a new method has
been proposed in this paper to analyze the deformation of ventricles. Firstly, in this
method, the boundaries of the lateral ventricles are segmented, pixels on the
boundary are sampled, and a nonlinear interpolation method based on Thin Plate
Spline (TPS) is conducted to create a more accurate template image for each
specific case, followed by the application and performance comparison between
TPS with Radial Basis Function Neural Networks (RBF-NN) and Radon
Transform (RT) on the extracted Skeleton of the boundary of the ventricles for
locating the optimal orientation of the image through iterative image rotation. The
reorienting facilitates the final step of deformation analysis whereby the reoriented
ventricles are analyzed based on the displacement values obtained from the TPS of
the sampled template and the diagnostic lateral ventricle. By comparing with
several real cases, our experimental results suggest that this method is effective and
relevant in ventricles deformation analysis and prediction of tumor location. The
performance comparison results also suggest that using RT on Skeleton is an
efficient method in locating the optimal orientation where the results.

In this paper, the use of TPS to find the area with the most significant
displacement is proposed. The lateral ventricle boundary is obtained after the
lateral ventricular compartments are segmented by the modified Fuzzy-C means
algorithm in our previous work. Due to the discrepancy in age, sex, personal brain
structure, and even MR image slice number, though similar to each other, shapes
of diagnostic and template images may be varied greatly to each. Therefore, an
interpolated image should be served as a new template which morphs between the
template and diagnostic images to enhance the accuracy for the later processes. A
nonlinear morphing method based on TPS is used here to create a more accurate
interpolation result. It is found that the orientation between diagnostic and template
MR images is the key for creating an accurate result for the TPS displacement
analysis. Therefore, it is important to adjust the diagnostic MR image orientation
according to the correlation between the diagnostic and template images before the
TPS displacement analysis. Because the TPS output data is based on the
displacement between the diagnostic and template ventricles, TPS displacement
values can also serve as an error measure to be used in the process of finding the
best orientation match between the template and the diagnostic image. The
displacement information from the TPS analysis on the Skeleton has therefore used
in our first reorientation method by the Radial Basis Function Neural Network
(RBF-NN) as its error measure input. The system show that the computing speed
is at least more than 100 times faster than using TPS and RBF-NN.

It can be seen that the orientated diagnostic lateral ventricle sampled


boundary and its Skeleton using both the TPS and RBF-NN method and RT
method is within reasonable degree from the template, although the degree of fit
between the template and diagnostic sampled boundary points for the two methods
is slightly different. Even with a difference of about 15 degree between the
orientated right diagnostic in Table 1 using the two reorienting method, the
location of the maximum TPS displacement does not differ significantly. This
shows that the TPS analysis algorithm is able to give a stable result of the predicted
location of the tumor even with a different reorientation algorithm which could
have a slight difference in result between them. Based on the processing time using
the two reorientation method, it is estimated that the TPS and RBF-NN
reorientation method is more than 100 times slower than the reorienting method
using RT. This is mainly due to the processor intensive calculation required in the
TPS analysis for each orientation of the diagnostic in the process of finding the
orientation with the least TPS displacement. Therefore, based on our current
experimental results, RT method of reorientation seems to be a better method as it
is more efficient while giving a reasonable result.

Thin Plate Spline (TPS) is applied for three times in this study. It is at first
served as a morphing transformation method to retrieve an interpolated image
between standard template and the diagnostic images to reduce the effect of their
boundary shape discrepancy. As Radial Basis Neural Network (RBF-NN) is a type
of feed forward neural network that can be used to approximate any function, by
training it to function as a form of mean operator on an error measure, the
orientation that gives the least output value from the network can be used as an
indicator of the best orientation. From the results, it can be seen that the network is
able to find the best orientation using

Advantages:

 It is found that using Radon Transform (RT) on Skeleton is much more


efficient, while the similar results are maintained.

Disadvantages:

 It is not able to be fully solved due to the nature of MR images retrieval.

9. Title: Semi-automatic Segmentation of Multiple Sclerosis Lesion Based


Active Contours Model and Variational Dirichlet Process
Year: 2013

Author: Foued Derraz, Laurent Peyrodie, Antonio PINTI, Abdelmalik Taleb-


Ahmed, Azzeddine Chikh and Patrick Hautecoeur

The propose a new semi-automatic segmentation based Active Con-tour


Model and statistic prior knowledge of Multiple Sclerosis (MS) Lesions in Regions
Of Interest (RIO) within brain Magnetic Resonance Images(MRI). Reliable
segmentation of MS lesion is important for at least three types of practical
applications: pharmaceutical trails, making decision for drug treatment, patient
follow-up. Manual segmentation of the MS lesions in brain MRI by well qualified
experts is usually preferred. However, manual segmentation is hard to reproduce
and can be highly cost and time consuming in the presence of large volume of MRI
data. In other hand, automated segmentation methods are significantly faster
yielding reproducible results. However, these methods generally produced
segmentation results that agree only partially with the ground truth segmentation
provided by the expert. In this paper, we propose a new semi-automatic
segmentation based Active Contour model for MS lesion that combines expert
knowledge with a low computational cost to produce more reliable MS
segmentation results. In particular, the user selects coarse RIO that encloses
potential MS lesions and a sufficient back-ground of the healthy White Matter
tissues (WM). Having this two class statistic properties, we propose to extract
texture features corresponding to health and MS lesion. The results draw showed a
significant improvement of the proposed model.

This paper introduces a novel semi-automatic segmentation method based


on a combination of a powerful multiscale classification based a variational
Dirichlet process and region based active contours model. By combining
segmentation and classification, we are able to utilize integrative, regional
properties that provide regional statistics, characterize their overall shapes, and
localize their boundaries. Our method offers the following advantages. First, it
relies on a variational segmentation method, multiscale classification approach to
provide a hierarchical de-composition of a MRI scan in only linear time
complexity. Second, we incorporate a novel rich set of multiscale features to guide
the active contours segmentation and to characterize MS lesions. We further
calculate a Bhattachryya distance to dis-criminate MS lesion. Third, our method is
general and flexible, and can be adapted to handle other, similar medical problems.
Fourth, similar to other approaches, the method is semi-automatic and can fully
automatic due to the use of a probabilistic brain atlas. We further use atlas data to
identify the cerebellum due to the difficulty in detection of MS in this area. Finally,
our algorithm provides a soft classification result with different levels of MS
disease probability rather than just a binary result. As the anticipated extent of the
lesions may vary significantly between experts, this property can be valuable for
clinical analysis.

Next, each of the PD images was registered to the target image, and the
registered images were averaged to form a new target image. This process was
repeated five times, when no substantive changes were seen in the tar-get after a
further iteration. Registration was performed using the root mean square difference
in intensity as the similarity measure to assess the difference between the target
and registered images, and the types of deformation of the registered image
allowed were rigid body (translation and rotation) and scaling in three orthogonal
directions. Intensity rescaling was performed as part of the registration procedure
so that all registered images contributed equally to the final average PD template
image. Two representative slices from the resulting average PD template image are
shown in in fig. 1. Using the lesion ROIs as a mask, binary images of the lesions
were produced for each patient, which were then transformed to the coordinate
space of the template image, using the same transform as was found when
registering the PD image to the tem-plate. The transformed binary images were
then summed, divided by the number of patients in the sample, and downsampled
to 256x256x256 pixels, to give the probability (relative frequency) of lesion
occurrence at each anatomical position. This downsampling provides additional
spatial smoothing so that the lesion frequency map can be constructed using a
smaller patient sample. Furthermore, any subse-quent slight errors in registration to
the template will have minimal impact because of the spatial smoothing.

The system have presented segmentation method based statistical based


appearance priors for brain MS segmentation. Existing region-based segmentation
methods based on texture features are not suited for MS segmentation as they are
not discriminative enough when the appearance of MS and normal tissue overlap.
Using priors on the brain/MS appearance calculated on a set of clustered features
extracted from the MRI images, we are able to disambiguate the MS lesion from
the brain tissue. We have shown a novel high performance method for the
segmentation of MS lesions. One of the main features of this scheme is that it can
segment different structures with the same intensity level range.

Advantages:

 It is fairly stable for the segmentation of MS lesion and no image-atlas


registration is needed.

Disadvantages:

 MS lesions are not randomly distributed throughout the brain or white


matter.
SYSTEM REQUIREMENTS

HARDWARE REQUIREMENTS:

• System : Pentium IV 2.4 GHz

• Hard Disk : 500 GB

• Ram : 8 GB

SOFTWARE REQUIREMENTS:

• O/S : Windows 7.
• Language : Python
• Front End : Anaconda Navigator – Spyder

SOFTWARE DESCRIPTION:

Python

Python is one of those rare languages which can claim to be both simple and
powerful. You will find yourself pleasantly surprised to see how easy it is to
concentrate on the solution to the problem rather than the syntax and structure of
the language you are programming in. The official introduction to Python is
Python is an easy to learn, powerful programming language. It has efficient high-
level data structures and a simple but effective approach to object-oriented
programming. Python's elegant syntax and dynamic typing, together with its
interpreted nature, make it an ideal language for scripting and rapid application
development in many areas on most platforms. I will discuss most of these features
in more detail in the next section.
5.3.2 Features of Python
 Simple

Python is a simple and minimalistic language. Reading a good Python


program feels almost like reading English, although very strict English! This
pseudo-code nature of Python is one of its greatest strengths. It allows you to
concentrate on the solution to the problem rather than the language itself.

 Easy to Learn

As you will see, Python is extremely easy to get started with. Python has an
extraordinarily simple syntax, as already mentioned.

 Free and Open Source

Python is an example of a FLOSS (Free/Libré and Open Source Software).


In simple terms, you can freely distribute copies of this software, read its source
code, make changes to it, and use pieces of it in new free programs. FLOSS is
based on the concept of a community which shares knowledge. This is one of the
reasons why Python is so good - it has been created and is constantly improved by
a community who just want to see a better Python.

 High-level Language

When you write programs in Python, you never need to bother about the
low-level details such as managing the memory used by your program, etc.
 Portable

Due to its open-source nature, Python has been ported to (i.e. changed to
make it work on) many platforms. All your Python programs can work on any of
these platforms without requiring any changes at all if you are careful enough to
avoid any system-dependent features.

You can use Python on GNU/Linux, Windows, FreeBSD, Macintosh,


Solaris, OS/2, Amiga, AROS, AS/400, BeOS, OS/390, z/OS, Palm OS, QNX,
VMS, Psion, Acorn RISC OS, VxWorks, PlayStation, Sharp Zaurus, Windows CE
and PocketPC!

You can even use a platform like Kivy to create games for your computer
and for iPhone, iPad, and Android.

 Interpreted

This requires a bit of explanation.

A program written in a compiled language like C or C++ is converted from


the source language i.e. C or C++ into a language that is spoken by your computer
(binary code i.e. 0s and 1s) using a compiler with various flags and options. When
you run the program, the linker/loader software copies the program from hard disk
to memory and starts running it.

Python, on the other hand, does not need compilation to binary. You just run
the program directly from the source code. Internally, Python converts the source
code into an intermediate form called bytecodes and then translates this into the
native language of your computer and then runs it. All this, actually, makes using
Python much easier since you don't have to worry about compiling the program,
making sure that the proper libraries are linked and loaded, etc. This also makes
your Python programs much more portable, since you can just copy your Python
program onto another computer and it just works!

 Object Oriented

Python supports procedure-oriented programming as well as object-oriented


programming. In procedure-oriented languages, the program is built around
procedures or functions which are nothing but reusable pieces of programs. In
object-oriented languages, the program is built around objects which combine data
and functionality. Python has a very powerful but simplistic way of doing OOP,
especially when compared to big languages like C++ or Java.

 Extensible

If you need a critical piece of code to run very fast or want to have some
piece of algorithm not to be open, you can code that part of your program in C or
C++ and then use it from your Python program.

 Embeddable

You can embed Python within your C/C++ programs to give scripting
capabilities for your program's users.

 Extensive Libraries

The Python Standard Library is huge indeed. It can help you do various
things involving regular expressions, documentation generation, unit testing,
threading, databases, web browsers, CGI, FTP, email, XML, XML-RPC, HTML,
WAV files, cryptography, GUI (graphical user interfaces), and other system-
dependent stuff. Remember, all this is always available wherever Python is
installed. This is called the Batteries Included philosophy of Python.

Besides the standard library, there are various other high-quality libraries
which you can find at the Python Package Index.

IMAGE TYPES IN PYTHON

Outside PYTHON images may be of three types i.e. black & white, grey scale and
colored. In PYTHON, however, there are four types of images. Black & White
images are called binary images, containing 1 for white and 0 for black. Grey scale
images are called intensity images, containing numbers in the range of 0 to 255 or
0 to 1. Colored images may be represented as RGB Image or Indexed Image.

In RGB Images there exist three indexed images. First image contains all the red
portion of the image, second green and third contains the blue portion. So for a 640
x 480 sized image the matrix will be 640 x 480 x 3. An alternate method of colored
image representation is Indexed Image. It actually exist of two matrices namely
image matrix and map matrix. Each color in the image is given an index number
and in image matrix each color is represented as an index number. Map matrix
contains the database of which index number belongs to which color.

IMAGE TYPE CONVERSION

• RGB Image to Intensity Image (rgb2gray)

• RGB Image to Indexed Image (rgb2ind)

• RGB Image to Binary Image (im2bw)

• Indexed Image to RGB Image (ind2rgb)


• Indexed Image to Intensity Image (ind2gray)

• Indexed Image to Binary Image (im2bw)

• Intensity Image to Indexed Image (gray2ind)

• Intensity Image to Binary Image (im2bw)

• Intensity Image to RGB Image (gray2ind, ind2rgb)

Key Features

• High-level language for technical computing

• Development environment for managing code, files, and data

• Interactive tools for iterative exploration, design, and problem solving

• Mathematical functions for linear algebra, statistics, Fourier analysis,


filtering, optimization, and numerical integration

• 2-D and 3-D graphics functions for visualizing data

• Tools for building custom graphical user interfaces

• Functions for integrating PYTHON based algorithms with external


applications and languages, such as C, C++, FORTRAN, Java, COM, and
Microsoft Excel.

FEASIBILITY STUDY
The feasibility study is carried out to test whether the proposed
system is worth being implemented. The proposed system will be selected if it is
best enough in meeting the performance requirements.

The feasibility carried out mainly in three sections namely.

• Economic Feasibility

• Technical Feasibility

• Behavioral Feasibility

Economic Feasibility

Economic analysis is the most frequently used method for evaluating


effectiveness of the proposed system. More commonly known as cost benefit
analysis. This procedure determines the benefits and saving that are expected from
the system of the proposed system. The hardware in system department if
sufficient for system development.

Technical Feasibility

This study center around the system’s department hardware, software and to
what extend it can support the proposed system department is having the required
hardware and software there is no question of increasing the cost of implementing
the proposed system. The criteria, the proposed system is technically feasible
and the proposed system can be developed with the existing facility.

Behavioral Feasibility

People are inherently resistant to change and need sufficient amount of


training, which would result in lot of expenditure for the organization. The
proposed system can generate reports with day-to-day information immediately at
the user’s request, instead of getting a report, which doesn’t contain much detail.

System Implementation

Implementation of software refers to the final installation of the


package in its real environment, to the satisfaction of the intended users and the
operation of the system. The people are not sure that the software is meant to make
their job easier.

 The active user must be aware of the benefits of using the system
 Their confidence in the software built up
 Proper guidance is impaired to the user so that he is comfortable in
using the application

Before going ahead and viewing the system, the user must know that for
viewing the result, the server program should be running in the server. If the server
object is not running on the server, the actual processes will not take place.

User Training

To achieve the objectives and benefits expected from the proposed system it
is essential for the people who will be involved to be confident of their role in the
new system. As system becomes more complex, the need for education and
training is more and more important. Education is complementary to training. It
brings life to formal training by explaining the background to the resources for
them. Education involves creating the right atmosphere and motivating user staff.
Education information can make training more interesting and more
understandable.
Training on the Application Software

After providing the necessary basic training on the computer


awareness, the users will have to be trained on the new application software. This
will give the underlying philosophy of the use of the new system such as the screen
flow, screen design, type of help on the screen, type of errors while entering the
data, the corresponding validation check at each entry and the ways to correct the
data entered. This training may be different across different user groups and across
different levels of hierarchy.

Operational Documentation

Once the implementation plan is decided, it is essential that the user of the
system is made familiar and comfortable with the environment. A documentation
providing the whole operations of the system is being developed. Useful tips and
guidance is given inside the application itself to the user. The system is developed
user friendly so that the user can work the system from the tips given in the
application itself.

System Maintenance

The maintenance phase of the software cycle is the time in which software
performs useful work. After a system is successfully implemented, it should be
maintained in a proper manner. System maintenance is an important aspect in the
software development life cycle. The need for system maintenance is to make
adaptable to the changes in the system environment. There may be social, technical
and other environmental changes, which affect a system which is being
implemented. Software product enhancements may involve providing new
functional capabilities, improving user displays and mode of interaction, upgrading
the performance characteristics of the system. So only thru proper system
maintenance procedures, the system can be adapted to cope up with these changes.
Software maintenance is of course, far more than “finding mistakes”.

Corrective Maintenance

The first maintenance activity occurs because it is unreasonable to assume


that software testing will uncover all latent errors in a large software system.
During the use of any large program, errors will occur and be reported to the
developer. The process that includes the diagnosis and correction of one or more
errors is called Corrective Maintenance.

Adaptive Maintenance

The second activity that contributes to a definition of maintenance occurs


because of the rapid change that is encountered in every aspect of computing.
Therefore Adaptive maintenance termed as an activity that modifies software to
properly interfere with a changing environment is both necessary and
commonplace.

Perceptive Maintenance

The third activity that may be applied to a definition of maintenance occurs


when a software package is successful. As the software is used, recommendations
for new capabilities, modifications to existing functions, and general enhancement
are received from users. To satisfy requests in this category, Perceptive
maintenance is performed. This activity accounts for the majority of all efforts
expended on software maintenance.
Preventive Maintenance

The fourth maintenance activity occurs when software is changed to improve


future maintainability or reliability, or to provide a better basis for future
enhancements. Often called preventive maintenance, this activity is characterized
by reverse engineering and re-engineering techniques

CONCLUSION

This paper has provided a comprehensive overview of the state of the art
MRI-based brain tumor segmentation methods. Many of the current brain tumor
segmentation methods operate MRI images due to the non-invasive and good soft
tissue contrast of MRI and employ classification and clustering methods by using
different features and taking spatial information in a local neighborhood into
account. The purpose of these methods is to provide a preliminary judgment on
diagnosis, tumor monitoring, and therapy planning for the physician. Although
most of brain tumor segmentation algorithms have relatively good results in the
field of medical image analysis, there is a certain distance in clinical applications.
Due to a lack of interaction between researchers and clinicians, clinicians still rely
on manual segmentation for brain tumor in many cases. The existence of many
tools aims to do pure research and is hardly useful for clinicians. Therefore,
embedding the developed tools into more user- friendly environments will become
inevitable in the future. Recently, some standard clinical acquisition protocols
focusing on feasibility studies are trying to formulate to improve the clinical
applications more quickly. Apart from the evaluation of accuracy and validity for
the results of brain tumor segmentation, computation time is also an important
criterion. The current standard computation time is in general a few minutes. The
real-time segmentation will be hard to achieve, but computation time over a few
minutes is unacceptable in clinical routine. Another crucial aspect for brain tumor
segmentation methods is robustness. If an automatic segmentation technique fails
in some cases, clinicians will lose their trust and not use this technique. Therefore,
the robustness is also one of the major assessment criteria for each new method
applied in clinical practice. Some current brain tumor segmentation methods
provide robust results within a reasonable computation time.
REFERENCES
[1] M. P. Gupta and M. M. Shringirishi, Implementation of brain tumor
segmentation in brain mr images using k –means clustering and fuzzy c -means
algorithm, International Journal of Computers & Technology , vol. 5, no. 1, pp. 54-
59, 2013.
[2] D. N. Louis, H. Ohgaki, O. D. Wiestler, W. K. Cavenee, P. C. Burger, A.
Jouvet, B. W. Scheithauer, and P. Kleihues, The 2007 who classification of
tumours of the central nervous system, Acta Neuropathologica, vol. 114, no. 2,
pp. 97-109, 2007.
[3] Z.-P. Liang and P. C. Lauterbur, Principles of Magnetic Resonance Imaging: A
Signal Processing Perspective . The Institute of Electrical and Electronics
Engineers Press, 2000.
[4] P. Y. Wen, D. R. Macdonald, D. A. Reardon, T. F. Cloughesy, A. G. Sorensen,
E. Galanis, J. DeGroot, W. Wick, M. R. Gilbert, A. B. Lassman, et al., Updated
response assessment criteria for high-grade gliomas:Response assessment in neuro-
oncology working group, Journal of Clinical Oncology , vol. 28, no. 11, pp. 1963-
1972, 2010.
[5] A. Drevelegas and N. Papanikolaou, Imaging modalities in brain tumors, in
Imaging of Brain Tumors with Histological Correlations . Springer, 2011, pp. 13-
33.
[6] J. J. Corso, E. Sharon, S. Dube, S. El-Saden, U. Sinha, and A. Yuille, Efficient
multilevel brain tumor segmentation with integrated bayesian model classification,
Medical Imaging, IEEE Transactions on , vol. 27, no. 5, pp. 629-640,2008.
[7] Y.-L. You, W. Xu, A. Tannenbaum, and M. Kaveh, Behavioral analysis of
anisotropic diffusion in image processing, Image Processing, IEEE Transactions
on,
vol. 5, no. 11, pp. 1539-1553, 1996.
[8] J. Weickert, Anisotropic Diffusion in Image Processing , vol. 1. Teubner
Stuttgart, 1998.
[9] T. Ogden, Essential Wavelets for Statistical Applications and Data Analysis .
Springer, 1997.
[10] R. D. Nowak, Wavelet-based rician noise removal for magnetic resonance
imaging, Image Processing, IEEETransactions on, vol. 8, no. 10, pp. 1408-1419,
1999.
[11] A. Buades, B. Coll, and J.-M. Morel, A non-local algorithm for image
denoising, in Computer Vision and Pattern Recognition, 2005. CVPR 2005. IEEE
Computer SocietyConference on , IEEE, 2005, vol. 2, pp. 60-65.
[12] J. V. Manj ́ on, P. Coup ́ e, L. Mart ́ ı-Bonmat ́ı, D. L. Collins, and M. Robles,
Adaptive non-local means denoising of mr images with spatially varying noise
levels, Journal of Magnetic Resonance Imaging , vol. 31, no. 1, pp. 192-203, 2010.
[13] S. Prima and O. Commowick, Using bilateral symmetry to improve non-local
means denoising of mr brain images, in Biomedical Imaging (ISBI), 2013 IEEE
10th International Symposium on , IEEE, 2013, pp. 1231-1234.
[14] P. Hoyer, Independent component analysis in image denoising, Master degree
dissertation, Helsinki University of Technology, 1999.
[15] K. Phatak, S. Jakhade, A. Nene, R. Kamathe, and K. Joshi, De-noising of
magnetic resonance images using independent component analysis, in Recent
Advances in Intelligent Computational Systems (RAICS), 2011 IEEE , IEEE,
2011, pp. 807-812.
[16] I. Diaz, P. Boulanger, R. Greiner, and A. Murtha, A critical review of the
effects of de-noising algorithms on mri brain tumor segmentation, in Engineering
in Medicine and Biology Society, EMBC, 2011 Annual International Conference
of the IEEE , IEEE, 2011, pp. 3934-3937.
[17] C. Fennema-Notestine, I. B. Ozyurt, C. P. Clark, S. Morris, A. Bischoff-
Grethe, M. W. Bondi, T. L. Jernigan, B. Fischl, F. Segonne, D. W. Shattuck, et al.,
Quantitative evaluation of automated skull-stripping methods applied to
contemporary and legacy images: Effects of diagnosis, bias correction, and slice
location, Human Brain Mapping , vol. 27, no. 2, pp. 99-113, 2006.
[18] A. H. Zhuang, D. J. Valentino, and A. W. Toga, Skull- stripping magnetic
resonance brain images using a model- based level set, NeuroImage , vol. 32, no.
1, pp. 79-92, 2006.
[19] R. Roslan, N. Jamil, and R. Mahmud, Skull stripping magnetic resonance
images brain images: Region growing versus mathematical morphology,
International Journal of Computer Information Systems and Industrial
Management
Applications , vol. 3, pp. 150-158, 2011.
[20] S. Bauer, L.-P. Nolte, and M. Reyes, Skull-stripping for tumor-bearing brain
images, arXiv preprint arXiv: 1204.0357, 2012.
[21] S. F. Eskildsen, P. Coup ́ e, V. Fonov, J. V. Manj ́ on, K. K. Leung, N.
Guizard, S. N. Wassef, L. R. Østergaard, and D. L. Collins, Beast: Brain extraction
based on nonlocal segmentation technique, NeuroImage , vol. 59, no. 3, pp. 2362-
2373, 2012.

SCREENSHOTS:

You might also like