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:
     
    Image with no Concentric Rings
    (tiff version)   below in jpg
    Image with Concentric Rings
     (tiff version)
    Highlighted Ring


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

  1. 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.
  2. Fully comment and test out program.
  3. 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.
  4. Printout of code, fully commented, with YOUR NAME ON TOP, and INSTRUCTIONS ON HOW TO RUN THE CODE FROM YOUR DISKETTE.
  5. A one-page describing how code is structured and the state of how it works.
  6. Print outs of screen shots of program working showing the results of: image loading and display of image before and after processing.

© Lynne Grewe