FotoGazmic Software Project Definition
-
Upload
hannah-peck -
Category
Documents
-
view
17 -
download
0
description
Transcript of FotoGazmic Software Project Definition
FotoGazmic FotoGazmic SoftwareSoftware
Project DefinitionProject Definition
Senior Project: CS 425Senior Project: CS 425
Spring 2003Spring 2003
Client & End UserClient & End User
Professor Bernard Waxman
Upper ManagementUpper Management
Professor Xudong Yu
Our TeamOur Team
(From left to right: Chad Zbinden, Josey Baker, Rob Mills, Myra Bergman, Tinate Dejtiranukul)
Purpose of the SystemPurpose of the System Develop a Software Package for Image Develop a Software Package for Image
EnhancementEnhancement Color and Density CorrectionColor and Density Correction
Read, Open, Display, and Save TIFF Read, Open, Display, and Save TIFF ImagesImages
Automatically Detect a 20% Gray CardAutomatically Detect a 20% Gray Card Select Portions of the Image and IdentifySelect Portions of the Image and Identify
Automatically Adjust the ColorAutomatically Adjust the Color Allow the User to Save the Corrected Version Allow the User to Save the Corrected Version
Objectives and Success Objectives and Success CriteriaCriteria
Document, Design, Implement, and Document, Design, Implement, and ProduceProduce
Simplify the Task of Color and Density Simplify the Task of Color and Density Correction Correction
Software can Run on any PC that meets Software can Run on any PC that meets the Hardware Requirements the Hardware Requirements
Enhance the Overall Quality of Digital Enhance the Overall Quality of Digital ImageImage
Functional Requirements Functional Requirements
Graphical Interface Graphical Interface Load Function Load Function Save and Save As function Save and Save As function Preview FunctionPreview Function One Level Undo FeatureOne Level Undo Feature Auto Correct Feature Auto Correct Feature Correction Correction
Full Amount or Percentage of Full Amount or Percentage of Suggested Correction Suggested Correction
Functional cont.Functional cont. Selection Tool Selection Tool
Pixel Group, Circle, or SquarePixel Group, Circle, or Square Identify the Area Identify the Area
Predetermined List of Object Types Predetermined List of Object Types Suggested Correction Suggested Correction
Stored Values of Color and Density Stored Values of Color and Density Entire Image or Selected PortionEntire Image or Selected Portion
Options Options Correct only within a Certain RGB Correct only within a Certain RGB
Range Range Correct only by a percentageCorrect only by a percentage
Functional cont.Functional cont.
Image DisplayImage Display Default—Full ResolutionDefault—Full Resolution
Display options Display options Zoom Capability Zoom Capability Scroll Bars Scroll Bars
Nonfunctional Nonfunctional RequirementsRequirements
User Interface and Human FactorsUser Interface and Human Factors Simple, User-friendly Graphical Interface Simple, User-friendly Graphical Interface Tool Selection Palette Tool Selection Palette Integrated Help System Integrated Help System
DocumentationDocumentation Hardware ConsiderationHardware Consideration
IBM compatible IBM compatible 1 Ghz Pentium IV, 256 MB Ram1 Ghz Pentium IV, 256 MB Ram 24-bit true color, 1280x1024 - graphics card24-bit true color, 1280x1024 - graphics card
Nonfunctional cont.Nonfunctional cont.
Performance CharacteristicsPerformance Characteristics Perform Corrections in a Timely Perform Corrections in a Timely
Manner Manner Error Handling and Extreme Error Handling and Extreme
ConditionsConditions Program Should Program Should NOT NOT Crash Crash Appropriate Error MessageAppropriate Error Message
Nonfunctional cont.Nonfunctional cont.
Quality IssuesQuality Issues High Quality Corrected ImagesHigh Quality Corrected Images Minimal Distortion Minimal Distortion Aesthetically Correct Aesthetically Correct
Density and ColorDensity and Color
System ModificationsSystem Modifications Well documented and Easy to ModifyWell documented and Easy to Modify
Pseudo Requirements Pseudo Requirements
User Interface User Interface May be done in Visual BasicMay be done in Visual Basic
Underlying system Underlying system C++C++ C#C# Similar Language in Order to meet Similar Language in Order to meet
Performance Criteria. Performance Criteria.
Use Case ModelUse Case Model
Use CasesUse Cases
Use Case NameUse Case Name SelectPortionSelectPortionParticipating actorParticipating actor EndUserEndUserEntry conditionEntry condition 1. The EndUser selects 1. The EndUser selects
one of the selection one of the selection style tools.style tools.Flow of EventsFlow of Events 2. The EndUser selects a 2. The EndUser selects a
part of the image part of the image with the with the selection tool.selection tool.
3. The EndUser identifies the 3. The EndUser identifies the selected selected portion from a portion from a predetermined list of object predetermined list of object types. types.
Exit condition Exit condition A portion of the image is A portion of the image is selected and selected and identified. identified.
Special RequirementsSpecial Requirements An image must be open.An image must be open.
Use Cases (cont.)Use Cases (cont.)Use Case NameUse Case Name AutoEnhancement(gray card found)AutoEnhancement(gray card found)Participating actorParticipating actor EndUserEndUserEntry conditionEntry condition 1. The EndUser selects the button marked 1. The EndUser selects the button marked
AutoEnhance.AutoEnhance.Flow of EventsFlow of Events 2. A preview window opens displaying the 2. A preview window opens displaying the
corrected corrected image with detected gray card highlighted.image with detected gray card highlighted.3. If the detected gray card is incorrect, the 3. If the detected gray card is incorrect, the
EndUser EndUser will be allowed to select the preferred gray card in will be allowed to select the preferred gray card in the the image using a provided selection tool. image using a provided selection tool.
4. The EndUser selects the correction percentage 4. The EndUser selects the correction percentage to to be made.be made.
5. The EndUser selects the correction range to be 5. The EndUser selects the correction range to be applied.applied.6. The EndUser selects the Enhance button. 6. The EndUser selects the Enhance button.
Exit condition Exit condition 7. The newly enhanced image is displayed.7. The newly enhanced image is displayed.Special RequirementsSpecial Requirements The image must contain a gray card The image must contain a gray card
in the lower left in the lower left hand corner.hand corner.
Use Cases (cont.)Use Cases (cont.)Use Case NameUse Case Name AutoEnhancement(gray card not found)AutoEnhancement(gray card not found)Participating actorParticipating actor EndUserEndUserEntry conditionEntry condition 1. The EndUser selects the button marked 1. The EndUser selects the button marked
AutoEnhance.AutoEnhance.Flow of EventsFlow of Events 2. A preview window opens and displays a 2. A preview window opens and displays a
message message telling the EndUser that a gray card telling the EndUser that a gray card has not been has not been found.found.
3. The EndUser will be allowed to select the 3. The EndUser will be allowed to select the preferred gray card in the image preferred gray card in the image
using a provided using a provided selection tool. selection tool. 4. The EndUser selects the correction 4. The EndUser selects the correction
percentage to percentage to be made.be made.5. The EndUser selects the correction range 5. The EndUser selects the correction range
to be to be applied.applied.6. The EndUser selects the Enhance button. 6. The EndUser selects the Enhance button.
Exit condition Exit condition 7. The newly enhanced image is displayed.7. The newly enhanced image is displayed.Special RequirementsSpecial Requirements The image must contain a gray card in The image must contain a gray card in
the lower left hand the lower left hand corner.corner.
Use Cases (cont.)Use Cases (cont.)Use Case NameUse Case Name ManualEnhancementManualEnhancementParticipating actorParticipating actor EndUserEndUserEntry conditionEntry condition 1. The EndUser selects the Manual 1. The EndUser selects the Manual
Enhance buttonEnhance buttonFlow of eventsFlow of events 2. A preview window opens displaying the 2. A preview window opens displaying the
corrected corrected image.image.3. The EndUser selects a global or local 3. The EndUser selects a global or local
correction.correction.4. The EndUser selects the correction 4. The EndUser selects the correction
percentage to percentage to be made.be made.5. The EndUser selects the correction 5. The EndUser selects the correction
range to be range to be applied.applied.6. The EndUser selects the Enhance 6. The EndUser selects the Enhance
buttonbuttonExit condition Exit condition 7. The newly enhanced image is displayed.7. The newly enhanced image is displayed.Special RequirementsSpecial Requirements An image must be open and a An image must be open and a
portion of the image portion of the image must be selected and must be selected and identified.identified.
Class DiagramClass Diagram
InterfaceInterface
Questions?Questions?