Project 4: PseudoColor
Due Nov. 17
(points 100)
You are to write a GUI Java application that will perform
PseudoColoring of a special kind of X-ray scattering image.
The goal of the PseudoColoring is to attempt to highlight the different
cyclical rings in an image if they appear without actually specifically
detecting these rings through some spatial analysis
technique. PsedoColoring as you learned today, involves
analysis of the pixel values in a non-color image and the creation of a
transformation/mapping functions that map each possible grey-level to a
color value (not-necessarily unique).
You will work in teams of 2 and present the running program and the
results to your classmates. You will be given time in class
to work on this project but, it may require time outside of class.
Tip: You want to try to make the ring
pixels different in color from others...and try to make all of the
pixels (or most of them) that belong to the ring the same color.
How possible is this?
Note: You can make this a semi-autonomous
project, by asking the user, if you wish, to signify where the center
"white square core" of the image is. It is not a requirement but, is a
possibility should you wish to do this. Note that the detection of the
"white square core" is something that you could do automatically and
accurately in computer vision via blob
detection.
Requirements:
1) The program must accept either JPEG or GIF images.
2) The program must display the original and PseudoColored
images.
3) The program gives the user the option to save the
PseudoColored image.
Note: You may use our sample
partial code to get you started. Again the program should be a Java
GUI application.
- See the comments in the code, to help you get started.
- Change the loading of images to use MediaTraker class to make
sure the image loaded successfully.
- You will need to use PixelGrabber class to grab data into an
array that you can manipulate.
Sample Images:
Related Info
- Press
Release
- Research Lab
involved
- Images
- Article: James, Veronica, et al. Using hair to screen for breast
cancer. Nature, Vol. 398, March 4, 1999, pp. 33-4 (scientific
correspondence)
SYDNEY, AUSTRALIA. A team of Australian,
American, and Japanese researchers report the development of a new,
highly-accurate test for breast cancer. The test uses a single scalp or
pubic hair and was found to be 100 per cent accurate in predicting the
presence of breast cancer. The hair sample is examined by X-ray
diffraction using synchrotron radiation. Hair samples from breast cancer
patients exhibit a characteristic change in their X-ray scattering
patterns. In one trial, 23 out of 23 hair samples from breast cancer
patients showed the characteristic pattern while only four out of 28
samples from healthy women had an abnormal scattering pattern. The test
was also found to be useful in identifying women who were at greater
risk of developing breast cancer either because of the presence of a
genetic mutation or because of a family history of breast cancer. The
researchers recommend further research into the sensitivity and
specificity of the new test and conclude that this may lead to a simple
and reliable screening method for breast cancer using a single hair.
- Possibly Related Article??? -
Meyer P et al Breast cancer
screening using small-angle X-ray scattering analysis of human hair
Journal of the National Cancer Institute (July 5th 2000) vol 92 no 13
pp.1092-1093
Deliverables
- HTML paper on how you designed your PsuedoColor Program.
Describe your approach and why you decided to take it. Show results on
the 2 images above. Discuss how you might improve your
algorithm.
Upload HTML w/images, etc. to one person's server account.
Print out this HTML paper and write on top the URL of its location.
- Fully comment and test out program.
- Turn in diskette with all java code and compiled class files needed
to run the program. IF YOU use additional classes not in standard Java,
you need to have all of the files here...make a JAR file.
- Printout of code, fully commented, with YOUR NAME ON TOP, and
INSTRUCTIONS ON HOW TO RUN THE CODE FROM YOUR DISKETTE.
- A one-page describing how code is structured and the state of how it
works.
- Print outs of screen shots of program working showing the results
of: image loading and display of image before and after processing.
|