Sunday, October 2, 2011

Synchronization

Problem: Multiple filters can modify an image at the same time, causing image corruption.
Solution: Wrap the call to the filter method in a synchronized block based on the layer's intrinsic lock. This ensures that only one thread can modify the layer's image at any given time.


The result of invoking the Invert filter multiple times in rapid succession on a large image

Original image from HubbleSite
Copyright: Public Domain (NASA and ESA)

Saturday, October 1, 2011

The rush

There's been a lot of progress, but I'm not sure if I can meet the deadline.

    Tasks completed
  1. Draw monochrome, RGB and HSB histograms
  2. 3 point operations: desaturate, invert, normalize
    To-do
  1. 3 neighbourhood operations
  2. Pencil sketch filter

Thursday, September 29, 2011

Some updates

Design, design, design... (System design)
Time is running out.

    Tasks completed
  1. Switched to tabbed interface (JTabbedPane)
  2. Able to write out static images to file
    To-do
  1. Create 3 filters each for point and neighbourhood operations
  2. Construct and draw the 3 types of histogram

Wednesday, September 28, 2011

Filters and histogram

Start creating filters.

    Tasks completed
  1. Built a multi-document GUI with smart sizing of internal windows
  2. Able to load and display static images
    To-do
  1. Create 3 filters each for point and neighbourhood operations
  2. Construct and draw the 3 types of histogram

Wednesday, September 14, 2011

Start coding soon

All preparations done.

    Tasks completed
  1. Installed and configured EGit plugin for Eclipse
  2. Performed initial push to repository from the local machine
    To-do
  1. Build a basic GUI
  2. Load and display image

Friday, September 9, 2011

Start

Getting started on the assignment today.

    Tasks completed
  1. Chose Git as the version control system to use
  2. Created a free account and private repository on Unfuddle
    To-do
  1. Install and configure EGit plugin for Eclipse
  2. Perform initial push to repository from the local machine