how to prepare documentation for it project
TRANSCRIPT
-
7/31/2019 How to prepare Documentation for IT project
1/105
Phase - 1
Introduction
1.1 - An overview of existing system:
There ere several systems existing to analyse operations on images, but some of
them were not able to meet the present requirements of users like doctors and
Pharmaceutical analysts etc. The main purpose of those software is to apply some filters on
images and display the output as an image, which is used by users to get more clear picture
rather than seeing the original image. They dont provide any appropriate result so that it
will be easy for the user.
1.2 Au overview of proposed system:
The proposed system should be able to apply various filters on given images and
analyse the result and make users to decide appropriate operation to be fallowed next. The
proposed system should be able to generate reports like HISTOGRAM etc. It should also
provide functions like NORMALIZATION OF IMAGES, THRESHOLD AFTER
FILTERING IMAGES, etc. Thus a GUI of options should be provided to view and
analyse images before and after filtering.
1.3 Need for computerization:
The operations in this system are to be implemented on large scale images, which
is a little difficult task to perform manually. The analysis is to be done on various images
with respect to various filters and various threshold values. Grey-level detection and
Histogram drawing are handy tasks when performed with the help of good image
processing system.
1.4 Areas of selection:
The proposed system should be developed on the basis of fallowing conditions
Front-end to use : Java
Images to be used : JPEG format images
1
-
7/31/2019 How to prepare Documentation for IT project
2/105
Phase - 2
Domain Analysis
Domain Analysis:
Domain analysis deals with the objective of gathering information regarding the
basic system. Domain analysis is to collect the information regarding the thing to done in
the system. By this analysis we can get a complete, correct, consistent, and unambiguous
modal of the system. This modal will help the developers to generate the system in an
efficient way.
2.1 Problem Analysis:
Image analysis is a very important task in determining the difference of any two
images that is needed to take decision regarding the medical treatment. The basic work in
this system is to read grey-level of images, normalize them, apply filters, apply threshold,
compute histograms, and many more operations. They should be provided in a GUI to
make the users work very easily and take accurate decisions.
2.2 About Domain:
The Domain which we are dealing here is EDGE ENHANCEMENT
OPERATIONS & ANALYSIS ON MEDICAL IMAGES. The information about the
domain is stated below:
1. Introduction:
Edge enhancement is a very important task in analyzing medical images, which is
mostly needed by doctors and Pharmaceutical analysts etc. They need this kind of softwareto understand the work clearly and complete the work in fast manner. These softwares
also helping them to get reports, which will give ideas to take decisions.
2. Glossary:
Various terms, abbreviations used in the system are as fallows:
a) Image:
Image is a rectangular plot of pixels which determine a specific instance of internal
or external view of body parts.
2
-
7/31/2019 How to prepare Documentation for IT project
3/105
b) Pixel:
A pixel is the least addressable point in an image which gives some information
about the body or organ.
c) Grey-value:
Grey-value refers to the intensity of the pixel that it generates. It gives measure of
reflectance of light at that point
d) Filter, Mask, Kernel:
All the three represent the same. A Filter is a mathematical matrix that is used to
operate on an image to highlight the information in that image.
e) Threshold:
Threshold is the cutoff mark or level that is used to convert the grey image into
binary image to intensify the edges that are obtained by applying filter.
f) Normalize:
Normalizing is the method of converting the image from any grey-level to that of
the prescribed grey-level,
g) Convolution:
Convolution is the method by which a filter is applied on an image.
h) Size of image or mask:
Size of an image or mask is denoted as
(r x c) r represents no. of rows
c represents no. of columns
i) Edge:
Edge is the highlighted portion of image after applying filter that is used to
differentiate any two distinct regions present in the image.
j) Width of the edge:
Width indicates the no. of pixels that edge contains to differentiate two regions.
k) Length of the edge:
Length indicates the region that the edge covers in the image.
3. General knowledge about domain:
Usually Doctors and Pharmaceutical analysts need image processing techniques to
understand and analyse their work in a complete manner. Their main work is to apply
various medicines and must analyse the result of each one. The basic job is to analyse
3
-
7/31/2019 How to prepare Documentation for IT project
4/105
several image at a time. To make this work more easy we use computers to generate
reports and store them for future reference.
Doctors need such software to identify a defective in a clear manner to decide the
right medicine or treatment. Thus edge detection is more important part in image
processing when related to medical mages. Thus we need to decide which one is more
efficient to work with.
There are several operations to be performed in Image Processing. They ate
performed extract information from the images. The operations are as fallows:
Image loading:
This involves several methods of reading the image from disc and display the
image on screen. The method should be implemented to read all kinds or images.
Normalizing:
Normalizing is the process of adjusting the range of grey values of the image.
Images used to analyse the effect of filters ate of different grey ranges. We must transform
them into a unique range before applying filters. This is done by the range of normalizing,
Convolution:
Convolution is the method of applying the filter over the image. It is a
mathematical operation that is to
a11 a12 a13 a14 a15 a16 a17
a21 a22 a23 a24 a25 a26 a27
a31 a32 a33 a34
a41 a42 a43 a44
a51 .. ..
a61 ... ..
a71 a77
The resultant matrix will contain the product of all the elements.
r11 = a11*f11 + a12*f12 + a13*f13 + a21*f21 + a22*f22 + a23*f23 +
r12 = a12*f11 + a13*f12 + a14*f13 + a22*f21 + a23*f22 + a24*f23 +
r13 = a13*f11 + a14*f12 + a15*f13 + a23*f21 + a24*f22 + a25*f23 +
r55 = a55*f11 + a56*f12 + a57*f13 + a65*f21 + a66*f22 + a67*f23 +
f11 f12 f13
f21 f22 f23
f31 f32 f33
4
*
-
7/31/2019 How to prepare Documentation for IT project
5/105
Thresholding:
Thresholding is the method of converting of grey-level image into binary image.
This is done with the help of threshold value that is compared with all the pixels in the
image and changed them basing on the grey-value
If g ij :> threshold value
g ij = 1
else
g ij = 0
4. Customers & users:
A) Customers of the system are DOCTORS that take decisions on the results obtained
from the system. Other customers ate PHARMACEUTICAL ANALYSTS who
calculate different effects of different medicines for a particular disease.
B) Users of the system are PATIENTS who come for treatment with reports given in
the form of images, x-rays etc. Other users are PHARMACEUTICAL
COMPANIES those who carry out research work to develop new medicines.
5. Environment:
The proposed system should work under the fallowing environment
1. SOFTWARE RECOMMENDATIONS:
Operating system : Windows 98 / NT based
Packages : Java virtual machine (JVM)
2. HARDWARE RECOMMENDATIONS:
Main memory : 256 MB
Secondary memory : 25 MB for program
Processor : A high-end processor with speed more than 500 MHz.
6. Tasks and procedures currently proposed:
The proposed system should perform the fallowing operations:
a) Load image: System should read an image that is selected by user.
b) Image info: System should be able to provide information about image like grey-
levels present.
c) Draw histogram: System should draw histogram where requested.
5
-
7/31/2019 How to prepare Documentation for IT project
6/105
d) Normalize: System should normalize given image before doing any operation.
e) Apply filter: Systems main activity is to apply given filter and obtain output image.
f) Apply threshold: After applying any filter the system should apply given threshold
values to the filtered image and display all the different images.
g) Count edge length: To compare the operations of two filters we need to compute the
edge length for given width of the edge and given image.
h) Tabulate results: To analyse the result of to filters we need the edge information in the
form of table with specific parameters.
7. Competing software:
As the old existing software is designed to analyse general kind of images, we
should take care to apply right filer to our images. Thus existing software are found to be
efficient in respective fields. We are developing software that suits to all kinds of images.
2.3 Problem definition:
Usually Doctors and Pharmaceutical analysts need edge enhancement techniques to
understand image and analyse their work in a complete manner. Their main work is to
apply various medicines and must analyse the result of each one. The basic job is to
analyse several image at a time. To perform such a reliable and system we need to
implement these operations:
a) System should read an image that is selected by user.
b) System should be able to provide information about image like grey-levels present.
c) System should draw histogram where requested.
d) System should normalize given image before doing any operation.
e) Systems main activity is to apply given filter and obtain output image.
f) After applying any filter the system should apply given threshold values to the filtered
image and display all the different images.
g) To compare the operations of two filters we need to compute the edge length for given
width of the edge and given image.
h) To analyse the result of to filters we need the edge information in the form of table with
specific parameters.
2.4 Feasibility analysis:
1. Technical feasibility:
6
-
7/31/2019 How to prepare Documentation for IT project
7/105
The package JAVA which is being used to develop this software is technically a
reliable package to develop any system. It is capable of handling images, generate reports
and to create a most user friendly GUI.
2. Development risk:
There is no risk in developing the software using packages JAVA since it is
widely used package and also more reliable to develop systems.
3. Resources availability:
The system does not require any additional resources to perform its operations, but
to capture the input images is the only task performed by the user manually.
4. Functional feasibility:
Functionally the system has no drawbacks since it is designed under desired
conditions.
5. Economic feasibility:
Economically the system has no troubles.
2.5 Features of the proposed system:
1. Purpose of the system:
The System should read the input images, normalize them, apply filters, threshold
the output images and compute edge length to compare the given filters applied on a
particular image.
2. Scope of the system:
The system performs its operations in the fallowing conditions:
1. SOFTWARE RECOMMENDATIONS:
Operating system : Windows 98 / NT based
Packages : Java virtual machine (JVM)
2. HARDWARE RECOMMENDATIONS:
Main memory : 256 MB
7
-
7/31/2019 How to prepare Documentation for IT project
8/105
Secondary memory : 25 MB for program
Processor : A high-end processor with speed more than 500 MHz.
3. Objectives of the proposed system:
The objectives achieved by the proposed system are as fallows:
a) System should read an image that is selected by user.
b) System should be able to provide information about image like grey-levels present.
c) System should draw histogram where requested.
d) System should normalize given image before doing any operation.
e) Systems main activity is to apply given filter and obtain output image.
f) After applying any filter the system should apply given threshold values to the filtered
image and display all the different images.
g) To compare the operations of two filters we need to compute the edge length for given
width of the edge and given image.
h) To analyse the result of to filters we need the edge information in the form of table
with specific parameters.
8
-
7/31/2019 How to prepare Documentation for IT project
9/105
Domain AnalysisDocument
1. Introduction:
Edge enhancement is a very important task in analyzing medical images, which is
mostly needed by doctors and Pharmaceutical analysts etc. They need this kind of software
to understand the work clearly and complete the work in fast manner. These softwares
also help them to get reports, which will give ideas to take decisions.
2. Glossary:
Various terms, abbreviations used in the system are as fallows:
a) Image:
Image is a rectangular plot of pixels which determine a specific instance of internal
or external view of body parts.
b) Pixel:
A pixel is the least addressable point in an image which gives some information
about the body or organ.
c) Grey-value:
Grey-value refers to the intensity of the pixel that it generates. It gives measure of
reflectance of light at that point
d) Filter, Mask, Kernel:
All the three represent the same. A Filter is a mathematical matrix that is used to
operate on an image to highlight the information in that image.
e) Threshold:
Threshold is the cutoff mark or level that is used to convert the grey image into
binary image to intensify the edges that are obtained by applying filter.
f) Normalize:
Normalizing is the method of converting the image from any grey-level to that of
the prescribed grey-level,
g) Convolution:
Convolution is the method by which a filter is applied on an image.
h) Size of image or mask:
9
-
7/31/2019 How to prepare Documentation for IT project
10/105
Size of an image or mask is denoted as
(r x c) r represents no. of rows c represents no. of columns
i) Edge:
Edge is the highlighted portion of image after applying filter that is used todifferentiate any two distinct regions present in the image.
j) Width of the edge:
Width indicates the no. of pixels that edge contains to differentiate two regions.
k) Length of the edge:
Length indicates the region that the edge covers in the image.
3. General knowledge about domain:
Doctors need this software to identify a defective in a clear manner to decide the
right medicine or treatment. Thus edge detection is more important part in image
processing when related to medical mages. Thus we need to decide which one is more
efficient to work with.
There are several operations to be performed in Image Processing. They ate
performed extract information from the images. The operations are as fallows:
Image loading:
This involves several methods of reading the image from disc and display the
image on screen. The method should be implemented to read all kinds or images.
Normalizing:
Normalizing is the process of adjusting the range of grey values of the image.
Images used to analyse the effect of filters ate of different grey ranges. We must transform
them into a unique range before applying filters. This is done by the range of normalizing,
Convolution:
Convolution is the method of applying the filter over the image. It is a
mathematical operation that is to
a11 a12 a13 a14 a15 a16 a17
a21 a22 a23 a24 a25 a26 a27
a31 a32 a33 a34
a41 a42 a43 a44
a51 .. ..
a61 ... ..
a71 a77
10
*
-
7/31/2019 How to prepare Documentation for IT project
11/105
The resultant matrix will contain the product of all the elements.
r11 = a11*f11 + a12*f12 + a13*f13 + a21*f21 + a22*f22 + a23*f23 +
r12 = a12*f11 + a13*f12 + a14*f13 + a22*f21 + a23*f22 + a24*f23 +
r13 = a13*f11 + a14*f12 + a15*f13 + a23*f21 + a24*f22 + a25*f23 +
r55 = a55*f11 + a56*f12 + a57*f13 + a65*f21 + a66*f22 + a67*f23 +
Thresholding:
Thresholding is the method of converting of grey-level image into binary image.This is done with the help of threshold value that is compared with all the pixels in the
image and changed them basing on the grey-value
If g ij :> threshold value
g ij = 1
else
g ij = 0
4. Customers & users:
A) Customers of the system are DOCTORS that take decisions on the results obtained
from the system. Other customers ate PHARMACEUTICAL ANALYSTS who
calculate different effects of different medicines for a particular disease.
B) Users of the system are PATIENTS who come for treatment with reports given in
the form of images, x-rays etc. Other users are PHARMACEUTICAL
COMPANIES those who carry out research work to develop new medicines.
5. Environment:
The proposed system should work under the fallowing environment
1. SOFTWARE RECOMMENDATIONS:
Operating system : Windows 98 / NT based
Packages : Java virtual machine (JVM)
f11 f12 f13
f21 f22 f23
f31 f32 f33
11
-
7/31/2019 How to prepare Documentation for IT project
12/105
2. HARDWARE RECOMMENDATIONS:
Main memory : 256 MB
Secondary memory : 25 MB for program
Processor : A high-end processor with speed more than 500 MHz.
6. Tasks and procedures currently proposed:
The proposed system should perform the fallowing operations:
a) Load image: System should read an image that is selected by user.
b) Image info: System should be able to provide information about image like grey-
levels present.
c) Draw histogram: System should draw histogram where requested.
d) Normalize: System should normalize given image before doing any operation.
e) Apply filter: Systems main activity is to apply given filter and obtain output image.
f) Apply threshold: After applying any filter the system should apply given threshold
values to the filtered image and display all the different images.
g) Count edge length: To compare the operations of two filters we need to compute the
edge length for given width of the edge and given image.
h) Tabulate results: To analyse the result of to filters we need the edge information in the
form of table with specific parameters.
7. Competing software:
As the old existing software is designed to analyse general kind of images, we
should take care to apply right filer to our images. Thus existing software are found to be
efficient in respective fields. We are developing software that suits to all kinds of images.
12
-
7/31/2019 How to prepare Documentation for IT project
13/105
Phase - 3
Requirement
Specifications3.1 Functional Requirements:
Functional requirements for the promised system are as fallows:
1. Inputs:
A) Image details : Input image, image description
B) Normalize details : Input image, output grey-level range
C) Mask details : Input image, input mask
D) Threshold details : Input image, Threshold value, output image
E) Histogram details : Input image, group value
F) Edge details : Input image, edge width
2. Outputs:
A) Image details : Image, image description, grey-value range
B) Histogram details : Image, Histogram, grey-value range
C) Table details : Threshold value, image description, edge width, edge length
3. Stores:
A) Table details : Image, threshold value, edge width, edge length
4. Computations:
A) Edge width : Format of the edge should be as fallows
1 2 3
Horizontal edge:
Vertical edge:
B) Edge length : Format of edge should be as fallows
13
0 0 0
G G G
0 0 0
0 0 0 0
G G G G
G G G G
0 0 0 0
0 0 0 0 0
G G G G G
G G G G G
G G G G G
0 0 0 0 0
0 G 0
0 G 0
0 G 0
0 G G 0
0 G G 0
0 G G 0
0 G G 0
0 G G G 0
0 G G G 0
0 G G G 0
0 G G G 0
0 G G G 0
-
7/31/2019 How to prepare Documentation for IT project
14/105
14
0 0 0 0 0 0 0
0 G G G G G 0 WIDTH: 1 LENGTH: 5
0 0 0 0 0 0 0
-
7/31/2019 How to prepare Documentation for IT project
15/105
C) Report generation:
To generate a table
Length of edges with width is 1 = sum of lengths of all such edges in all directions.
5. Timing & Synchronization:
Filter applying time is more important for the fast execution of the system. To view
the output quick we should apply filters in parallel way. So we need to synchronize the
operations of the system.
3.2 Non-Functional Requirements:
Non-functional requirements are for the system are constraints for the system that
ate useful for the user that can new specified below:
1. Usability:
The system contains various links that ate useful for the user to navigate to various
URLs that describe the filters used. There are other links that will help the user to study
and acquire knowledge about them. User can also search for new filters and can implement
in his program.
2. Reliability:
The system proposed is reliable with the fallowing constraints:
a) The system should be able to process and generate results with in preferred time
for the images of size at least 1024 x 1024
b) The system should not hang or break for applying the filers on large images, but
may cause delay in time.
c) At any point of time the system should be able to display all the filtered images on
screen at a time.
d) The system does need any security since the images are given as input and results
ate taken out of the system. There is no scope for the storage of results in the
system.
e) When processing large images we need to take care that main memory should be
free for processing images without any disturbance.
15
-
7/31/2019 How to prepare Documentation for IT project
16/105
3. Performance:
The systems performance can be estimated with the fallowing constraints:
a) The system concurrently processes images to display them in as fast as it can, so
there is no scope for other users to interact with the system.
b) The system is developed to operate on a single machine, but not on network to
allow users to interrupt.
4. Supportability:
The fallowing constraints reveal the support provided by the system:
a) The system can be extended to any number of filters and also make the results to store
for future reference. The system can also be extended to publish the results or print
them.
b) The system is supported to make the user to maintain or operated from network to get
it shared by the users.
c) The system does not allow the use the part it to operate on different software or
hardware environments.
5. Implementation:
There ate no constraints on the hardware platform, maintenance team or on the
testing team to implement the operations of the system. Others reasons for the failure of
the system are not considerable.
6. Interface:
The interface provided is confined to the fallowing constraints:
a) The system need not interact with other software to do its work or to make it useful
for the user.
b) The system import or export the date except the image that is taken as an input.
c) The need to maintain the minimum requirements to use the system in an efficient
way.
7. Operations:
The user himself can manage the system since there ate no critical tasks performed
by the system.
16
-
7/31/2019 How to prepare Documentation for IT project
17/105
8. Packaging:
The system installation package provided to the clients should have fallowing
constraints:
a) The package should be of less portable size.
b) The package should contain clear instructions to make the user to install for him.
c) The package can be installed by any number of users with any pre-notification.
9. Legal constraints:
The software provided is legally allowed to redistribute to any number of users that
a user wishes. No one is allowed to sell or purchase the software for your business.
3.3 Functional Modal / USE-CASE Modal:
1. Identifying actors:
A) Users: The operators who uses the system.
2. Identifying Use-cases:
17
Acquire image
User
Input image details
User Input filter details
Output image
Input image details
User Input threshold details
Output image
Input image details
User Input normalizing details
Output image
-
7/31/2019 How to prepare Documentation for IT project
18/105
3. Refining Use-cases :
4. Identifying relations among Use-cases :
18
Image details
User Normalizing details
Output image
Input image details
User Input edge details
Output edge length
Input image
details
User
Input edgedetails
Output edge
lengthsUser
Image details
User Filter details
Output image
Image details
User Threshold details
Output image
Input image
details
User
Input edge
details
Output edge
lengthsUser
-
7/31/2019 How to prepare Documentation for IT project
19/105
6. Use-case diagrams and their description:
Use-case name User operations
Participating actors User
Flow of events
1. Image details2. Input normal range
3. Receive normal image
4. Input filter details
5. Receive filtered images
6. Input threshold values
7. Receive thresholded images
8. Input edge details
9. Receive edge lengths report
19
Input image details
Input normal range
Thresholded images
Edge lengths report
User
User Operations
Filtered image
Input edge details
UserInput threshold details
Normal imageInput filter details
-
7/31/2019 How to prepare Documentation for IT project
20/105
Phase - 4
Requirement Analysis
4.1 Object Modal / Class Modal:
1. Identifying Entity Objects:
The entity objects in this system are
a) Image details : Input image
b) Normalizing details : Define output grey-level range
c) Filter details : Select filter
d) Threshold details : Define threshold values
e) Edge details : Define edge width
2. Identifying Boundary Objects:
The boundary objects obtained in this system are
a) Image details : Display image, details and options
3. Identifying Control Objects:
The control objects obtained in this system are
a) Image details : Receive & apply options on images and display results
4. Identifying Associations:
A)
B)
20
1 normalizes *
1
inputs .
1
1
produces
1
User Normal image
Normal details
user info
1 views *User Image
user info
-
7/31/2019 How to prepare Documentation for IT project
21/105
C)
D)
5. Identifying Aggregates:
A)
21
1 filters *
1
inputs .
1
1
transform
1
User Filtered image
Filter details
user info
1 views *
1
inputs .
1
1
produces
1
User Thresholded images
Threshold values
user info
Image
Grey-levels Image size
1 views *
1
inputs .
1
1
produces
1
User Edge length
Edge width
user info
-
7/31/2019 How to prepare Documentation for IT project
22/105
B)
C)
6. Identifying Aggregates:
A)
B)
7. Class diagrams:
Class diagrams show the relationship among the various objects present in the
system.
22
Filter
Size : number x number
Type : {Laplacian, Gaussian, LoG 6, LoG 17}
Purpose : {Edge enhancement, Smoothening }
Image
Size : number x number
Grey-values : between 0 & 255
Type : {original, normal, filtered, thresolded}
Mask
Matrix Size
Edge
Length Width
Method
-
7/31/2019 How to prepare Documentation for IT project
23/105
A)
4.2 Dynamic Modal / Behavior Modal:
1. Interaction diagrams:
A) Sequence diagrams:
(i)
23
displays
select option
destroysdisplays
images
Userdisplay
acquire
select image
filter
create
select filter
threshold
createselect value
imagesdisplays
destroys
edge
createselect value
images
destroys
create
table
tabledisplays
destroys
normalize
image
image
normalize
imageimage
Image
Details Filters Edges Table
1
m
1
m
m1
1 1
-
7/31/2019 How to prepare Documentation for IT project
24/105
B) Collaboration diagrams:
(i)
2 . State diagrams:
(i)
24
Select image
Void display
Selected Image
Filtered images
Thresholded image
Select filter
Select image
Select threshold
Select back
Select image
Select edge
Edge images
Select image
Select back
Select option
TableSelect image
9. Thresholded Image
10. Edge Width
4. Normalize Image6. Filtered Image8. Thresholded Image
2. Receive & display image
1. Request to read image
ImageIO
Filter
GUI
3. Normalize info5. Filter Info7. Threshold value
EdgeTable
13. Table14. Graph
11. Edge Lengths12. Graph Details
User
-
7/31/2019 How to prepare Documentation for IT project
25/105
3. Activity diagrams:
A) Activity diagrams:
1.
2.
3.
25
Load
image
Normalize
image
Apply
filters
Original
image
Filtered
images
Loadimage
Normalize
image
Apply
thresholds
Filtered
image
Thresholded
images
For each
image
For each
edge width
Compute
edge length
Thresholded
image
Edge
table
Load all
images
Write edge
length to table
-
7/31/2019 How to prepare Documentation for IT project
26/105
4.
4.3 External Requirements:
1. Hardware requirements:
Main memory : 256 MB
Secondary memory : 25 MB for program
Processor : A high-end processor with speed more than 500 MHz.
2. Software requirements:
Operating system : Windows 98 / NT based
Front-end : Java virtual machine (JVM)
26
Apply filter and
show all images
Apply Threshold
and show all images
Compute edge
length for all widths
Input
image
Output
Edge table
Select image
and load it
Write edge
length to table
-
7/31/2019 How to prepare Documentation for IT project
27/105
Requirement AnalysisDocument
1) Introduction:
Edge enhancement is a very important task in analyzing medical images, which is
mostly needed by doctors and Pharmaceutical analysts etc. They need this kind of software
to understand the work clearly and complete the work in fast manner. This software does
also help them to get reports, which will give ideas to take decisions.
2) Existing system:
There ere several systems existing to analyse operations on images, but some of
them were not able to meet the present requirements of users like doctors and
Pharmaceutical analysts etc. The main purpose of those software is to apply some filters on
images and display the output as an image, which is used by users to get more clear picture
rather than seeing the original image. They dont provide any appropriate result so that it
will be easy for the user.
3) Proposed system:
3.1 Overview:
The proposed system should be able to apply various filters on given images and
analyse the result and make users to decide appropriate operation to be fallowed next. The
proposed system should be able to generate reports like HISTOGRAM etc. It should also
provide functions like NORMALIZATION OF IMAGES, THRESHOLDING AFTER
IMAGES, etc. Thus a GUI of options should be provided to view and analyse images
before and after filtering.
3.2 Functional Requirements:
Functional requirements for the promised system are as fallows:
1. Inputs:
A) Image details : Input image, image description
B) Normalize details : Input image, output grey-level range
C) Mask details : Input image, input mask
27
-
7/31/2019 How to prepare Documentation for IT project
28/105
D) Threshold details : Input image, Threshold value, output image
E) Histogram details : Input image, group value
F) Edge details : Input image, edge width
2. Outputs:
A) Image details : Image, image description, grey-value range
B) Histogram details : Image, Histogram, grey-value range
C) Table details : Threshold value, image description, edge width, edge length
3. Stores:
A) Table details : Image, threshold value, edge width, edge length
4. Computations:
A) Edge width : Format of the edge should be as fallows
1 2 3
Horizontal edge:
Vertical edge:
B) Edge length : Format of edge should be as fallows
C) Report generation:
To generate a table
Length of edges with width is 1 = sum of lengths of all such edges in all directions.
5. Timing & Synchronization:
Filter applying time is more important for the fast execution of the system. To view
the output quick we should apply filters in parallel way. So we need to synchronize the
operations of the system.
28
0 0 0
G G G
0 0 0
0 0 0 0
G G G G
G G G G
0 0 0 0
0 0 0 0 0
G G G G G
G G G G G
G G G G G
0 0 0 0 0
0 G 0
0 G 0
0 G 0
0 G G 0
0 G G 0
0 G G 0
0 G G 0
0 G G G 00 G G G 0
0 G G G 0
0 G G G 0
0 G G G 0
0 0 0 0 0 0 0
0 G G G G G 0 WIDTH: 1 LENGTH: 5
0 0 0 0 0 0 0
-
7/31/2019 How to prepare Documentation for IT project
29/105
-
7/31/2019 How to prepare Documentation for IT project
30/105
3.3 Non-Functional Requirements:
1. Usability:
The system contains various links that ate useful for the user to navigate to various
URLs that describe the filters used. There are other links that will help the user to study
and acquire knowledge about them. User can also search for new filters and can implement
in his program.
2. Reliability:
The system proposed is reliable with the fallowing constraints:
f) The system should be able to process and generate results with in preferred time
for the images of size at least 1024 x 1024
g) The system should not hang or break for applying the filers on large images, but
may cause delay in time.
h) At any point of time the system should be able to display all the filtered images on
screen at a time.
i) The system does need any security since the images are given as input and results
ate taken out of the system. There is no scope for the storage of results in the
system.
j) When processing large images we need to take care that main memory should be
free for processing images without any disturbance.
3. Performance:
The systems performance can be estimated with the fallowing constraints:
c) The system concurrently processes images to display them in as fast as it can, so
there is no scope for other users to interact with the system.
d) The system is developed to operate on a single machine, but not on network to
allow users to interrupt.
4. Supportability:
The fallowing constraints reveal the support provided by the system:
d) The system can be extended to any number of filters and also make the results to store
for future reference. The system can also be extended to publish the results or print
them.
30
-
7/31/2019 How to prepare Documentation for IT project
31/105
e) The system is supported to make the user to maintain or operated from network to get
it shared by the users.
f) The system does not allow the use the part it to operate on different software or
hardware environments.
5. Implementation:
There ate no constraints on the hardware platform, maintenance team or on the
testing team to implement the operations of the system. Others reasons for the failure of
the system are not considerable.
6. Interface:
The interface provided is confined to the fallowing constraints:
d) The system need not interact with other software to do its work or to make it useful
for the user.
e) The system import or export the date except the image that is taken as an input.
f) The need to maintain the minimum requirements to use the system in an efficient
way.
7. Operations:
The user himself can manage the system since there ate no critical tasks performed
by the system.
8. Packaging:
The system installation package provided to the clients should have fallowing
constraints:
a) The package should be of less portable size.
b) The package should contain clear instructions to make the user to install for him.
c) The package can be installed by any number of users with any pre-notification.
9. Legal constraints:
The software provided is legally allowed to redistribute to any number of users that
a user wishes. No one is allowed to sell or purchase the software for your business.
31
-
7/31/2019 How to prepare Documentation for IT project
32/105
3.4 System Modal:
1. Use-case modal and its description:
Use-case name User operations
Participating actors User
Flow of events
10. Image details
11. Input normal range
12. Receive normal image
13. Input filter details
14. Receive filtered images
15. Input threshold values
16. Receive thresholded images
17. Input edge details
18. Receive edge lengths report
32
Input image details
Input normal range
Thresholded images
Edge lengths report
User
User Operations
Filtered image
Input edge details
UserInput threshold details
Normal imageInput filter details
-
7/31/2019 How to prepare Documentation for IT project
33/105
2. Object model / Class model:
3.5 Dynamic Modal / Behavior Modal:
1. Interaction diagrams:
A) Sequence diagrams:
33
Image
Details Filters Edges Table
1
m
1
m
m1
1 1
displays
select option
destroysdisplays
images
Userdisplay
acquire
select image
filter
createselect filter
threshold
createselect value
imagesdisplays
destroys
edge
createselect value
images
destroys
create
table
tabledisplays
destroys
normalizeimage
image
normalizeimageimage
-
7/31/2019 How to prepare Documentation for IT project
34/105
B) Collaboration diagrams:
2. State diagrams:
34
9. Thresholded Image10. Edge Width
4. Normalize Image6. Filtered Image8. Thresholded Image
2. Receive & display image
1. Request to read image
ImageIO
Filter
GUI
3. Normalize info5. Filter Info7. Threshold value
EdgeTable
13. Table14. Graph
11. Edge Lengths12. Graph Details
User
Select image
Void display
Selected Image
Filtered images
Thresholded image
Select filter
Select image
Select threshold
Select back
Select image
Select edge
Edge images
Select image
Select back
Select option
TableSelect image
-
7/31/2019 How to prepare Documentation for IT project
35/105
3. Activity diagrams:
1.
2.
3.
35
Load
image
Normalize
image
Apply
filters
Original
image
Filtered
images
Loadimage
Normalize
image
Apply
thresholds
Filtered
image
Thresholded
images
For each
image
For each
edge width
Compute
edge length
Thresholded
image
Edge
table
Load all
images
Write edge
length to table
-
7/31/2019 How to prepare Documentation for IT project
36/105
4.
36
Apply filter andshow all images
Apply Threshold
and show all images
Compute edge
length for all widths
Input
image
Output
Edge table
Select image
and load it
Write edge
length to table
-
7/31/2019 How to prepare Documentation for IT project
37/105
Phase - 5
System Design
System design is the transformation of analysis modal into system design modal.
During system design developers define the design goals of the project and decompose the
system into smaller subsystems that can be implemented by individual teams.
5.2 Identifying Design Goals:
There ate several reasons to identify the design goals of any system. These goals
will help to design the system in an efficient manner. There are several criteria to identify
these goals. Some of the criteria were explained below:
1. Performance criteria:
a) Response time : The response time for the system is based on the size id image
given as input to the system.
b) Throughput : The throughput of the system is high since it will operate filters on
image at a time parallel to one another thus increasing response
time and increasing the fastness of the system.
c) Memory : The memory used by the system is optimal because the memory
related to one operation will be made free after the work is
complete, thus reducing the used memory.
2. Dependability criteria:
a) Robustness : The system should be designed to work efficiently on images of
size 1024 x 1024 without any problem.
b) Availability : The system should be ready to accept command from user at any
point of time without waiting for internal operations.
c) Fault Tolerance : The system should not allow the user to work with fault input. It
displays error messages for every specific fault occurred.
d) Safety : The system should not do any operations on the input image to get
it disturbed.
37
-
7/31/2019 How to prepare Documentation for IT project
38/105
3. Maintenance criteria:
a) Portability : The system should work on all the platforms like Linux, windows,
Macintosh etc
b) Readability : The code generated should be able to understand the purpose of
the function of that, so as to make the user to make the
modifications easily.
c) Traceability : The code generated should be easy to map with the functions with
the operations specified by the client.
4. End-user criteria:
a) Utility : The system should be made to operate on all inputs of end-user
under any kind of circumstances. It should complete all the
commands or instructions given by user without any interruption.
b) Usability : The interface of the user is to be defined with all options which
males the work of the end-user more easy.
5.2 Identifying Subsystems:
In this phase we need to identify the subsystems present in the system and convert
them to classes or procedures that can be easly implemented in the system code.
1. Class view:
A)
38
Image
Details Filters Edges Table
1
m
1
m
m1
1 1
-
7/31/2019 How to prepare Documentation for IT project
39/105
2. System overview:
`
3. Subsystem view:
The system can be subdivided into various subsystems that ate as fallows:
A) Interface subsystem : This subsystem is designed to display information n
images as well as to show options and let user to select
the one of his choice
B) Memory subsystem : This subsystem is useful for the user to maintain the
images in the memory and to perform operations on it.
39
Image
Filter Threshold
Table Edge
Display
Normal
Table
Report Subsystem
Filter
Threshold
Edge
Image
Operators Subsystem Memory Subsystem
Display
Interface Subsystem
Normal
-
7/31/2019 How to prepare Documentation for IT project
40/105
C) Operators subsystem : Under this subsystem the user will receive get all the
filters or functions that he wishes to use on the images.
The selected filters or functions ate sent to the memory
to get performed on the images.
D) Report subsystem : This subsystem is used to compute edge information
from the memory objects and send the result table to the
output display subsystem.
5.3 Addressing design goals:
1. Mapping subsystems to processes and components:A) Identifying Hardware configuration and a platform:
To understand the Hardware-Software interaction present in the system we
need to draw Deployment diagrams. These deployment diagrams for the proposed
system were explained below:
2. Identifying and storing Persistent data:
Persistent data represents a single execution of the system. The data needed to
control and maintain the system. In the present system the persistent data is the filters that
ate being used to develop the software. These filters ate fixed and stored inside the system
not on any file or database to be disturbed or modified. So we dont need any care about
them.
40
User interface
Report generator
User system
Image IO
File IO
Operating system
-
7/31/2019 How to prepare Documentation for IT project
41/105
3. Providing access controls:
In this system the operations ate not used in special purpose, but the work which is
being performed in the system is the operations on an image that are done by the user
which can not be changed so we dont need any access control mechanism in the system.
4. Designing global control-flow:
The global control-flow come into picture when the operations are performed in
various locations by various people, but the system is not developed to do so. Here the
work is already made to be processed sequentially by the user.
5. Identifying boundary conditions:
Boundary conditions that present in the system are as fallows:
A) Startup & Shutdown:
The system we are developing is not a high programming or data enhancement
system, so we dont need to develop any startup or shutdown conditions.
B) Exception Handling:
This operation is very important in building the system because the image is read
from a disk or drive which may be a removable, so we need to take IOException care for
reading images. Similarly care should be taken to operate on memory objects. The
fallowing exceptions are to be handled
1) IOException : For reading files for images.
2) ArrayOutOfBounds : For navigating through images and filters.
3) Overflow : For convolution of image and filter
4) .ImageIO : For testing a file weather an image or not.
41
-
7/31/2019 How to prepare Documentation for IT project
42/105
System Design Document
1 Introduction:
A. Purpose of the system:
The System should read the input images, normalize them, apply filters, threshold
the output images and compute edge length to compare the given filters applied on a
particular image.
B. Design goals:
There ate several reasons to identify the design goals of any system. These goals
will help to design the system in an efficient manner. There are several criteria to identify
these goals. Some of the criteria were explained below:
1. Performance criteria:
a) Response time : The response time for the system is based on the size id image
given as input to the system.
b) Throughput : The throughput of the system is high since it will operate filters on
image at a time parallel to one another thus increasing responsetime and increasing the fastness of the system.
c) Memory : The memory used by the system is optimal because the memory
related to one operation will be made free after the work is
complete, thus reducing the used memory.
2. Dependability criteria:
a) Robustness : The system should be designed to work efficiently on images ofsize 1024 x 1024 without any problem.
b) Availability : The system should be ready to accept command from user at any
point of time without waiting for internal operations.
c) Fault Tolerance : The system should not allow the user to work with fault input. It
displays error messages for every specific fault occurred.
d) Safety : The system should not do any operations on the input image to get
it disturbed.
42
-
7/31/2019 How to prepare Documentation for IT project
43/105
3. Maintenance criteria:
a) Portability : The system should work on all the platforms like Linux, windows,
Macintosh etc
b) Readability : The code generated should be able to understand the purpose of
the function of that, so as to make the user to make the
modifications easily.
c) Traceability : The code generated should be easy to map with the functions with
the operations specified by the client.
4. End-user criteria:
a) Utility : The system should be made to operate on all inputs of end-user
under any kind of circumstances. It should complete all the
commands or instructions given by user without any interruption.
b) Usability : The interface of the user is to be defined with all options which
males the work of the end-user more easy.
C. References:
The references made to build this system are as fallows:
1. Books:
a) Digital Image Processing
By Rafael C. Gonzalez and Richard E. Woods Addision Wesley
b) Fundamentals of Electronic Image Processing
By Arthyr R Weeks, Jr.(PHI)
c). Image processing, Analysis, and Machine vision
By Milan Sonka vaclan Halavac Roger Boyle, Vikas Publishing House.
2. Journals:
a) Fast convolution with Laplacian-of-Gaussian Masks
By J.S.Chen, A.Huertas, and G.Medioni.
3. Web links:
a) http://homepages.inf.ed.ac.uk/rbf/HIPR2/log.htm
b) http://homepages.inf.ed.ac.uk/rbf/HIPR2/gsmooth.htm
43
-
7/31/2019 How to prepare Documentation for IT project
44/105
D. Overview:
The proposed system should be able to apply various filters on given images and
analyse the result and make users to decide appropriate operation to be fallowed next. The
proposed system should be able to generate reports like HISTOGRAM etc. It should also
provide functions like NORMALIZATION OF IMAGES, THRESHOLDING AFTER
IMAGES, etc. Thus a GUI of options should be provided
2 Current software architecture:
Currently the system is being implemented by manual verification.
3 Proposed software architecture:
A. System overview:
B. Subsystem decomposition:
44
Image
Filter Threshold
Table Edge
Display
Normal
Table
Report Subsystem
Filter
Threshold
Edge
Image
Operators Subsystem Memory Subsystem
Display
Interface Subsystem
Normal
-
7/31/2019 How to prepare Documentation for IT project
45/105
C. Hardware-Software mapping:
D. Persistent data management:
In the present system the persistent data is the filters that ate being used to develop
the software. These filters ate fixed and stored inside the system not on any file or database
to be disturbed or modified. So we dont need any care about them.
E. Access control and security:
In this system the operations ate not used in special purpose, but the work
which is being performed in the system is the operations on an image that are done by the
user which can not be changed so we dont need any access control mechanism in the
system.
F. Global control-flow:
The global control-flow come into picture when the operations are performed in
various locations by various people, but the system is not developed to do so. Here the
work is already made to be processed sequentially by the user.
G. Boundary conditions:
Boundary conditions that present in the system are as fallows:
A) Startup & Shutdown:
The system we are developing is not a high programming or data enhancement
system, so we dont need to develop any startup or shutdown conditions.
B) Exception Handling:
This operation is very important in building the system because the image is read
from a disk or drive which may be a removable, so we need to take IOException care for
45
User interface
Report generator
User system
Image IO
File IO
Operating system
-
7/31/2019 How to prepare Documentation for IT project
46/105
reading images. Similarly care should be taken to operate on memory objects. The
fallowing exceptions are to be handled
1) IOException : For reading files for images.
2) ArrayOutOfBounds : For navigating through images and filters.
3) Overflow : For convolution of image and filter
4) .ImageIO : For testing a file weather an image or not.
4 Subsystem services:
A) Interface subsystem : This subsystem is designed to display information n
images as well as to show options and let user to select
the one of his choice
B) Memory subsystem : This subsystem is useful for the user to maintain the
images in the memory and to perform operations on it.
C) Operators subsystem : Under this subsystem the user will receive get all the
filters or functions that he wishes to use on the images.
The selected filters or functions ate sent to the memory
to get performed on the images.
D) Report subsystem : This subsystem is used to compute edge information
from the memory objects and send the result table to the
output display subsystem.
46
-
7/31/2019 How to prepare Documentation for IT project
47/105
Phase - 6
Object Design
Object design involves identification of existing patterns and off-shelf components
that are present in the system. Description of class interfaces is also done in the system.
6.1 Reusing pattern solutions:
1. Identifying Solution objects:
Solution objects that ate present in the system can be stated for the organization of
hardware control flow and other connections for relating software and off-shelfcomponents.
2. Specification inheritance & Implementation inheritance:
47
User interface
Image
Report
User interface
javax.imageio.ImageIO
IO Subsystem Memory Assistant
Off-shelf Components
Solution objects
Application objects
JIPS System
java.awt.image.BufferedImage
-
7/31/2019 How to prepare Documentation for IT project
48/105
Inheritance is the best way to implement the most critical tasks that are well
defined in the Operating System. These operations are present in the system, we need not
develop any new method, and just we extract and extend the methods present. The Image
operations present in the system are fallows
There are some other methods that are inherited and can be used to implement the
system with ease by reducing the coding activity.
3. Selecting patterns:
In the system design and other phases implemented we defined more goals in
different manner with a complexity in them. To achieve all these goals we need to define
architecture, which enables us to deal with complexity and allow flexibility to deal with
change later in development process.
A). Strategy pattern:
In our system we have to operate on various images of various types. But the
method implemented must be same. So we fallow the Strategy pattern to acquire images
and read them into memory.
48
Class BufferedImage extends java.awt.image
{
// All the methods present in image can be applied to BufferedImage.
// It can also implement some other functions and features.
}
Class pimg extends JLabel
{ BufferedImage img; JLabel name;
public pimg(BufferedImage image, String text) {}
}
// Combination of JLabel and BufferedImage classes is developed to display.
// the constructer is used to create a label to display image and name of it.
-
7/31/2019 How to prepare Documentation for IT project
49/105
-
7/31/2019 How to prepare Documentation for IT project
50/105
3. Specifying Pre-conditions and Post-conditions:
In this step we identify the constraints for each operation in each class. The
conditions to perform an operation and to complete an operation are to be known to
describe the operations. The various Pre and Post conditions of the system are as fallows:
4. Invariants and Inheriting Contracts:
Invariants are complicated conditions that are implemented during the design that
enables the developer to generate the code easily. In the present system there are no such
combinations of conditions to describe.
50
Image
+Investor code: int
Result
+Table: int[][]- image: Image
+ShowResult()
Filter Operations
-Normalize()+ApplyLap()
+ApplyGas()
+ApplyLog6()
+ApplyLog7()
1 *
1
*
/* To apply filter we have to normalize image first */
Context: Image :: applyfilter(image) pre:
Image.type()->isnormalized()
/* To apply threshold on an image first we need to apply one filter */
Context: Image :: applythresh(image) pre:
Image.type()->isfiltered()
/* Generation of table is complete only after edges ate found in alldirections and write them to table */
Context: image :: generatetable() post:
Table.details->isfilledinalld(image, width, direction)
+Images: umage,
normimg, timg
Edge
-Edge width: int
+Edge length: int
length(image, width)
-
7/31/2019 How to prepare Documentation for IT project
51/105
In our system we need to display all the images and also the table details these
details ate to be made condition as invariants.
In the above instance the display() method can be used to display any kind of
images that are generated in the system
51
Images
+size : int x int
+Display()
Selected image Filtered image Threshold image Normal image
-
7/31/2019 How to prepare Documentation for IT project
52/105
Object Design Document
1. Introduction:
1.1 Object design trade-offs:
Object design trade-offs include various non-functional constraints that were
discussed earlier, ate to be mentioned again to male them qualify more.
a) The system should not hang or break for applying the filers on large images, but
may cause delay in time.
b) At any point of time the system should be able to display all the filtered images on
screen at a time.
c) The system does need any security since the images are given as input and results
ate taken out of the system. There is no scope for the storage of results in the
system.
d) When processing large images we need to take care that main memory should be
free for processing images without any disturbance.
e) The system can be extended to any number of filters and also make the results to
store for future reference. The system can also be extended to publish the results orprint them.
f) The system is supported to make the user to maintain or operated from network to
get it shared by the users.
1.2 Interface documentation guidelines::
The interface documentation guidelines are useful to improve the communication
between developers during the design phase. For our system we specify some rules to beimplemented by the programmers. They are as fallows:
a) Classes should be designed in respect to the action performed by them.
b) Functions declared should have appropriate names for understanding the purpose
and exact names for the parameters.
c) The function calls should be made efficiently to allow the system to work properly.
d) The web links and references should be made dynamic for users ease.
52
-
7/31/2019 How to prepare Documentation for IT project
53/105
2. Packages:
This process describes the decomposition of subsystems into packages and the file
organization of the code.
Package Classes included
Images pimg
Filters JIPS
Operations JIPS
Table Runthread
2. Class Interfaces:
In this process we explain the relation between the various classes present the
system. The fallowing diagram shows the various classed present in out system, it also
describes the Interface relationship among them.
Phase - 7
53
JIPS
MemotyIOHelpImageIO
Table
Threshold Edge
-
7/31/2019 How to prepare Documentation for IT project
54/105
Implementation & Coding
ActivityAfter all the design activities were implemented correctly and completely we will
be having the use-cases , class interfaces and designing goals with us. The next step is to
implement them to resolve them into a system by developing the code. The code
generation should be done in a systematic manner. The process will be explained in this
phase.
7.1 Optimizing Object Design modal:
The Object modal obtained in the object design phase will be a very complex one.
To make the design very clear and easy we optimize it.
a) Modal transformations:
Here out objective is to know the defective modal and change it.
Before transforming:
After transforming:
b) Refactoring:
Here we plan for the code optimization foe the benefit of programmers and readersBefore refactoring:
54
Original Image Filtered Image Thresholded Image
Image
Type: String
Public class jips extends jpanel
{ ping p1 = new pung(this)
class ping extend Jlabel
{
public ping(Jpanel p)
{p.add() }
}
}
-
7/31/2019 How to prepare Documentation for IT project
55/105
After refactoring:
7.2 Mapping Associations to Collections:
In this step we combine some Associations obtained in the Requirement analysis
phase to generate Collections.
a) One-to-one Associations:
b) One-to-many Associations:
c) Manytomany Associations :
d) Manytoone Associations :
55
1 1ImageAcquired image
1 *ImageFiltered Images
1 *Image Thresholded
Images
1 *Image Edges
* *Threshold ImagesEdges
* 1Edges Table
Public class jips extends jpanel
{ Jpanel me = this;
ping p1 = new pung()
class ping extend Jlabel{
public ping(J)
{me.add() }
}
-
7/31/2019 How to prepare Documentation for IT project
56/105
e) Associations classes:
Some of the above associations can be grouped to have a class as fallows:
7.3 Mapping Contracts to Exceptions:
In this step we convert the contracts and conditions defined in the object design
phase into exceptions that are used as a part of coding activity. All the pre & post
conditions and invariants that are described during the previous phases are converted to
exceptions.
1) Checking Pre-conditions:
The pre conditions defined in the system ate
a) Image should be normalized before applying filter.
b) Image should be filtered before applying threshold on it.
c) All the filters ate to be applied before computing table of edges.
All the above conditions are procedurally made inbuilt in the system, so we dint
need to take any extra care regarding them.
56
Image Masks
Filtered image
Threshold image
Table
Edge
-
7/31/2019 How to prepare Documentation for IT project
57/105
2) Checking Post-conditions:
The post conditions defined in the system ate
a) Before displaying the results table, we have to check weather applied all filters or
not to ensure for complete table.
All the above conditions are procedurally made inbuilt in the system, so we dint
need to take any extra care regarding them.
3) Checking efforts:
This step deals with the checking of effort made by the developer to do the real
work, the code for condition checking etc. is more complex we should try to increase effort
made on testing and code clean-up.
4) Checking increased opportunities for defects:
The main usage of this step is to check the code for the presence of any mistakes
that lead to a downfall of system. The leakages and bugs present in the source code are to
be removed.
5) Preferences drawback:
The preferences considered by the developer sometimes become problem for
coding because of the conflict between them. Here condition like correctness, efficiency
etc. may overcome preferences like response time, throughput etc. In such positions the
developer should take care of the most important one.
7.4 Mapping Object modals to a persistent storage schema:
In this step the schema for the persistent data is being discussed.
A) Image : The major data part in the system is an image. So we need to define the
stricture of the image. Image is a rectangular plot of pixels that has come
grey-value which ranges from 0 to 255.
Image I mxn =
57
g11 g12 g13... .. g1n
g21 g22 g23... .. g2n
gm1 gm2 gm3... .. gmn
-
7/31/2019 How to prepare Documentation for IT project
58/105
Where g ij represents the colot at that ith row, jth column.
mxn is the size or the image.
we treat the image in the form of matrix of integer values
image[j][j] = g ij
Functionally we use the functions present in the BufferedImage class to get or set the color
as below
color = Image.getRGB(I,j)
To deal with grey-scale images we convert the color to grey-value
Color = ARGB(alpha, red, green, blue)
Grey-value = ARGB(alpha, grey, grey, grey)
To read the grey-value of a pixel we need to do binary operations on the color receives.
grey-value = ARGB(alpha, grey, grey, grey) & 0xff
By the above binary operation we get the grey value at that pixel.
B) Filter : This is a data item which is to be organized in the system. As image this is
also a rectangular array grid used to perform mathematical operations on
images.
Filter m pxp =
Where v ij represents the colot at that ith row, jth column.
p x p is the size or the mask.
58
v11 v12 v13... .. v1p
v21 v22 v23... .. v2p
vm1 vm2 vm3... .. vpp
-
7/31/2019 How to prepare Documentation for IT project
59/105
Phase - 8
Interface Design
Interface design is the development of screens basing on the input requirements
and output requirements that were specified earlier.
8.1 Introduction to software environment:
The software being used to develop this system are as fallows
1) Java Devolopmebt Kit 1.5 :
Java development kit 1.5 is robust, efficient and reliable software that is used todevelop software in a reliable way. Java is a well organized programming language that
can be implemented
8.2 Introduction to hardware used:
Main memory : 512 MB
Processor : 2.56 GHz.
8.3 Design of persistent data:
The various persistent data objects used in this system can be explained as fallows
a) Grey-value:
Grey-value is a very important data item used in the system. Grey-value is the
combination of three basic colors (Red, Green, Blue) in eqlual aspect. Thus we have
gv = Color(alpha, red, green, blue)
implemented as INTEGER data rype in java as
int gv = color( 0xff, int, int, int )
b) Filter or mask:
The filtrer or mask is a mathematical form of integers that are implemented in java
as
Mask m = m11 m12 m13
M21 m22 m23
M31 m32 m33
59
-
7/31/2019 How to prepare Documentation for IT project
60/105
Represented as
Int[][] m = new int[3][3] : {(m11, m12, m13,), (m21, m22, m23,), (m31, m32, m33)}
c) Image:
Image is a combination of grey values and is represented as a mateix of integers
This is represented as array of integers in java.
Image I mxn = gv 1 1 gv 1 2 gv 1 n
gv 2 1 gv 2 2 gv 2 n
gv m 1 gv m 2 gv m n
is represented as bufferedimage in java as fallows
BufferedImage I m n = new BufferedImage(m,n,BufferedImage.TYPE_BYTE_GREY)
The data is treated as a matrix of integers.
8.4 Design of Input screens:
The various inputs in this system are handled using menus and the other inputs like
Brousing a file etc. are done with the help of java in-built controls as
a) File Open Dialog:
The file open dialog in java is done with the help of JFileChooser keyword.
60
// Creation of file open dialog
JFileChooser fileChooser = new JFileChooser("IMAGES");
if(fileChooser.showDialog(new JFrame(),"Select Image") ==JFileChooser.APPROVE_OPTION)
// Aassigning the selected file to file pointer.
{ File file = fileChooser.getSelectedFile();
// Reading the image file and assigning the image to
// bufferedimage object
try { image = ImageIO.read(file); }
// Catch any error exception caused by the file object
catch (IOException ioe) { }
}
-
7/31/2019 How to prepare Documentation for IT project
61/105
The above part of code will display the file open dialog box and assign the selected file to
file object in the program.
b) Menus:
Menus play a very important in giving the options to the program. The design of
menus is done as fallows:
61
// To create menu bar and menu heads
JMenuBar menubar = new JMenuBar();
JMenu filemenu, helpmenu, fltmenu, threshmenu, edgemenu, toolsmenu;
// To create menu items and give access conteols
JMenuItem contents = new JMenuItem("Contents",'c');
// To add menu items to heada and heads to menu bar
helpmenu.add(contents);
helpmenu.addSeparator();
// To give action to menu items with the help of new self implemebted
// class TextAction();
contents.addActionListener(new TestAction("contents"));
// TextAction implemented by programmer to ease the work of menus
class TestAction extends AbstractAction
{
public TestAction(String name) { super(name); }
public void actionPerformed(ActionEvent event)
{ if (getValue(Action.NAME).equals("load"))
{ JFileChooser fileChooser = new JFileChooser("IMAGES");
// other implementations code
}}
-
7/31/2019 How to prepare Documentation for IT project
62/105
The view of the resultant menu will be as fallows;
8.5 Design of output screens:
Design of output screens include various components like images, tables and
other information like text is displayed with the help of fallowing options:
a) Text:
The text present the system is displayed with the help of labels as fallows:
b) Images:
The outputs in the system are mostly images. They can be viewed with the
help of labels as fallow:
Similarly any number of images can be displayed on several labels to make the
system to view the output images.
The sample view of the images and labels can be used as fallows
62
JLabel limg = new JLabel();
limg.setIcon(new imageIcon(BufferedImage));
JLabel ltext = new JLabel(String);
ltext.setText(String);
-
7/31/2019 How to prepare Documentation for IT project
63/105
c) Grid of images:
The outputs in the system are mostly images. We should show many images
at a time on the screen so we need to arrange them in a grid view. This can be done
with the help of fallowing commands:
The above code is used to create a grid of 9 images and add some desired to
te grid. The output will be as fallows:
63
// To devide the screen into 9 equal parts
JPanel imgpane = new JPanel(new GridLayout(3,3) );
// To set the panel as backbone for the screen
pane.setContentPane(imgpane);
// To add images on the new screen
pane.add(new pimg(image,"Selected image"));
// To draw images on screen
Graphics2D g = normimg.createGraphics();
g.drawImage(image,0,0,image.getWidth(),image.getHeight(),null);
normalize(normimg); pane.add(new pimg(normimg,"Normalized Image"));
// To change the display of the menus & control flow of the system.
fltmenu.show(); edgemenu.hide(); toolsmenu.show(); pane.show();
-
7/31/2019 How to prepare Documentation for IT project
64/105
d) Table of values:
The output of the system is to displayed in the form of table of values that
are the edge lengths calculated in the program This is achieved with the help of the
fallowing commands:
By the help of above commands we create the table, compute the values and
store the values, finally display the table. The output will be as fallows:
e) Graph:
64
// Compute table values
Object table[][] = new Object[20][10];
// Create table to store values
Object[] col = {"Thresh", "Lap 1","Lap 2","Lap 3","Log6 1","Log6
2","Log6 3","Log17 1","Log17 2","Log17 3"};
JTable tab = new JTable(table, col); JScrollPane js = new
JScrollPane(tab);
// Assign values to the fields of the table
table[k][4] = edgelength(t2,1);
-
7/31/2019 How to prepare Documentation for IT project
65/105
The output of the system is to displayed in the form of a graph that displays
the information in a competitive way to help of the user to take decision easily. The
commands that help are as fallows:
65
// To create graphics object on an image and display it
BufferedImage img = new
BufferedImage(600,525,BufferedImage.TYPE_3BYTE_BGR);
Graphics2D g = img.createGraphics();
; g.drawImage(img,0,0,600,525,null);
// To set color and draw lines on the graphics object
g.setColor(Color.white); g.drawLine(50,0,50,500);
g.drawRect(75+25*i-2,(int) (400-x-2),4,4);
// To set color and draw lines, tectangles, text etc.if (j==1) {g.setColor(Color.CYAN);
o.setColor(Color.CYAN);
o.drawString("Laplacian - 1",20,50);}
-
7/31/2019 How to prepare Documentation for IT project
66/105
8.6 Design of User-Interfaces:
Design of User-interfaces include various like design of forms, windows etc.
that are meant to take commands from users and get the output for the user.
a) Forms & Windows:
The user interface can be displayed as fallows:
66
// Extending Frame class to get user designed screeen
public class JIPS extends JFrame implements ActionListener
{
public JIPS()
{
// Set properties of the user form
super("Coparitive Stuby Laplacian & Gaussian Filters");
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
this.createBufferStrategy(1);setLayout(null);
setFont(new Font("Times New Roman",Font.BOLD,18) );
}
}
// Creation of user object
public static void main(String args[])
{ JIPS ip = new JIPS(); }
-
7/31/2019 How to prepare Documentation for IT project
67/105
b) Message Dialogs:
The user-interface also includes various other components are options like
messages etc. Such commands are as fallows:
The message will be as fallows;
67
// To display a message to avail the information of the users
JOptionPane.showMessageDialog(this,"Welcome to the System.");
-
7/31/2019 How to prepare Documentation for IT project
68/105
-
7/31/2019 How to prepare Documentation for IT project
69/105
Input1
Oracle1
Log1
Input image of size 535 x 526, all filters, 1 threshold value
The system will display 4 filtered images, 4 threshold imges.
4 filtered, 4 threshold images are displayed.
Input2
Oracle2
Log2
Input image of size 385 x 400, 1 filter, all threshold values
The system displays 1 filtered image, 16 threshold images.
1 filtered image, 16 threshold images are displayed.
Name Test case 2
Location JIPS.java: class pimg
Input1
Oracle1
Log1
Input image of size 535 x 526, table, graph
The system will display a table and a graph
A table and a graph are displayed.
Input1
Oracle1
Log1
Input image of size 385 x 400, table, graph
The system will display a table and a graph
A table and a graph are displayed.
9.3 Unit testing:
Testing of building blocks is performed here.
1. To test the smaller units of the system we inspect on buffered image
implementation and file I/O operations etc.
2. Testing of all the components independently and parallel synchronizing the
operations of all components.
This test includes the fallowing tests to be performed:
1 Equivalence test or Black-Box test:
To test the performance of filters and thresholds we define an average range of
scenarios as inputs to maintenance of equality with other inputs we use this Black-Box test
with the fallowing test case:
Name Equivalence rest case
Location JIPS.java: class JIPS
Input1
Oracle1
Log1
Input image of size 535 x 526, all filters, medium threshold value
The system will display 4 filtered images, 4 threshold images.
4 filtered, 4 threshold images with average edge length and width
are displayed.
69
-
7/31/2019 How to prepare Documentation for IT project
70/105
2 Path test or White-Box test:
The control-flow mechanism of application of filters in the system can be
explained with the help of fallowing Flow-Graph:
s
The selection of filters is done with the help of above path whish resulted in the
clear control flow of the activities performed in the program.
3 State-based test:
The state of the display with the change of selection of options is displayed with
the help of fallowing UML state-chart diagram:
70
Display
Laplacian
Gaussian
Laplacian of
Gaussian 6
Laplacian of
Gaussian 17
Images
-
7/31/2019 How to prepare Documentation for IT project
71/105
The states changes of the system can be explained by the help of the fallowing the
crate description. This could explain the difference between the expected output and the
resultant outputs that resulted during the input of various input test-cases.
71
Selected Image
Filtered Image
3. Select back2. Select filter
1. Select image
Thrsholed Image
3. Select back4. Select Threshold
Result table
5. Select result
Result graph
6. Select graph 5. Select result
1. Select image
1. Select image
5. Select result
-
7/31/2019 How to prepare Documentation for IT project
72/105
Stimuli Transition tested Predicted resulting state
Click open image
Click filter
Click back
Click filter
Click Threshold value
Click back
Click Threshold value
Click Result
Click Graph
1. Initial display
2. Select filter
3. Select back
2. Select filter
4. Select threshold
3. Select back
4. Select threshold
5. Select result
6. Select graph
Selected image
Filtered image
Selected image
Filtered image
Thresholded image
Filtered image
Thresholded image
Result table
Result graph
4 Polymorphism test:
The various design patterns that were implemented in the system are to be tested
here. In the present system we need to test the Strategy design pattern implemented in
the reading of the reading of image of various types. The testing is done by giving various
inputs of different types. The fallowing test cases are to be used to test the system.
Name Polymorphism Test case
Location JIPS.java: class pimg
Input1
Oracle1Log1
Input image of size 535 x 526 of BMP format, table, graph
The system will display a table and a graphA table and a graph are displayed.
Input2
Oracle2
Log2
Input image of size 385 x 400 of JPG format, table, graph
The system will display a table and a graph
A table and a graph are displayed.
Input3
Oracle3
Log3
Input image of size 225 x 281 of GIF format, table, graph
The system will display a table and a graph
A table and a graph are displayed.
9.4 Integration testing:
72
-
7/31/2019 How to prepare Documentation for IT project
73/105
Testing of components at a individual level is performed in Unit testing; Those
components have to be tested as a group in this phase. We implement Top-down Strategy
to test the system.
1 Top-down Strategy:
In this test we test the components as a group i.e. pair-wise application of
components that are present.
A, B; A, C; A, D; D, E; and so on.
The faults found can be corrected and re-inspected for the best performance of the system.
9.5 System testing:
System testing is the important phase of testing. This phase is used to test the
satisfaction of functional and non-functional requirements that were in Requirements
Analysis Document. The tests included in this phase in this phase are as fallows:
1 Functional test or Requirements test:
73
User Interface [A]
Filter Class [B] Threshold Class [C] Table Class [D]
Graph Class [E]
-
7/31/2019 How to prepare Documentation for IT project
74/105
In this test we need to test weather the functional requirements stated in
Requirements Analysis Document are met or not.
A) All inputs were processed through navigation of menus.
B) All outputs were presented with the help of images on screen.
C) All computations were performed within the TextAction Class.
D) Storage of table Is done to a text file in Binary Mode;
E) Synchronization of process is done with the help of Runthread Class.
2 Performance test:
In this test we need to test the achievement of design goals stated in System Design
Document.
A) Volume test:
When large images are given as input for the system, it takes much time to
respond but does not hang or crash the system.
B) Timing test
Timing test is implemented to estimate the average time taken to process
and display the result.
3 Pilot test or Field test:
This test conducted with out any pre-conditions or pre-defined scenarios. The
system is given to tester who test on real data and know the practical problems or faults
that come in the system.
4 Acceptance test:
The client who wants the software will conduct the system. The needs to test the
system in the fallowing ways:
A) Benchmark test:
Under this test the client gives the input basing on his typical conditions and tries
to get the output he wants. In system sir gave 4 input images and got the result accurate as
for his requirements.
5 Installation test:
74
-
7/31/2019 How to prepare Documentation for IT project
75/105
The system provided in the form of package is installed in many systems of lab and
found be working efficiently in the Project lab where java is nor installed on some
systems.
By implementing these tests on the system we determine the system to working
well as per the given functional and non-functional requirements.
75
-
7/31/2019 How to prepare Documentation for IT project
76/105
Conclusion
Conclusion of the system describes the satisfaction of the clients, as well as he
description of the pattern in which the system works and the comments of he client.
The conclusions made by the user as fallows:
All the operations present in the system are working as per the
requirements
The system is working at a consid