Download presentation
Presentation is loading. Please wait.
Published byElvin Reed Modified over 9 years ago
1
Distributed... Image Processing Gets Consistent Results Fast The CSC 410/510 Project by Lenny Scardino Glenn Bond Wayne Arena
2
Why choose image processing? Data Visualization From microscopic to cosmic, better images mean Improved precision/ accuracy of measurement Reproducible results (consistency) Greater throughput means more analysis, leading to greater likelihood that results will be accurate
3
For Example, How many shades of gray can you discern in this image?
4
The human eye... Eyes are good contrast adjusters, but not good at discerning subtle color variations. When colors are close, details are lost. Eyes can distinguish on the average about 30 shades of gray in a field of pixels. Pixels are discreet and measurable. Eyes are not good judges of distance, and cannot accurately reproduce measurements. Pixels are evenly spaced at predefined distances.
5
A good image has: Nice dynamic range Good Contrast Low Noise Few artifacts Adequate, uniform lighting Is this a good image?
6
With a little contrast adjustment details can be discerned more easily.
7
Some assistance with dynamic range is helpful for discerning detail...
8
Why distributed processing of Images? Reduces processing time, further boosting throughput. Allows more ambitious analysis projects. Perhaps it will open up: Use of existing, previously unusable data New classes of problems now solvable
9
Why use the bitmap format? They’re everywhere and easy to fabricate Their structure is similar to the RGB format used by SGI Each pixel is 3 ASCII characters: one for red, one for green, one for blue. The pixels are one long line in the file, readable by the vi editor and other similar applications. Our C program reads in one long string and begins processing. Pixels can be converted to integer triplets for easy manipulation, then returned to character type.
10
How our system processes the image 1. A bitmap file is read and loaded into an array 2. The array of pixel values is analyzed on the first pass 3. A new dynamic range is established by substitution 4. The modified array is used to create a new, hopefully better image in a new file Hopefully this occurs in less wall clock time than a sequential system would take.
11
Process 0 then sends lines of integer values to each node for analysis. As each node sends back information, it is tasked with a new line until all lines are analyzed. Process 0
12
Process 0 builds a dynamic range array, used to substitute values in the pixel array. A new bitmap is constructed, line by line, with greater contrast and dynamic range.
13
Process 0 accomplishes the second pass like the first. This time pixel values are rewritten. As each node sends back conformation, it is tasked with a new line until all lines are rewritten. Process 0
14
The new file is written and the process terminates.
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.