Highlights
Assignment 1: Parallel Image Filter
The class ImageFilter implements a sequential, iterative nine-point image convolution filter working on a linearized (2D) image. In each of the NRSTEPS (=100) iteration steps, the average RGB-value of each pixel p in the source array is computed, considering p and its 8 neighbor pixels (in 2D), and written to the destination array.
The program TestImageFilter can be used to filter a JPG image, e.g., as follows:
java TestImageFilter IMAGE1.JPG
The resulting filtered output image is: FilteredIMAGE1.JPG
IMAGE1.JPGFilteredIMAGE1.JPG
The assignment on Moodle includes a zip file (Assignment1.zip), which contains the source files TestImageFilter.java, ImageFilter.java, and two example images, IMAGE1.JPG and IMAGE2.JPG, and a text file out.txt, which shows how the output of the extended test program might look like.
Parallelization
Implement a class ParallelFJImageFilter for parallel image filtering using the Java Fork/Join framework. For parallelization, the pixels in the image should be recursively partitioned among all the tasks used for parallel execution. Use a proper threshold to limit the number of taks generated. Take care of proper synchronization after each iteration!
ParallelFJImageFilter must offer
a public constructor with the same parameter types as class ImageFilter, and
a public method void apply(int nthreads), where the parameter nthreads
corresponds to the number of threads used for parallel execution.
Extend the provided test program (TestImageFilter) such that it also invokes the parallel image filter repeatedly using 1, 2, 4, 8, 16 and 32 threads, respectively. For each invocation of the parallel image filter, the elapsed time and the corresponding speedups need to be reported.
The test program has to verify for all parallel image filter executions that the output image is exactly the same as the one produced by the sequential image filter (pixel-wise comparison!).
In addition, the test program has to verify for all parallel executions, except with 32 threads, that the parallel efficiency is at least 0.7.
Ensure that the parallel image filter works with images of arbitrary size
Requirements for positive grading
The classes ParallelFJImageFilter and TestImageFilter perform the required functionality as described above.
Note: ParallelFJImageFilter will be tested with an external test program and thus its public methods have to strictly comply with the above specification.
The parallel executions have a parallel efficiency of at least 0.7 (except with 32 threads).
This IT Assignment has been solved by our IT Experts at My Uni Paper. Our Assignment Writing Experts are efficient to provide a fresh solution to this question. We are serving more than 10000+Students in Australia, UK & US by helping them to score HD in their academics. Our Experts are well trained to follow all marking rubrics & referencing style.
Be it a used or new solution, the quality of the work submitted by our assignment Experts remains unhampered. You may continue to expect the same or even better quality with the used and new assignment solution files respectively. There’s one thing to be noticed that you could choose one between the two and acquire an HD either way. You could choose a new assignment solution file to get yourself an exclusive, plagiarism (with free Turnitin file), expert quality assignment or order an old solution file that was considered worthy of the highest distinction.
© Copyright 2026 My Uni Papers – Student Hustle Made Hassle Free. All rights reserved.