The summary of the sessions can be found here and the relevant MatLab source codes in the following zip archive.

Any comments, ideas or suggestions for improving any of these functions, or MatLab tricks that I am not aware of, please share your thoughts !__Session 1 (Mon 06/20):__**Fast Fourier Transform and applications**. code1, code2__Session 2 (Wed 06/22):__**The Radon Transform and the Filtered-Backprojection algorithm**.- Ex 1: code a Radon Transform function using image rotations.
- Ex 2: code a Filtered-Backprojection algorithm and find out who has been Radon-Transformed in this picture.
- Incomplete codes to fill out: UWRadon, UWIRadon, Session2.

__Session 3 (Mon 06/27):__**The attenuated Radon Transform and its inversion**.__Session 4 (Wed 06/29):__**Local tomography and limited data problems: recovering singularities.**.- Ex 1: code two functions, one that only backprojects the data and another that realizes the lambda tomography. Compare both results with the regular filtered-backprojection algorithm (set $d=1$ in this one and do not worry about filtering in the other two functions).
- Ex 2: limited angle problem: work with the regular myIRadon function. Use only directions between $0$ and $\frac{\pi}{2}$ and see what singularities are lost on a disk or any other characteristic function.
- Ex 3: interior data problem: compute the radon transform and take out the part where $|t|\le a$ for some positive number $a$. Apply the inverse RT and figure out what singularities are lost.
- Transformation laws for singularities: \[ WF(Rf) \subset \{ ( (x\cdot\hat\theta, \theta) ; a(e_s - x\cdot\theta^\perp e_\theta) ), (x; a\hat\theta) \in WF(f) \}, \] \[ WF(R^t g)\subset \{ ( s\hat\theta - r\hat\theta^\perp, a\theta), ( (s,\theta) ; a(e_s + r e_\theta)) \in WF(g) \}. \]
__Session 5 (Wed 07/06):__**Cartesian and hyperbolic geometries, fun with FIO's.**In this session, we will see how the choice of integration curves is the only thing that matters in the transport of singularities (and not the integration weights as long as they are smooth and non-zero), and how to typically compute these singularities.- Ex 1: fill out the UWgeodesic and UWhyperS functions. The first one returns a few points describing a given hyperbolic geodesic curve. The second one is necessary for backprojection: for a given point x and a direction theta, it returns the unique s such that the geodesic of coordinates (s,theta) passes through x. Run Hyper1 as main program to test the exactness of your formulas.
- Ex 2: Use these functions to run the first part of the Hyper2 script and notice the difference between regular and hyperbolic Radon Transform. You will also need the following scripts: hyperRadon, hyperbackproj, laplacian.
- Ex 3: intertwinning regular and hyperbolic RT and their backprojections. Play with the codes (second part of the Hyper2 script), see how singularities are transformed and notice the artistic potential of microlocal analysis.
- Ex 4: design another family of curves such that s(x,theta) is properly defined, code "geodesic" and "hyperS" functions accordingly and repeat Exercises 2 and 3 as many times you want.

- myMap: library of predefined maps.
- rotateImage: image rotation function.
- dispmat: display a given image.
- hilbTrans: filtered Hilbert transform.
- geodesic: hyperbolic geodesic.
- hyperS: s(x,theta) function.