teaching machines

FISHERR – Gaussian Pox

February 13, 2015 by . Filed under cs455, postmortems, spring 2015.

fisherr_gaussian_pox1

 

 

 

fisherr_gaussian_pox2

 

(The images above were generated with different dimensions, RGB color channels, and variances.)

For the Gaussian Pox homework, my thought process was as follows:

  1. Designing C++ Classes:  I had to carefully identify the necessary variables,methods, and logic, that would make the Image, Bump, and GaussianPox classes coordinate together.
  2. Research: how to write to a PPM file, understanding the 2D Gaussian energy function, and how the pixels will be used in memory and accessing them. Taking notes…
  3. Analysis:  In this step, I observed different outcomes from generating Gaussian Pox.  I needed to be able to break down the logic and see how each pixel will be affected through the pipeline of  functions and methods it goes through.
  4. Debugging/Testing:  In this phase, I tested tweaking various user inputs and variables for generating Gaussian Pox (I have also provided a more I/O feature to the program for certain variables)
  5. Documentation: Providing user-friendly comments to make sure each class and method steps were clearly organized and easy to understand.
  6. Being Creative!

 

Challenges:

  1. Gaussian Energy Function: This was a hurdle since it was difficult to understand how the energies will be combined with the RGB channels.  Testing and making observations on the data made this relationship clearer.
  2. Writing to the PPM file: For several attempts, the Gaussian Pox on the image was clearly separated and the pixels did not have the expected intensities.   I overcame this obstacle by understanding more deeply about how the file is written and how the channels are affected by the bumps’ energies.