Steps for beginners

This is a general outline for new students to follow in order to get up to speed. If you have questions at any point in the process, don't hesitate to ask Dr. Sandberg or the other students in the lab. The pages on this wiki are generally meant as an introduction to a topic, not a comprehensive treatment. You are always encouraged to go beyond what's here. In particular, Wikipedia is a great resource.


 * 1) Getting your feet wet.
 * 2) Read the Intro to Research.
 * 3) You may want to look at How to read scientific papers as well.
 * 4) Gain an understanding of diffraction
 * 5) These pages explain some of the mathematical foundations
 * 6) Taylor Series
 * 7) Sine Waves
 * 8) Complex Exponentials
 * 9) Fourier Analysis
 * 10) Read the page on diffraction.
 * 11) Read through chapter 3 of Dr. Sandberg's PhD thesis and write down any questions that you have.
 * 12) Develop your own diffraction simulation code using a Fast Fourier Transform (FFT).
 * 13) Read through the Guide to scientific coding.
 * 14) Get access to a distribution of Python (download here).
 * 15) If you've never coded before, spend some time on learnpython.org.
 * 16) Look through some example code.
 * 17) Write your own simulation code, including physical sizes and distances.
 * 18) Change the dimensions of the object in your simulation code (e.g. change the object shape, add a border of zeros around it, etc.) and observe how that affects the diffraction pattern.
 * 19) How can you tell if your diffraction pattern is Nyquist sampled?
 * 20) Start playing with the HeNe laser setup in the lab with groups of people to do these steps on the optical playground.
 * 21) Read through Lab Safety.
 * 22) Read through Working with optics and follow the steps at the end to build an imaging setup.
 * 23) Learn about CDI phase retrieval algorithms.
 * 24) Read through this review paper.
 * 25) Review chapter 3 of Dr. Sandberg's PhD thesis.
 * 26) Write your own code to reconstruct your simulated data.
 * 27) Start by implementing the error reduction (ER) algorithm.
 * 28) Extend your code to also include a hybrid input-output (HIO) algorithm.
 * 29) Extend your code again to include shrink wrapping.
 * 30) When you can consistently reconstruct simulated data, apply your algorithms to some actual diffraction data.
 * 1) When you can consistently reconstruct simulated data, apply your algorithms to some actual diffraction data.