http://www.stat.ucla.edu/%7Edinov/courses_students.html

Statistics 130D Course

HW2:  In this project we'll extend the work of HW_1 a step further. Now we need to develop a software package that reads in (at least two of these file formats, may be more, please share with all of us your raster-image parsers) a RAW, PGM, GIF or JPG image, blurs the image with a Gaussian filter of a given variance and saves out the result, in the same file format as the input data. The image is a general N-dimensional (N_D) hyper-volume of byte characters (intensities between 0 and 255).  [Extra challenge: For the people that want to make a more functional program think of how we can write all methods/objects in template form, so any type of hyper-array (e.g., int, float, signed int) will also be accepted].

Again the user specifies the number of dimensions and each dimension-size and the I/O file names on the command line at execution time. There is still no visualization component to this second HW project. As before, we need to provide a working packaging makefile that allows compiling and testing/running the code. Skelethon of this type of package is available in this ZIP file.

The sample data we can use is included in the data folder in this zip file. It represents a 3D brain image of size 64x64y64z (rather small, with voxel sizes of 3 mm3). The ASCII header file (*.LHD) describes the data in more datail. You can view the volume, if you wish by downloading the LOVE viewer. This is a zip file  with  a self-contained Java package that has a starting BAT file called runNoArgs.bat that works on Windows. This BAT file can be read as text and slightly reconfigured to make the program run well on any Java-enabled machine (MAC, UNIX, LINUX, etc.) 

Install: Unzip the HW2_demo.zip file
Compile: make -f makefile_demo
Test/Run: run.bat   [or copy the exec-line from this file into the DOS shell]
View Results: LOVE.zip Java package run runNoArgs.bat

List of Source Files:
README.txt
makefile_demo
main_driver.cpp
myDemoFilter.cpp
myDemoHeader.h
myDemoIO.cpp
initialization.cpp
pgm_IO.cpp

