how to prepare documentation for it project

Upload: raghavender-kanakanti

Post on 05-Apr-2018

219 views

Category:

Documents


0 download

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