Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
111 changes: 62 additions & 49 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,81 +1,94 @@
# FP4-proposal
Project Proposal is due 2015-04-08 at 8am
# Project Title: Photobench
### Problem Statement
These days, everything is documented by photos. People take them every day, both of themselves and their lives. Sometimes, these photographers (both amateur and professional) need to make changes to their photos, but they don't want to spend money on expensive photo-editing suites to do so. That's where Photobench comes in. Photobench is a Racket-based photo-editing program which has an emphasis on maintaining the abstraction barrier between the user and the components that actually make up the image.

Produce a plan for your final project, and prepare an in-class presentation.
### Problem Analysis
The main idea from class which we will be using in this project is the idea of building an abstraction barrier between the user and the program. This barrier will be the tools provided for the user, which will each dispatch, in different ways, the underlying procedures.

Ask questions, as always, [on piazza!][piazza]
### Data set or other source materials
Since this is a photo editor, the data used will be inputted by the user. This data will be images in bitmap, and the work will be done directly on the image itself.

## Written Proposal Instructions
The image that the user inputs should be ready to use, as Racket will convert images into a bitmap format.

Teams will submit ONE written proposal, with sections that each member has done individually detailing their proposed contributions. The submission will be on github, as a pull request of this very file. Below is a template proposal report.
### Deliverable and Demonstration
The end product of this project will be a fully functional Photobench program. As a live demonstration of this program, we will run the suite of tools on a sample image, showing things such as painting, desaturation, and red-eye removal.

You should be proposing something that you have high confidence that you can achieve, and the proposal should project that confidence.
The proposal should be no longer than necessary, but long enough to include critical detail. Three pages is appropriate. Diagrams are welcome.
### Evaluation of Results
Our level of success will be based on the effectiveness of each tool in our toolset. This will be judged on a case-by-case basis for each tool independently.

Remember, you can do some neat [formatting things with Markdown.][markdown]
## Work Plan and Schedule
Our general plan for the development of this project will be as follows. First, we will design a basic framework for the product, which will have limited tool functionality but will provide a base for the following steps. Next, we will add some of the tool functionality and improve the GUI to be more advanced. Finally, we will add in the rest of the desired functionality, with a focus on higher-level tools.

## In-Class Presentation Instructions
Teams will each deliver an in-class presentation. **Presentations will be Wednesday, April 8** (and Friday, April 10 as necessary). The presentation material is due on April 8 by 9 am for everybody. [See piazza for full schedule.][piazza]
### First Milestone (04-13)
For this milestone, the deliverable will be a basic GUI which has toolbars and a canvas, which can load and display the user's desired image. It will not have much functionality beyond that at this point.

Your team will have two minutes to present. Create presentation with two or three slides. Make the slides in google drive, and share the public-viewable link at the bottom of this report. The day of presentations, I'll have the list of links on the display computer, so each team can simply click their link and begin.
### Second Milestone (04-21)
For this milestone, the deliverable will be a more advanced GUI, with icons for each tool, functionality for saving, closing, resizing, and level-correction procedures (RGB, white balance, gamma, saturation).

(Template follows. You may delete this line and all above it. Please edit the following template to create your report.)
### Final Code Turn-In (05-01)
This will include the entire product, with all of the tools and image functions implemented and represented in the GUI.

# Project Title: title here (10 words maximum)
### Problem Statement
Describe your problem, and why it is interesting.
## Group Responsibilities

### Problem Analysis
Explain what approaches from class you will bring to bear on the problem. Be explicit and succinct.
### Nathan Goss
Will be creating the backend of the project, namely the procedures for each tool that will be in the GUI. These procedures will include white balance adjustment, red-eye correction, simple drawing tools, gamma level adjustment, (de)saturation, and more.

### Data set or other source materials
If you will be working with existing data, where will you get those data from? (Dowload it from a website? access it in a database? create it in a simulation you will build....)
**Milestone One**

How will you convert that data into a form usable for your project?
-Procedures for loading and displaying the desired image

Do your homework here: if you are pulling data from somewhere, actually go download it and look at it. Explain in some detail what your plan is for accomplishing the necessary processing.
**Milestone Two**

If you are using some other starting materails, explain what they are. Basically: anything you plan to use that isn't code.
-RGB balance

### Deliverable and Demonstration
Explain exactly what you'll have at the end. What will it be able to do at the live demo?
-White balance

What exactly will you produce at the end of the project? A piece of software, yes, but what will it do? Here are some questions to think about (and answer depending on your application).
-Gamma adjustment

Will it run on some data, like batch mode? Will you present some analytical results of the processing? How can it be re-run on different source data?
-Saturation

Will it be interactive? Can you show it working? This project involves a live demo, so interactivity is good.
**Final**

### Evaluation of Results
How will you know if you are successful?
If you include some kind of _quantitative analysis,_ that would be fantastic.
-Paintbrush

## Work Plan and Schedule
Explain how you will go from proposal to finished product. Write your general plan here.
There are three deliverable milestones to explicitly define, below. The nature of deliverables depend on your project, but may include things like processed data ready for import, core algorithms implemented, interface design prototyped, etc.
-Eraser

You will be expected to turn in code, documentation, and data (as appropriate) at each of these stages, so take care in writing concrete steps for your schedule.
-Other drawing tools

In this general plan, and in the deliverables below.
### Eric Wang

### First Milestone (04-13)
What exactly will be turned in on this day?
Will work on the front end, which would be the GUI procedures itself. This would include creation of a file input/output system, where files are able to be saved after editing, along with confirmation windows and sliders for various settings. In addition, toolbars will be created with options and icons will be made as shortcuts to the associated functions.

### Second Milestone (04-21)
What exactly will be turned in on this day?
**Milestone One**

## Group Responsibilities
Here each group member gets a section where they, as an individual, detail what they are responsible for in this project. Each group member writes their own Responsibility section. Include the milestones and final deliverable.
-General framework of GUI done

-Canvas ready for the image

-Toolbars Present

**Milestone Two**

-Icons and link to their associated action.

-Toolbars functionality, like save and close.

-Resizing and rotating the image also there, with a new popup window and slider adjustment.

**Final**

-Cut

-Crop

-Paste

### Susan Scheme
will write the....
-Undo

### Leonard Lambda
will work on...
-Redo

## Proposal Presentation Link
insert your google presentation public link here, so with one click it will open up in the browser and you can present.
[The link is here.][link]

<!-- Links -->
[piazza]: https://piazza.com/class/i55is8xqqwhmr?cid=453
[markdown]: https://help.github.com/articles/markdown-basics/
[link]: https://docs.google.com/presentation/d/1S--tAZMp4S52NcYyCdCmzADmeABylFmv2kQNlapXJd0/edit?usp=sharing