Skip to main content
CDI Training

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
Gain an understanding of diffraction
3
Develop your own diffraction simulation code using a Fast Fourier Transform (FFT)
  • Read through the Guide to scientific coding.
  • Get access to a distribution of Python (download here).
  • If you've never coded before, spend some time on learnpython.org.
  • Look through some example code.
  • Write your own simulation code, including physical sizes and distances.
  • 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.
  • How can you tell if your diffraction pattern is Nyquist sampled?
4
Start playing with the HeNe laser setup in the lab with groups of people to do these steps on the optical playground
5
Learn about CDI phase retrieval algorithms
  • Read through this review paper.
  • Review chapter 3 of Dr. Sandberg's PhD thesis.
  • Write your own code to reconstruct your simulated data.
    • Start by implementing the error reduction (ER) algorithm.
    • Extend your code to also include a hybrid input-output (HIO) algorithm.
    • Extend your code again to include shrink wrapping.
  • When you can consistently reconstruct simulated data, apply your algorithms to some actual diffraction data.