(* Content-type: application/mathematica *) (*** Wolfram Notebook File ***) (* http://www.wolfram.com/nb *) (* CreatedBy='Mathematica 6.0' *) (*CacheID: 234*) (* Internal cache information: NotebookFileLineBreakTest NotebookFileLineBreakTest NotebookDataPosition[ 145, 7] NotebookDataLength[ 119351, 3256] NotebookOptionsPosition[ 113738, 3089] NotebookOutlinePosition[ 114077, 3104] CellTagsIndexPosition[ 114034, 3101] WindowFrame->Normal ContainsDynamic->False*) (* Beginning of Notebook Content *) Notebook[{ Cell[CellGroupData[{ Cell["\<\ Diffraction theory, coherence, geometrical optics, and optical imaging \ modalities\ \>", "Title", CellChangeTimes->{{3.411147273738386*^9, 3.4111473040977488`*^9}}], Cell["Miguel A. Alonso G.", "Subtitle", CellChangeTimes->{{3.411147313328183*^9, 3.411147317710705*^9}}], Cell["University of Rochester", "Subsubtitle", CellChangeTimes->{{3.411147330208489*^9, 3.411147334559663*^9}}], Cell[CellGroupData[{ Cell["Fourier Transforms", "Section", CellChangeTimes->{{3.4110330664437313`*^9, 3.411033071869911*^9}, { 3.411147345763999*^9, 3.41114735224086*^9}}], Cell[CellGroupData[{ Cell["Exercises: 2D Fourier transforms", "Subsection", CellChangeTimes->{{3.411033095706468*^9, 3.411033098251614*^9}, { 3.411036497176754*^9, 3.41103651071239*^9}}], Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"0", ",", "\[Rho]"}], "]"}], ",", RowBox[{"2", " ", RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"1", ",", "\[Rho]"}], "]"}], "/", "\[Rho]"}]}], ",", RowBox[{"8", " ", RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"2", ",", "\[Rho]"}], "]"}], "/", RowBox[{"\[Rho]", "^", "2"}]}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"\[Rho]", ",", "0", ",", "20"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.411033153501191*^9, 3.411033289616777*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Fast Fourier Transform", "Subsection", CellChangeTimes->{{3.411033076983715*^9, 3.411033082686594*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"circ", "[", "r_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{"r", "\[LessEqual]", "1"}], ",", "1", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"rearr", "[", RowBox[{"matri_", ",", "n_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "m", "}"}], ",", RowBox[{ RowBox[{"m", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}], ";", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"\[Rho]max", "=", "5"}], ";", RowBox[{"num", "=", "200"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"f0", "=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{ RowBox[{"circ", "[", SqrtBox[ RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}]], "]"}], "-", RowBox[{"circ", "[", RowBox[{ SqrtBox[ RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}]], "/", ".95"}], "]"}]}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "\[Rho]max"}], ",", "\[Rho]max", ",", RowBox[{"2", " ", RowBox[{"\[Rho]max", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "\[Rho]max"}], ",", "\[Rho]max", ",", RowBox[{"2", " ", RowBox[{"\[Rho]max", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"f1", "=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{"circ", "[", SqrtBox[ RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}]], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "\[Rho]max"}], ",", "\[Rho]max", ",", RowBox[{"2", " ", RowBox[{"\[Rho]max", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "\[Rho]max"}], ",", "\[Rho]max", ",", RowBox[{"2", " ", RowBox[{"\[Rho]max", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"f2", "=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{ RowBox[{"circ", "[", SqrtBox[ RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}]], "]"}], " ", RowBox[{"(", RowBox[{"1", "-", RowBox[{"(", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], ")"}]}], ")"}]}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "\[Rho]max"}], ",", "\[Rho]max", ",", RowBox[{"2", " ", RowBox[{"\[Rho]max", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "\[Rho]max"}], ",", "\[Rho]max", ",", RowBox[{"2", " ", RowBox[{"\[Rho]max", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.409493553523293*^9, 3.4094935952330627`*^9}, { 3.409513746866173*^9, 3.409513747505958*^9}, {3.41103341211642*^9, 3.411033428116547*^9}, {3.411033471549172*^9, 3.411033532889179*^9}, { 3.411033591022443*^9, 3.4110336990272017`*^9}}], Cell[BoxData[ RowBox[{"ListPlot3D", "[", RowBox[{"Re", "[", "f0", "]"}], "]"}]], "Input", CellChangeTimes->{{3.40951438569145*^9, 3.409514403117339*^9}, { 3.409514964574443*^9, 3.409514985391203*^9}, {3.409515023281705*^9, 3.409515024597207*^9}, {3.4095153378423233`*^9, 3.409515341506324*^9}, { 3.410973530615697*^9, 3.410973533456356*^9}, {3.4110337294120703`*^9, 3.4110337595846233`*^9}, {3.411033792425087*^9, 3.411033838202026*^9}, 3.4110339079283333`*^9, 3.41114954929811*^9, 3.411150107267642*^9, { 3.41115043363383*^9, 3.411150433734787*^9}}], Cell[BoxData[ RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Re", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{"f0", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}], "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.409513801596244*^9, 3.40951387369378*^9}, { 3.4095139457332983`*^9, 3.409513981233762*^9}, {3.409515051897423*^9, 3.4095151243898087`*^9}, {3.409515197262495*^9, 3.409515206572917*^9}, { 3.4110337344739943`*^9, 3.411033735614337*^9}, 3.411033770023471*^9, 3.411033859455928*^9, 3.4110339118519087`*^9, {3.4111504536396227`*^9, 3.411150486299337*^9}}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Diffraction Theory", "Section", CellChangeTimes->{{3.411034994323613*^9, 3.411034997608409*^9}}], Cell[CellGroupData[{ Cell["Homogeneous and evanescent waves", "Subsection", CellChangeTimes->{{3.4110341057669897`*^9, 3.411034113017177*^9}, { 3.411034954421589*^9, 3.411034968494341*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"kz", "[", "kx_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"kx", "^", "2"}], "<", "1"}], ",", RowBox[{"Sqrt", "[", RowBox[{"1", "-", RowBox[{"kx", "^", "2"}]}], "]"}], ",", RowBox[{"I", " ", RowBox[{"Sqrt", "[", RowBox[{ RowBox[{"kx", "^", "2"}], "-", "1"}], "]"}]}]}], "]"}]}], ";"}], "\n", RowBox[{ RowBox[{"wave", "[", "kx_", "]"}], ":=", RowBox[{"Plot3D", "[", RowBox[{ RowBox[{"Re", "[", RowBox[{"Exp", "[", RowBox[{"I", " ", RowBox[{"(", RowBox[{ RowBox[{ RowBox[{"-", "x"}], " ", "kx"}], "+", " ", RowBox[{"z", " ", RowBox[{"kz", "[", "kx", "]"}]}]}], ")"}]}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "10"}], ",", "10"}], "}"}], ",", RowBox[{"{", RowBox[{"z", ",", "0", ",", "20"}], "}"}], ",", RowBox[{"PlotPoints", "\[Rule]", "100"}], ",", RowBox[{"Mesh", "\[Rule]", "False"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.411034245324032*^9, 3.411034257924818*^9}}], Cell[BoxData[ RowBox[{"ListAnimate", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"wave", "[", "kx", "]"}], ",", RowBox[{"{", RowBox[{"kx", ",", "0", ",", "2.", ",", ".1"}], "}"}]}], "]"}], "]"}]], "Input", CellChangeTimes->{{3.405013128015581*^9, 3.405013134217649*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Exercises: On-axis field for circular aperture of radius a", \ "Subsection", CellChangeTimes->{{3.411035028907202*^9, 3.41103504539324*^9}, { 3.411036463366119*^9, 3.411036480192134*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"ko", "=", RowBox[{"2", " ", "Pi"}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"UNonparaxial", "[", RowBox[{"a_", ",", "z_"}], "]"}], "=", RowBox[{ SuperscriptBox["\[ExponentialE]", RowBox[{"\[ImaginaryI]", " ", "ko", " ", "z"}]], "-", FractionBox[ RowBox[{ SuperscriptBox["\[ExponentialE]", RowBox[{"\[ImaginaryI]", " ", "ko", " ", SqrtBox[ RowBox[{ SuperscriptBox["a", "2"], "+", SuperscriptBox["z", "2"]}]]}]], " ", "z"}], SqrtBox[ RowBox[{ SuperscriptBox["a", "2"], "+", SuperscriptBox["z", "2"]}]]]}]}], ";"}], "\n", RowBox[{ RowBox[{ RowBox[{"UParaxial", "[", RowBox[{"a_", ",", "z_"}], "]"}], "=", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", "ko", " ", "z"}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", "I"}], " ", "ko", " ", RowBox[{ RowBox[{"a", "^", "2"}], "/", RowBox[{"(", RowBox[{"2", " ", "z"}], ")"}]}]}], "]"}], "-", "1"}], ")"}]}]}], ";"}], "\n", RowBox[{"Plot", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Re", "[", RowBox[{"UNonparaxial", "[", RowBox[{"3", ",", "z"}], "]"}], "]"}], ",", RowBox[{"Re", "[", RowBox[{"UParaxial", "[", RowBox[{"3", ",", "z"}], "]"}], "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"z", ",", ".1", ",", "40"}], "}"}]}], "]"}]}], "Input", CellChangeTimes->{{3.411041482823464*^9, 3.411041488836195*^9}, { 3.411149947751008*^9, 3.4111500816101007`*^9}}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Focused beams", "Section", CellChangeTimes->{{3.411033929510704*^9, 3.411033931648245*^9}}], Cell[CellGroupData[{ Cell["Gaussian Beam", "Subsection", CellChangeTimes->{{3.410963898885256*^9, 3.410963902080628*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"w", "[", RowBox[{"wo_", ",", "z_"}], "]"}], "=", RowBox[{"Sqrt", "[", RowBox[{ RowBox[{"wo", "^", "2"}], "+", RowBox[{"I", " ", RowBox[{"z", "/", "ko"}]}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"UGaussian", "[", RowBox[{"wo_", ",", "x_", ",", "z_"}], "]"}], "=", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{"wo", "/", RowBox[{"w", "[", RowBox[{"wo", ",", "z"}], "]"}]}], "]"}], " ", RowBox[{"Exp", "[", RowBox[{"I", " ", "ko", " ", "z"}], "]"}], " ", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", RowBox[{ RowBox[{"(", RowBox[{"x", "/", RowBox[{"w", "[", RowBox[{"wo", ",", "z"}], "]"}]}], ")"}], "^", "2"}]}], "/", "2"}], "]"}]}]}]}], "Input", CellChangeTimes->{{3.410703747255055*^9, 3.410703940915573*^9}, { 3.410704015094181*^9, 3.4107040283572683`*^9}, {3.410963651519834*^9, 3.4109636517338142`*^9}, {3.411034786763733*^9, 3.41103484280484*^9}, { 3.4110366299854727`*^9, 3.411036662725561*^9}, {3.411041424760449*^9, 3.411041460909417*^9}, {3.411041665118301*^9, 3.411041672554317*^9}, 3.41115064332338*^9, 3.4111508033260727`*^9}], Cell[BoxData[ RowBox[{"ContourPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{"UGaussian", "[", RowBox[{".5", ",", "x", ",", "z"}], "]"}], "]"}], "^", "2"}], ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "2"}], ",", "2"}], "}"}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}]}], "]"}]], "Input", CellChangeTimes->{ 3.410707204044671*^9, {3.410710042576185*^9, 3.4107100517167053`*^9}, { 3.411036585563346*^9, 3.411036597952593*^9}, {3.4110367103264914`*^9, 3.411036715315337*^9}, {3.411041816044306*^9, 3.411041889140257*^9}}], Cell[BoxData[ RowBox[{"ListAnimate", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"ContourPlot", "[", RowBox[{ RowBox[{"Re", "[", RowBox[{ RowBox[{"UGaussian", "[", RowBox[{".5", ",", "x", ",", "z"}], "]"}], " ", RowBox[{"Exp", "[", RowBox[{ RowBox[{"-", "I"}], " ", "t"}], "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "2"}], ",", "2"}], "}"}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}]}], "]"}], ",", RowBox[{"{", RowBox[{"t", ",", "0", ",", RowBox[{ RowBox[{"2", " ", "Pi"}], "-", RowBox[{"Pi", "/", "8"}]}], ",", RowBox[{"Pi", "/", "8"}]}], "}"}]}], "]"}], "]"}]], "Input", CellChangeTimes->{ 3.410707204044671*^9, {3.410710042576185*^9, 3.4107100517167053`*^9}, { 3.411036585563346*^9, 3.411036597952593*^9}, {3.411036725367234*^9, 3.411036808709653*^9}, {3.411041946809587*^9, 3.41104195983179*^9}, { 3.4111508355238523`*^9, 3.411150836337974*^9}}], Cell[BoxData[ RowBox[{"ListAnimate", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"ContourPlot", "[", RowBox[{ RowBox[{"Abs", "[", RowBox[{"UGaussian", "[", RowBox[{"wo", ",", "x", ",", "z"}], "]"}], "]"}], ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"-", "4"}], ",", "4"}], "}"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "2"}], ",", "2"}], "}"}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}], ",", RowBox[{"ContourLines", "\[Rule]", "False"}], ",", RowBox[{"Contours", "\[Rule]", "40"}]}], "]"}], ",", RowBox[{"{", RowBox[{"wo", ",", ".2", ",", "2", ",", ".1"}], "}"}]}], "]"}], "]"}]], "Input", CellChangeTimes->{{3.4107039488734407`*^9, 3.410704000190682*^9}, { 3.410704044024675*^9, 3.4107041338523073`*^9}, 3.410705867885858*^9, 3.410707206098091*^9, {3.410963769351824*^9, 3.4109637849475517`*^9}, { 3.4110384016538677`*^9, 3.411038421269249*^9}, {3.411038500522359*^9, 3.411038504352837*^9}, 3.411041964847992*^9, {3.411150841263983*^9, 3.41115084502353*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Exercise : Norparaxial focused fields", "Subsection", CellChangeTimes->{{3.4110394591300707`*^9, 3.411039490037445*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"Ufocalplane", "[", RowBox[{"\[Theta]o_", ",", "\[Rho]_"}], "]"}], "=", RowBox[{ RowBox[{"Sin", "[", "\[Theta]o", "]"}], " ", RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"1", ",", RowBox[{"ko", " ", "\[Rho]", " ", RowBox[{"Sin", "[", "\[Theta]o", "]"}]}]}], "]"}], "/", RowBox[{"(", RowBox[{"ko", " ", "\[Rho]"}], ")"}]}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Uaxial", "[", RowBox[{"\[Theta]o_", ",", "z_"}], "]"}], "=", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", "ko", " ", "z"}], "]"}], "-", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", "ko", " ", "z", " ", RowBox[{"Cos", "[", "\[Theta]o", "]"}]}], "]"}], " ", RowBox[{"Cos", "[", "\[Theta]o", "]"}]}]}], ")"}], "/", RowBox[{"(", RowBox[{"I", " ", "ko", " ", "z"}], ")"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", "ko", " ", "z"}], "]"}], "-", RowBox[{"Exp", "[", RowBox[{"I", " ", "ko", " ", "z", " ", RowBox[{"Cos", "[", "\[Theta]o", "]"}]}], "]"}]}], ")"}], "/", RowBox[{ RowBox[{"(", RowBox[{"ko", " ", "z"}], ")"}], "^", "2"}]}]}]}], ";"}]}], "Input", CellChangeTimes->{{3.411039898125469*^9, 3.4110400560228148`*^9}, { 3.4110401257501793`*^9, 3.411040213488451*^9}, {3.411040322237651*^9, 3.41104039420605*^9}, {3.411042024878573*^9, 3.411042058200962*^9}}], Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{"Ufocalplane", "[", RowBox[{ RowBox[{"Pi", "/", "4"}], ",", "\[Rho]"}], "]"}], "]"}], "^", "2"}], ",", RowBox[{"{", RowBox[{"\[Rho]", ",", RowBox[{"-", "10"}], ",", "10"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.411040422797328*^9, 3.411040479568256*^9}}], Cell[BoxData[ RowBox[{"Plot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{"Uaxial", "[", RowBox[{ RowBox[{"Pi", "/", "4"}], ",", "z"}], "]"}], "]"}], "^", "2"}], ",", RowBox[{"{", RowBox[{"z", ",", RowBox[{"-", "10"}], ",", "10"}], "}"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.41104021773417*^9, 3.4110402909083567`*^9}, { 3.411040402411545*^9, 3.4110404136095324`*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Polarization", "Subsection", CellChangeTimes->{{3.411040709577866*^9, 3.41104071375103*^9}, { 3.411184076535762*^9, 3.41118408006866*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"PolarizationEllipse", "[", RowBox[{"Ex_", ",", "Ey_", ",", "\[Phi]x_", ",", "\[Phi]y_"}], "]"}], ":=", RowBox[{"ParametricPlot", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Ex", " ", RowBox[{"Cos", "[", RowBox[{"\[Phi]x", "-", "\[Omega]t"}], "]"}]}], ",", RowBox[{"Ey", " ", RowBox[{"Cos", "[", RowBox[{"\[Phi]y", "-", "\[Omega]t"}], "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"\[Omega]t", ",", "0", ",", RowBox[{"2", " ", "Pi"}]}], "}"}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.4111841015378838`*^9, 3.411184248482738*^9}, { 3.411184371110085*^9, 3.4111844017908173`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"PolarizationWave", "[", RowBox[{"Ex_", ",", "Ey_", ",", "\[Phi]x_", ",", "\[Phi]y_"}], "]"}], ":=", RowBox[{"Show", "[", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Graphics3D", "[", RowBox[{"{", RowBox[{ RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "1"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"0", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"4", " ", "Pi"}], ",", "0", ",", "0"}], "}"}]}], "}"}], "]"}], ",", RowBox[{"Table", "[", RowBox[{ RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"kz", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"kz", ",", RowBox[{"Ex", " ", RowBox[{"Cos", "[", RowBox[{"kz", "+", "\[Phi]x"}], "]"}]}], ",", RowBox[{"Ey", " ", RowBox[{"Cos", "[", RowBox[{"kz", "+", "\[Phi]y"}], "]"}]}]}], "}"}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"kz", ",", "0", ",", RowBox[{"4", " ", "Pi"}], ",", RowBox[{"Pi", "/", "8"}]}], "}"}]}], "]"}]}], "}"}], "]"}], ",", RowBox[{"ParametricPlot3D", "[", RowBox[{ RowBox[{"{", RowBox[{"kz", ",", RowBox[{"Ex", " ", RowBox[{"Cos", "[", RowBox[{"kz", "+", "\[Phi]x"}], "]"}]}], ",", RowBox[{"Ey", " ", RowBox[{"Cos", "[", RowBox[{"kz", "+", "\[Phi]y"}], "]"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"kz", ",", "0", ",", RowBox[{"4", " ", "Pi"}]}], "}"}], ",", RowBox[{"AspectRatio", "\[Rule]", "Automatic"}], ",", RowBox[{"ColorFunction", "\[Rule]", "Hue"}]}], "]"}]}], "}"}], ",", RowBox[{"Boxed", "\[Rule]", "False"}], ",", RowBox[{"Axes", "\[Rule]", "False"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.4111841015378838`*^9, 3.411184248482738*^9}, { 3.411184371110085*^9, 3.4111844017908173`*^9}, {3.411184450664486*^9, 3.411184518719355*^9}, {3.411184597363276*^9, 3.411184824273315*^9}, { 3.41118487363091*^9, 3.4111849122189083`*^9}}], Cell[BoxData[ RowBox[{"PolarizationEllipse", "[", RowBox[{"1", ",", "1", ",", "0", ",", RowBox[{"Pi", "/", "2"}]}], "]"}]], "Input", CellChangeTimes->{{3.4111842543818693`*^9, 3.4111842761884117`*^9}}], Cell[BoxData[ RowBox[{"PolarizationWave", "[", RowBox[{"1", ",", "1", ",", "0", ",", RowBox[{"Pi", "/", "4"}]}], "]"}]], "Input", CellChangeTimes->{{3.4111842543818693`*^9, 3.4111842761884117`*^9}, { 3.411184569545331*^9, 3.411184570525476*^9}, 3.411184852240119*^9}] }, Closed]], Cell[CellGroupData[{ Cell["Effects of polarization", "Subsection", CellChangeTimes->{{3.411040709577866*^9, 3.41104071375103*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"MRaxis", "[", "\[Phi]_", "]"}], "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{"Cos", "[", "\[Phi]", "]"}], ",", RowBox[{"Sin", "[", "\[Phi]", "]"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{ RowBox[{"-", RowBox[{"Sin", "[", "\[Phi]", "]"}]}], ",", RowBox[{"Cos", "[", "\[Phi]", "]"}], ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", "0", ",", "1"}], "}"}]}], "}"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"MRtilt", "[", "\[Theta]_", "]"}], "=", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{"1", ",", "0", ",", "0"}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"Cos", "[", "\[Theta]", "]"}], ",", RowBox[{"Sin", "[", "\[Theta]", "]"}]}], "}"}], ",", RowBox[{"{", RowBox[{"0", ",", RowBox[{"-", RowBox[{"Sin", "[", "\[Theta]", "]"}]}], ",", RowBox[{"Cos", "[", "\[Theta]", "]"}]}], "}"}]}], "}"}]}], ";"}]}], "Input", CellChangeTimes->{{3.411044620349081*^9, 3.4110448185177794`*^9}, { 3.411045352091037*^9, 3.41104535471977*^9}, {3.411045473582057*^9, 3.411045521836669*^9}}], Cell[CellGroupData[{ Cell[BoxData[ RowBox[{ RowBox[{"vec", "[", RowBox[{"\[Theta]_", ",", "\[Phi]_"}], "]"}], "=", RowBox[{"Simplify", "[", RowBox[{ RowBox[{"MRaxis", "[", "\[Phi]", "]"}], ".", RowBox[{"MRtilt", "[", "\[Theta]", "]"}], ".", RowBox[{"MRaxis", "[", RowBox[{"-", "\[Phi]"}], "]"}], ".", RowBox[{"{", RowBox[{"0", ",", "1", ",", "0"}], "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.411044825765407*^9, 3.4110448805312243`*^9}, { 3.411045177320593*^9, 3.411045191903611*^9}, {3.411045357526725*^9, 3.411045391534877*^9}, {3.41104544144781*^9, 3.411045468523789*^9}, { 3.411045532122793*^9, 3.411045552853888*^9}, {3.4110456914180717`*^9, 3.411045695339299*^9}, {3.411045939885049*^9, 3.411045941622273*^9}, 3.411329026511166*^9, {3.411329064624167*^9, 3.411329096616906*^9}}], Cell[BoxData[ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "1"}], "+", RowBox[{"Cos", "[", "\[Theta]", "]"}]}], ")"}], " ", RowBox[{"Cos", "[", "\[Phi]", "]"}], " ", RowBox[{"Sin", "[", "\[Phi]", "]"}]}], ",", RowBox[{ RowBox[{ RowBox[{"Cos", "[", "\[Theta]", "]"}], " ", SuperscriptBox[ RowBox[{"Cos", "[", "\[Phi]", "]"}], "2"]}], "+", SuperscriptBox[ RowBox[{"Sin", "[", "\[Phi]", "]"}], "2"]}], ",", RowBox[{ RowBox[{"-", RowBox[{"Cos", "[", "\[Phi]", "]"}]}], " ", RowBox[{"Sin", "[", "\[Theta]", "]"}]}]}], "}"}]], "Output", CellChangeTimes->{ 3.41104594604712*^9, 3.4113290326388283`*^9, {3.4113290747057743`*^9, 3.4113290982019577`*^9}}] }, Open ]], Cell[BoxData[ RowBox[{"Show", "[", RowBox[{"Graphics", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Sin", "[", "\[Phi]", "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Cos", "[", "\[Phi]", "]"}]}]}], "}"}], ",", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Sin", "[", "\[Phi]", "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Cos", "[", "\[Phi]", "]"}]}]}], "}"}], "+", RowBox[{".1", " ", RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"vec", "[", RowBox[{"\[Theta]", ",", "\[Phi]"}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}], ",", RowBox[{ RowBox[{"vec", "[", RowBox[{"\[Theta]", ",", "\[Phi]"}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], "}"}]}]}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0", ",", RowBox[{"Pi", "/", "4"}], ",", RowBox[{"Pi", "/", "16"}]}], "}"}], ",", RowBox[{"{", RowBox[{"\[Phi]", ",", "0", ",", RowBox[{"2", " ", "Pi"}], ",", " ", RowBox[{"Pi", "/", "8"}]}], "}"}]}], "]"}], "]"}], "]"}]], "Input", CellChangeTimes->{{3.4110450426754637`*^9, 3.411045296678697*^9}, { 3.411045576061624*^9, 3.4110455931159678`*^9}, {3.411045640981276*^9, 3.4110456816729107`*^9}}], Cell[BoxData[ RowBox[{"Show", "[", RowBox[{"Graphics3D", "[", RowBox[{"Table", "[", RowBox[{ RowBox[{"Line", "[", RowBox[{"{", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Sin", "[", "\[Phi]", "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Cos", "[", "\[Phi]", "]"}]}], ",", RowBox[{"Cos", "[", "\[Theta]", "]"}]}], "}"}], ",", RowBox[{ RowBox[{"{", RowBox[{ RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Sin", "[", "\[Phi]", "]"}]}], ",", RowBox[{ RowBox[{"Sin", "[", "\[Theta]", "]"}], " ", RowBox[{"Cos", "[", "\[Phi]", "]"}]}], ",", RowBox[{"Cos", "[", "\[Theta]", "]"}]}], "}"}], "+", RowBox[{".1", " ", RowBox[{"vec", "[", RowBox[{"\[Theta]", ",", "\[Phi]"}], "]"}]}]}]}], "}"}], "]"}], ",", RowBox[{"{", RowBox[{"\[Theta]", ",", "0", ",", RowBox[{"Pi", "/", "4"}], ",", RowBox[{"Pi", "/", "16"}]}], "}"}], ",", RowBox[{"{", RowBox[{"\[Phi]", ",", "0", ",", RowBox[{"2", " ", "Pi"}], ",", " ", RowBox[{"Pi", "/", "8"}]}], "}"}]}], "]"}], "]"}], "]"}]], "Input", CellChangeTimes->{{3.4110450426754637`*^9, 3.411045296678697*^9}, { 3.411045576061624*^9, 3.4110455931159678`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"pmax", "=", "5"}], ";", RowBox[{"num", "=", "200"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"circ", "[", "r_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{"r", "\[LessEqual]", "1"}], ",", "1", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"rearr", "[", RowBox[{"matri_", ",", "n_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "m", "}"}], ",", RowBox[{ RowBox[{"m", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}], ";", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}]}], "]"}]}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Ax", "[", "\[Theta]o_", "]"}], ":=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{ RowBox[{"circ", "[", RowBox[{ SqrtBox[ RowBox[{ RowBox[{"px", "^", "2"}], "+", RowBox[{"py", "^", "2"}]}]], "/", RowBox[{"Sin", "[", "\[Theta]o", "]"}]}], "]"}], " ", RowBox[{ RowBox[{"vec", "[", RowBox[{ RowBox[{"ArcSin", "[", SqrtBox[ RowBox[{ RowBox[{"px", "^", "2"}], "+", RowBox[{"py", "^", "2"}]}]], "]"}], ",", RowBox[{"ArcTan", "[", RowBox[{"px", ",", RowBox[{"py", "+", ".0000001"}]}], "]"}]}], "]"}], "[", RowBox[{"[", "1", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"px", ",", RowBox[{"-", "pmax"}], ",", "pmax", ",", RowBox[{"2", " ", RowBox[{"pmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"py", ",", RowBox[{"-", "pmax"}], ",", "pmax", ",", RowBox[{"2", " ", RowBox[{"pmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Ay", "[", "\[Theta]o_", "]"}], ":=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{ RowBox[{"circ", "[", RowBox[{ SqrtBox[ RowBox[{ RowBox[{"px", "^", "2"}], "+", RowBox[{"py", "^", "2"}]}]], "/", RowBox[{"Sin", "[", "\[Theta]o", "]"}]}], "]"}], " ", RowBox[{ RowBox[{"vec", "[", RowBox[{ RowBox[{"ArcSin", "[", SqrtBox[ RowBox[{ RowBox[{"px", "^", "2"}], "+", RowBox[{"py", "^", "2"}]}]], "]"}], ",", RowBox[{"ArcTan", "[", RowBox[{"px", ",", RowBox[{"py", "+", ".0000001"}]}], "]"}]}], "]"}], "[", RowBox[{"[", "2", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"px", ",", RowBox[{"-", "pmax"}], ",", "pmax", ",", RowBox[{"2", " ", RowBox[{"pmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"py", ",", RowBox[{"-", "pmax"}], ",", "pmax", ",", RowBox[{"2", " ", RowBox[{"pmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Az", "[", "\[Theta]o_", "]"}], ":=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{ RowBox[{"circ", "[", RowBox[{ SqrtBox[ RowBox[{ RowBox[{"px", "^", "2"}], "+", RowBox[{"py", "^", "2"}]}]], "/", RowBox[{"Sin", "[", "\[Theta]o", "]"}]}], "]"}], " ", RowBox[{ RowBox[{"vec", "[", RowBox[{ RowBox[{"ArcSin", "[", SqrtBox[ RowBox[{ RowBox[{"px", "^", "2"}], "+", RowBox[{"py", "^", "2"}]}]], "]"}], ",", RowBox[{"ArcTan", "[", RowBox[{"px", ",", RowBox[{"py", "+", ".0000001"}]}], "]"}]}], "]"}], "[", RowBox[{"[", "3", "]"}], "]"}]}], ",", RowBox[{"{", RowBox[{"px", ",", RowBox[{"-", "pmax"}], ",", "pmax", ",", RowBox[{"2", " ", RowBox[{"pmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"py", ",", RowBox[{"-", "pmax"}], ",", "pmax", ",", RowBox[{"2", " ", RowBox[{"pmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.409493553523293*^9, 3.4094935952330627`*^9}, { 3.409513746866173*^9, 3.409513747505958*^9}, {3.41103341211642*^9, 3.411033428116547*^9}, {3.411033471549172*^9, 3.411033532889179*^9}, { 3.411033591022443*^9, 3.4110336990272017`*^9}, {3.411046066197864*^9, 3.411046139627825*^9}, {3.411046175922283*^9, 3.411046360219158*^9}, { 3.411046465730956*^9, 3.4110464713675613`*^9}, {3.411046554322864*^9, 3.411046556415621*^9}, {3.411046606822295*^9, 3.4110466204768143`*^9}, { 3.411046718593832*^9, 3.411046792364204*^9}, {3.411046863479435*^9, 3.411046875504299*^9}, {3.4110470423689613`*^9, 3.411047053280283*^9}, 3.4110474325155077`*^9, 3.41104746799118*^9}], Cell[BoxData[ RowBox[{ RowBox[{"\[Theta]0", "=", RowBox[{"3", " ", RowBox[{"Pi", "/", "8"}]}]}], ";", RowBox[{"ListContourPlot", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Ax", "[", "\[Theta]0", "]"}], ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}], "]"}], "^", "2"}], "+", RowBox[{ RowBox[{"Abs", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Ay", "[", "\[Theta]0", "]"}], ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}], "]"}], "^", "2"}], "+", RowBox[{ RowBox[{"Abs", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Az", "[", "\[Theta]0", "]"}], ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}], "]"}], "^", "2"}]}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.411046656194848*^9, 3.4110466920960913`*^9}, { 3.4110470106727467`*^9, 3.4110470110556183`*^9}, {3.411047113508206*^9, 3.41104721531092*^9}, 3.411047305990045*^9, {3.411047491736376*^9, 3.4110475285515347`*^9}}] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell["Imaging", "Section", CellChangeTimes->{{3.411072887541498*^9, 3.411072902946987*^9}}], Cell[CellGroupData[{ Cell["Coherent vs. incoherent resolution", "Subsection", CellChangeTimes->{{3.411072934275506*^9, 3.4110729417828074`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"ko", "=", RowBox[{"2", " ", "Pi"}]}], ";"}]], "Input", CellChangeTimes->{{3.411325250342141*^9, 3.41132525361629*^9}}], Cell[TextData[{ StyleBox["Coherent case", FontWeight->"Bold"], ". Below, x is the separation, K is the relative tilt (usually set to zero) \ and \[Phi] the phase difference between the two immage points." }], "Text", CellChangeTimes->{{3.4110729907369537`*^9, 3.411073032690193*^9}, { 3.411073090932969*^9, 3.411073149854702*^9}, 3.411073180704897*^9, { 3.4110732147129307`*^9, 3.411073235188325*^9}, {3.411448205977001*^9, 3.411448211278159*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"ic", "[", RowBox[{"x_", ",", "K_", ",", "\[Phi]_"}], "]"}], ":=", RowBox[{"Plot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{ RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"1", ",", RowBox[{"ko", " ", "X"}]}], "]"}], "/", RowBox[{"(", RowBox[{"ko", " ", "X"}], ")"}]}], "+", " ", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", RowBox[{"(", RowBox[{"\[Phi]", "+", RowBox[{"K", " ", "X"}]}], ")"}]}], "]"}], " ", RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"1", ",", RowBox[{"ko", RowBox[{"(", RowBox[{"X", "-", "x"}], ")"}]}]}], "]"}], "/", RowBox[{"(", RowBox[{"ko", " ", RowBox[{"(", RowBox[{"X", "-", "x"}], ")"}]}], ")"}]}]}]}], "]"}], "^", "2"}], ",", RowBox[{"{", RowBox[{"X", ",", RowBox[{"-", "1"}], ",", RowBox[{"x", "+", "1"}]}], "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.4102853647991953`*^9, 3.4102855395549517`*^9}, { 3.410285580557715*^9, 3.410285597574547*^9}, {3.410285665878042*^9, 3.4102856921734753`*^9}, 3.410285744470129*^9, {3.410287149872097*^9, 3.410287179214472*^9}, {3.411073447624501*^9, 3.411073535097354*^9}}], Cell[BoxData[ RowBox[{"ic", "[", RowBox[{".609", ",", "0", ",", RowBox[{"Pi", "/", "2"}]}], "]"}]], "Input", CellChangeTimes->{{3.410285601590928*^9, 3.410285657484228*^9}, { 3.410285695453186*^9, 3.4102858372574997`*^9}, {3.410286053481195*^9, 3.410286075800643*^9}, {3.410287185192892*^9, 3.410287208517315*^9}, { 3.411073269574753*^9, 3.411073329158902*^9}, 3.411073538788097*^9, 3.4110736372838078`*^9, {3.4110739759355793`*^9, 3.4110739964332438`*^9}, { 3.411380535670805*^9, 3.411380564428906*^9}}], Cell[TextData[{ StyleBox["Incoherent case", FontWeight->"Bold"], "." }], "Text", CellChangeTimes->{{3.411073170135005*^9, 3.411073177935088*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"ii", "[", "x_", "]"}], ":=", RowBox[{"Plot", "[", RowBox[{ RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"1", ",", RowBox[{"ko", " ", "X"}]}], "]"}], "/", RowBox[{"(", RowBox[{"ko", " ", "X"}], ")"}]}], "]"}], "^", "2"}], "+", RowBox[{ RowBox[{"Abs", "[", RowBox[{ RowBox[{"BesselJ", "[", RowBox[{"1", ",", RowBox[{"ko", " ", RowBox[{"(", RowBox[{"X", "-", "x"}], ")"}]}]}], "]"}], "/", RowBox[{"(", RowBox[{"ko", " ", RowBox[{"(", RowBox[{"X", "-", "x"}], ")"}]}], ")"}]}], "]"}], "^", "2"}]}], ",", RowBox[{"{", RowBox[{"X", ",", RowBox[{"-", "1"}], ",", RowBox[{"x", "+", "1"}]}], "}"}]}], "]"}]}]], "Input", CellChangeTimes->{{3.410285847404677*^9, 3.410285863297662*^9}, { 3.410286586340496*^9, 3.4102865908499117`*^9}, {3.41028721702901*^9, 3.4102872189108667`*^9}, {3.4110731999478817`*^9, 3.411073200868634*^9}, { 3.411074021820916*^9, 3.411074066522396*^9}}], Cell[BoxData[ RowBox[{"ii", "[", ".609", "]"}]], "Input", CellChangeTimes->{{3.410285601590928*^9, 3.410285657484228*^9}, { 3.410285695453186*^9, 3.4102858372574997`*^9}, {3.410285870321816*^9, 3.410285871785705*^9}, {3.410285995119095*^9, 3.410286001058543*^9}, { 3.410286036046948*^9, 3.410286047083605*^9}, {3.4110732649902782`*^9, 3.4110732652500362`*^9}, {3.411073392549902*^9, 3.411073394540669*^9}, { 3.4110740075797997`*^9, 3.411074011288714*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Fourier transform (FFT) model of imaging, with aberrations", \ "Subsection", CellChangeTimes->{{3.4109639120774117`*^9, 3.4109639154091387`*^9}, { 3.4110759694429827`*^9, 3.4110760075910254`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"circ", "[", "r_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{"r", "\[LessEqual]", "1"}], ",", "1", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rearr", "[", RowBox[{"matri_", ",", "n_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "m", "}"}], ",", RowBox[{ RowBox[{"m", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}], ";", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.409493553523293*^9, 3.4094935952330627`*^9}, { 3.409513746866173*^9, 3.409513747505958*^9}}], Cell["One object point", "Text", CellChangeTimes->{{3.411074889930448*^9, 3.41107489745669*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"NA", "=", ".8"}], ";", RowBox[{"MT", "=", "40"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"kmax", "=", "5"}], ";", RowBox[{"num", "=", "200"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"adefocus", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"btilt", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Bspher", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Castig", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DPetzval", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Edist", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Fcoma", "=", "0"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Waberr", "[", RowBox[{"x0_", ",", "y0_", ",", "kx_", ",", "ky_"}], "]"}], "=", RowBox[{ RowBox[{"adefocus", " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}]}], "+", RowBox[{ RowBox[{"(", RowBox[{"MT", "+", "btilt"}], ")"}], " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}], "+", " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "Bspher"}], "/", "4"}], ")"}], " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}], ")"}], "^", "2"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{"-", "Castig"}], " ", ")"}], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}], ")"}], "^", "2"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "DPetzval"}], "/", "2"}], ")"}], " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}], RowBox[{ RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}], "+", " ", RowBox[{"Edist", " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}], RowBox[{ RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}], "+", " ", RowBox[{"Fcoma", " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}], " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"pupilfunction", "[", RowBox[{"kx_", ",", "ky_"}], "]"}], "=", RowBox[{ RowBox[{"circ", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"kx", "^", "2"}], "+", RowBox[{"ky", "^", "2"}]}], ")"}], "/", RowBox[{"NA", "^", "2"}]}], "]"}], " ", RowBox[{"Exp", "[", RowBox[{"I", " ", RowBox[{"Waberr", "[", RowBox[{"0", ",", "0", ",", "kx", ",", "ky"}], "]"}]}], "]"}]}]}], ";", RowBox[{"pupil", "=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{"pupilfunction", "[", RowBox[{"kx", ",", "ky"}], "]"}], ",", RowBox[{"{", RowBox[{"ky", ",", RowBox[{"-", "kmax"}], ",", "kmax", ",", RowBox[{"2", " ", RowBox[{"kmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"kx", ",", RowBox[{"-", "kmax"}], ",", "kmax", ",", RowBox[{"2", " ", RowBox[{"kmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411325664606061*^9, 3.4113256666303596`*^9}, {3.411325761708436*^9, 3.411325762949133*^9}, { 3.4113258115414677`*^9, 3.411325833205399*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Re", "[", "pupil", "]"}], "]"}]], "Input", CellChangeTimes->{{3.40951438569145*^9, 3.409514403117339*^9}, { 3.409514964574443*^9, 3.409514985391203*^9}, {3.409515023281705*^9, 3.409515024597207*^9}, {3.4095153378423233`*^9, 3.409515341506324*^9}, { 3.410973530615697*^9, 3.410973533456356*^9}}], Cell[BoxData[ RowBox[{"ListPlot3D", "[", RowBox[{ RowBox[{"Re", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}], "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.409513801596244*^9, 3.40951387369378*^9}, { 3.4095139457332983`*^9, 3.409513981233762*^9}, {3.409515051897423*^9, 3.4095151243898087`*^9}, {3.409515197262495*^9, 3.409515206572917*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}], "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.409513801596244*^9, 3.40951387369378*^9}, { 3.4095139457332983`*^9, 3.409513981233762*^9}, {3.409515051897423*^9, 3.4095151243898087`*^9}, {3.409515399031557*^9, 3.409515405305889*^9}}], Cell[TextData[{ "Several object points, ", StyleBox["coherent.", FontWeight->"Bold"] }], "Text", CellChangeTimes->{{3.411074938871401*^9, 3.411074943857757*^9}, { 3.411075484193943*^9, 3.411075492498939*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{"NA", "=", ".8"}], ";", RowBox[{"MT", "=", "40"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"kmax", "=", "5"}], ";", RowBox[{"num", "=", "200"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"adefocus", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"btilt", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Bspher", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Castig", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"DPetzval", "=", "0"}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"Edist", "=", RowBox[{"-", "5"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Fcoma", "=", "0"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"Waberr", "[", RowBox[{"x0_", ",", "y0_", ",", "kx_", ",", "ky_"}], "]"}], "=", RowBox[{ RowBox[{"adefocus", " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}]}], "+", RowBox[{ RowBox[{"(", RowBox[{"MT", "+", "btilt"}], ")"}], " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}], "+", " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "Bspher"}], "/", "4"}], ")"}], " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}], ")"}], "^", "2"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{"-", "Castig"}], " ", ")"}], RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}], ")"}], "^", "2"}]}], "+", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"-", "DPetzval"}], "/", "2"}], ")"}], " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}], RowBox[{ RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}], "+", " ", RowBox[{"Edist", " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}], RowBox[{ RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}], "+", " ", RowBox[{"Fcoma", " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}]}], " ", RowBox[{ RowBox[{"{", RowBox[{"kx", ",", "ky"}], "}"}], ".", RowBox[{"{", RowBox[{"x0", ",", "y0"}], "}"}]}]}]}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{ RowBox[{"pupilfunction", "[", RowBox[{"kx_", ",", "ky_"}], "]"}], "=", RowBox[{ RowBox[{"circ", "[", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"kx", "^", "2"}], "+", RowBox[{"ky", "^", "2"}]}], ")"}], "/", RowBox[{"NA", "^", "2"}]}], "]"}], " ", RowBox[{"Sum", "[", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", RowBox[{"Waberr", "[", RowBox[{"x0", ",", "y0", ",", "kx", ",", "ky"}], "]"}]}], "]"}], ",", RowBox[{"{", RowBox[{"x0", ",", RowBox[{"-", "1"}], ",", "1", ",", "1"}], "}"}], ",", RowBox[{"{", RowBox[{"y0", ",", RowBox[{"-", "1"}], ",", "1", ",", "1"}], "}"}]}], "]"}]}]}], ";", RowBox[{"pupil", "=", RowBox[{"Table", "[", " ", RowBox[{ RowBox[{"pupilfunction", "[", RowBox[{"kx", ",", "ky"}], "]"}], ",", RowBox[{"{", RowBox[{"ky", ",", RowBox[{"-", "kmax"}], ",", "kmax", ",", RowBox[{"2", " ", RowBox[{"kmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"kx", ",", RowBox[{"-", "kmax"}], ",", "kmax", ",", RowBox[{"2", " ", RowBox[{"kmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411074865334424*^9, 3.411074875249538*^9}, {3.4110749691474867`*^9, 3.4110751302751627`*^9}, 3.411075161170106*^9, {3.411075193900826*^9, 3.411075229076284*^9}, { 3.411075268671439*^9, 3.411075268796926*^9}, {3.411075299943869*^9, 3.411075300571858*^9}, 3.41107533504003*^9, {3.411075511928051*^9, 3.411075609180319*^9}, 3.411075662578306*^9, 3.411075714699874*^9, { 3.41107575978192*^9, 3.411075773544292*^9}, 3.41107585140497*^9, { 3.411075889117042*^9, 3.4110758933977127`*^9}, {3.411075924476191*^9, 3.41107592483123*^9}, 3.41132590771482*^9, {3.411325946865069*^9, 3.4113259656190767`*^9}, 3.4113259984389153`*^9, {3.4113260328014517`*^9, 3.411326033625926*^9}, 3.4113260786736794`*^9, {3.4113261213227997`*^9, 3.411326129858404*^9}, 3.4113261818536797`*^9, 3.411326236624619*^9, { 3.4113263109419947`*^9, 3.4113263227820168`*^9}, {3.411326378045484*^9, 3.4113263786134863`*^9}, {3.4113264135645247`*^9, 3.411326419154332*^9}, { 3.411326463493286*^9, 3.411326465942123*^9}, 3.4113265001936817`*^9, { 3.411326546431242*^9, 3.4113266404452143`*^9}, {3.411381854144277*^9, 3.4113818625906687`*^9}, {3.4113819268666353`*^9, 3.411381929437138*^9}, { 3.411381980889732*^9, 3.4113819827610283`*^9}, {3.411382066670732*^9, 3.411382079521254*^9}, 3.411382135832325*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}], "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.409513801596244*^9, 3.40951387369378*^9}, { 3.4095139457332983`*^9, 3.409513981233762*^9}, {3.409515051897423*^9, 3.4095151243898087`*^9}, {3.409515399031557*^9, 3.409515405305889*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Imaging an object (coherent, no aberrations)", "Subsection", CellChangeTimes->{{3.4110760389081993`*^9, 3.411076065447816*^9}, { 3.41107612097182*^9, 3.411076124524271*^9}, 3.411077200105091*^9, { 3.4110781016930532`*^9, 3.41107810675578*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"circ", "[", "r_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{"r", "\[LessEqual]", "1"}], ",", "1", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rearr", "[", RowBox[{"matri_", ",", "n_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "m", "}"}], ",", RowBox[{ RowBox[{"m", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}], ";", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.409493553523293*^9, 3.4094935952330627`*^9}, { 3.409513746866173*^9, 3.409513747505958*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"objectAmp", "[", RowBox[{"x_", ",", "y_", ",", "n_"}], "]"}], ":=", RowBox[{"Sum", "[", RowBox[{ RowBox[{"circ", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"x", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}], "+", RowBox[{ RowBox[{"(", RowBox[{"y", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"(", ".4", ")"}]}], "]"}], ",", RowBox[{"{", RowBox[{"nn", ",", "1", ",", "n"}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076240109466*^9, 3.411076465123539*^9}, { 3.411076661067478*^9, 3.411076661398741*^9}, {3.411076716656527*^9, 3.411076726507492*^9}, {3.4110768584703503`*^9, 3.411076897253941*^9}, { 3.41107706769209*^9, 3.411077081076524*^9}, 3.411077123359953*^9}], Cell[BoxData[ RowBox[{ RowBox[{"num", "=", "200"}], ";", RowBox[{"rmax", "=", "5"}], ";", RowBox[{ RowBox[{"OA", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{"objectAmp", "[", RowBox[{"x", ",", "y", ",", "7"}], "]"}]}], ";", RowBox[{"object", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"OA", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076209253746*^9, 3.411076222849*^9}, { 3.411076491599957*^9, 3.411076582043*^9}, {3.4110766194872847`*^9, 3.4110766483393383`*^9}, {3.411076761373197*^9, 3.411076761544455*^9}, 3.411076943679101*^9, {3.411077007858103*^9, 3.411077030150104*^9}, 3.411077101531077*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "object", "]"}], "^", "2"}], "]"}]], "Input", CellChangeTimes->{{3.4110779832489758`*^9, 3.4110779874290667`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Utilde", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{"object", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "Utilde", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, {3.411326826931016*^9, 3.411326828005262*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"NA", "=", ".7"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pupil", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "\[LessEqual]", " ", RowBox[{"NA", " ", RowBox[{"num", "/", "2"}]}]}], " ", ",", RowBox[{"Utilde", "[", RowBox[{"[", RowBox[{"kx", ",", "ky"}], "]"}], "]"}], ",", "0"}], "]"}], ",", RowBox[{"{", RowBox[{"kx", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"ky", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411076132825486*^9, 3.4110761405698147`*^9}, {3.411076187682547*^9, 3.411076207713923*^9}, 3.4110774204601183`*^9, {3.411077477502617*^9, 3.4110775127669783`*^9}, { 3.4110775444909163`*^9, 3.4110777277759438`*^9}, 3.411077773739542*^9, 3.411078016720117*^9, 3.411326925472101*^9, {3.411326971307913*^9, 3.411326974858582*^9}, {3.411382787047195*^9, 3.411382787613008*^9}, 3.411382871704829*^9, {3.411382910621961*^9, 3.4113829115821877`*^9}, 3.411382952120143*^9, 3.411384212166553*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "pupil", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, {3.411077759900084*^9, 3.411077760937986*^9}, {3.411326870318872*^9, 3.4113268713619833`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Uimage", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}, { 3.411077826698884*^9, 3.4110778395142803`*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "Uimage", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110778594262877`*^9, 3.411077904853352*^9}, { 3.411077957758422*^9, 3.411077963024734*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Imaging an object (incoherent, no aberrations)", "Subsection", CellChangeTimes->{{3.4110760389081993`*^9, 3.411076065447816*^9}, { 3.41107612097182*^9, 3.411076124524271*^9}, 3.411077200105091*^9, { 3.4110781016930532`*^9, 3.41107810675578*^9}, {3.411095690330817*^9, 3.4110956905831633`*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"circ", "[", "r_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{"r", "\[LessEqual]", "1"}], ",", "1", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rearr", "[", RowBox[{"matri_", ",", "n_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "m", "}"}], ",", RowBox[{ RowBox[{"m", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}], ";", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.409493553523293*^9, 3.4094935952330627`*^9}, { 3.409513746866173*^9, 3.409513747505958*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"objectAmp", "[", RowBox[{"x_", ",", "y_", ",", "n_"}], "]"}], ":=", RowBox[{"Sum", "[", RowBox[{ RowBox[{"circ", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"x", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}], "+", RowBox[{ RowBox[{"(", RowBox[{"y", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"(", ".4", ")"}]}], "]"}], ",", RowBox[{"{", RowBox[{"nn", ",", "1", ",", "n"}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076240109466*^9, 3.411076465123539*^9}, { 3.411076661067478*^9, 3.411076661398741*^9}, {3.411076716656527*^9, 3.411076726507492*^9}, {3.4110768584703503`*^9, 3.411076897253941*^9}, { 3.41107706769209*^9, 3.411077081076524*^9}, 3.411077123359953*^9}], Cell[BoxData[ RowBox[{ RowBox[{"num", "=", "200"}], ";", RowBox[{"rmax", "=", "5"}], ";", RowBox[{ RowBox[{"OA", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{"objectAmp", "[", RowBox[{"x", ",", "y", ",", "7"}], "]"}]}], ";", RowBox[{"object", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"OA", "[", RowBox[{"x", ",", "y"}], "]"}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076209253746*^9, 3.411076222849*^9}, { 3.411076491599957*^9, 3.411076582043*^9}, {3.4110766194872847`*^9, 3.4110766483393383`*^9}, {3.411076761373197*^9, 3.411076761544455*^9}, 3.411076943679101*^9, {3.411077007858103*^9, 3.411077030150104*^9}, 3.411077101531077*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "object", "]"}], "^", "2"}], "]"}]], "Input", CellChangeTimes->{{3.4110779832489758`*^9, 3.4110779874290667`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Itilde", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "object", "]"}], "^", "2"}], ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}, { 3.4110957448509197`*^9, 3.411095767673882*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "Itilde", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, 3.4110957763202467`*^9, 3.411327194098008*^9}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"NA", "=", ".7"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pupil", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "\[LessEqual]", " ", RowBox[{"NA", " ", "num"}]}], ",", RowBox[{ RowBox[{"Itilde", "[", RowBox[{"[", RowBox[{"kx", ",", "ky"}], "]"}], "]"}], " ", RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"2", " ", RowBox[{"ArcCos", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"(", RowBox[{"NA", " ", "num", " ", "2"}], ")"}]}], "]"}]}], "-", " ", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{"1", "-", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"(", RowBox[{"NA", " ", "num"}], ")"}]}], ")"}], "^", "2"}], "/", "4"}]}], "]"}], " ", RowBox[{"(", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"(", RowBox[{"NA", " ", "num"}], ")"}]}], ")"}]}]}], ")"}], "/", "Pi"}]}], ",", "0"}], "]"}], ",", RowBox[{"{", RowBox[{"kx", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"ky", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411076132825486*^9, 3.4110761405698147`*^9}, {3.411076187682547*^9, 3.411076207713923*^9}, 3.4110774204601183`*^9, {3.411077477502617*^9, 3.4110775127669783`*^9}, { 3.4110775444909163`*^9, 3.4110777277759438`*^9}, 3.411077773739542*^9, 3.411078016720117*^9, {3.411095857768182*^9, 3.41109591154324*^9}, { 3.411095942998087*^9, 3.411096017764921*^9}, 3.411384290606681*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "pupil", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, {3.411077759900084*^9, 3.411077760937986*^9}, 3.411327210614538*^9}], Cell[BoxData[ RowBox[{ RowBox[{"Iimage", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}, { 3.411077826698884*^9, 3.4110778395142803`*^9}, 3.411096068351028*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Abs", "[", "Iimage", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110778594262877`*^9, 3.411077904853352*^9}, { 3.411077957758422*^9, 3.411077963024734*^9}, {3.411096096237356*^9, 3.411096100090294*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["Phase contrast, coherent", "Subsection", CellChangeTimes->{{3.4110760389081993`*^9, 3.411076065447816*^9}, { 3.41107612097182*^9, 3.411076124524271*^9}, 3.411077200105091*^9, { 3.411078114396484*^9, 3.411078128188952*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"circ", "[", "r_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{"r", "\[LessEqual]", "1"}], ",", "1", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rearr", "[", RowBox[{"matri_", ",", "n_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "m", "}"}], ",", RowBox[{ RowBox[{"m", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}], ";", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.409493553523293*^9, 3.4094935952330627`*^9}, { 3.409513746866173*^9, 3.409513747505958*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"objectPhase", "[", RowBox[{"x_", ",", "y_", ",", "n_"}], "]"}], ":=", RowBox[{"Exp", "[", RowBox[{"I", " ", RowBox[{ RowBox[{"Sum", "[", RowBox[{ RowBox[{"circ", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"x", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}], "+", RowBox[{ RowBox[{"(", RowBox[{"y", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"(", ".4", ")"}]}], "]"}], ",", RowBox[{"{", RowBox[{"nn", ",", "1", ",", "n"}], "}"}]}], "]"}], "/", "10"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076240109466*^9, 3.411076465123539*^9}, { 3.411076661067478*^9, 3.411076661398741*^9}, {3.411076716656527*^9, 3.411076726507492*^9}, {3.4110768584703503`*^9, 3.411076897253941*^9}, { 3.41107706769209*^9, 3.411077081076524*^9}, 3.411077123359953*^9, { 3.411078157059558*^9, 3.4110781822955103`*^9}, {3.411078272995366*^9, 3.4110782938896646`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"num", "=", "200"}], ";", RowBox[{"rmax", "=", "5"}], ";", RowBox[{ RowBox[{"OP", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{"objectPhase", "[", RowBox[{"x", ",", "y", ",", "7"}], "]"}]}], ";", RowBox[{"object", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"OP", "[", RowBox[{"x", ",", "y"}], "]"}], " ", RowBox[{"circ", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], "]"}], "/", "2.5"}], "]"}]}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076209253746*^9, 3.411076222849*^9}, { 3.411076491599957*^9, 3.411076582043*^9}, {3.4110766194872847`*^9, 3.4110766483393383`*^9}, {3.411076761373197*^9, 3.411076761544455*^9}, 3.411076943679101*^9, {3.411077007858103*^9, 3.411077030150104*^9}, 3.411077101531077*^9, {3.4110781949877243`*^9, 3.411078200978343*^9}, { 3.411079063271853*^9, 3.411079098504232*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Im", "[", "object", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110779832489758`*^9, 3.4110779874290667`*^9}, { 3.41107823784762*^9, 3.411078249303961*^9}, {3.411078306795396*^9, 3.4110783463655863`*^9}, {3.411079112104269*^9, 3.411079112566278*^9}, { 3.411079149621949*^9, 3.411079149924034*^9}, {3.4113274173293047`*^9, 3.4113274285887117`*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "object", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110779832489758`*^9, 3.4110779874290667`*^9}, { 3.41107823784762*^9, 3.411078249303961*^9}, 3.411078306795396*^9, { 3.411079169335299*^9, 3.4110791697977552`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Utilde", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{"object", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "Utilde", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, {3.4110785952765903`*^9, 3.4110786015288973`*^9}, 3.411079208223448*^9, {3.411079308433845*^9, 3.411079309411191*^9}, {3.4113276270746393`*^9, 3.411327649048752*^9}}], Cell["Without Phase contrast", "Text", CellChangeTimes->{{3.411079476729141*^9, 3.411079482200539*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"NA", "=", ".5"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pupil", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "\[LessEqual]", " ", RowBox[{"NA", " ", RowBox[{"num", "/", "2"}]}]}], " ", ",", RowBox[{"Utilde", "[", RowBox[{"[", RowBox[{"kx", ",", "ky"}], "]"}], "]"}], ",", "0"}], "]"}], ",", RowBox[{"{", RowBox[{"kx", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"ky", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411076132825486*^9, 3.4110761405698147`*^9}, {3.411076187682547*^9, 3.411076207713923*^9}, 3.4110774204601183`*^9, {3.411077477502617*^9, 3.4110775127669783`*^9}, { 3.4110775444909163`*^9, 3.4110777277759438`*^9}, 3.411077773739542*^9, 3.411078016720117*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "pupil", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, {3.411077759900084*^9, 3.411077760937986*^9}, {3.4110793784294252`*^9, 3.4110793794821177`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Uimage", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}, { 3.411077826698884*^9, 3.4110778395142803`*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "Uimage", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110778594262877`*^9, 3.411077904853352*^9}, { 3.411077957758422*^9, 3.411077963024734*^9}}], Cell["Blocking the center", "Text", CellChangeTimes->{{3.411079476729141*^9, 3.411079511459837*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"NA", "=", ".5"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pupil", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "\[LessEqual]", " ", RowBox[{"NA", " ", RowBox[{"num", "/", "2"}]}]}], " ", ",", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], ">", "4"}], ",", RowBox[{"Utilde", "[", RowBox[{"[", RowBox[{"kx", ",", "ky"}], "]"}], "]"}], ",", "0"}], "]"}], ",", "0"}], "]"}], ",", RowBox[{"{", RowBox[{"kx", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"ky", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411076132825486*^9, 3.4110761405698147`*^9}, {3.411076187682547*^9, 3.411076207713923*^9}, 3.4110774204601183`*^9, {3.411077477502617*^9, 3.4110775127669783`*^9}, { 3.4110775444909163`*^9, 3.4110777277759438`*^9}, 3.411077773739542*^9, 3.411078016720117*^9, {3.4110795274288187`*^9, 3.411079585012184*^9}, 3.411079650245903*^9}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "pupil", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, {3.411077759900084*^9, 3.411077760937986*^9}, {3.4110793784294252`*^9, 3.4110793794821177`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Uimage", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}, { 3.411077826698884*^9, 3.4110778395142803`*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "Uimage", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110778594262877`*^9, 3.411077904853352*^9}, { 3.411077957758422*^9, 3.411077963024734*^9}}], Cell["Using phase contrast", "Text", CellChangeTimes->{{3.411079476729141*^9, 3.411079511459837*^9}, { 3.411079728888118*^9, 3.411079732578352*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"NA", "=", ".5"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pupil", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "\[LessEqual]", " ", RowBox[{"NA", " ", RowBox[{"num", "/", "2"}]}]}], " ", ",", RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], ">", "4"}], ",", RowBox[{"Utilde", "[", RowBox[{"[", RowBox[{"kx", ",", "ky"}], "]"}], "]"}], ",", " ", RowBox[{ RowBox[{"I", "/", "10"}], " ", RowBox[{"Utilde", "[", RowBox[{"[", RowBox[{"kx", ",", "ky"}], "]"}], "]"}]}]}], "]"}], ",", "0"}], "]"}], ",", RowBox[{"{", RowBox[{"kx", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"ky", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411076132825486*^9, 3.4110761405698147`*^9}, {3.411076187682547*^9, 3.411076207713923*^9}, 3.4110774204601183`*^9, {3.411077477502617*^9, 3.4110775127669783`*^9}, { 3.4110775444909163`*^9, 3.4110777277759438`*^9}, 3.411077773739542*^9, 3.411078016720117*^9, {3.4110795274288187`*^9, 3.411079585012184*^9}, 3.411079650245903*^9, 3.411079740390444*^9, {3.411079776047635*^9, 3.411079777144442*^9}, {3.4110798379044933`*^9, 3.411079864603423*^9}, 3.411079921559175*^9, 3.411079953228684*^9, 3.41132773657867*^9, { 3.411327794911524*^9, 3.411327795104062*^9}, 3.41138504890701*^9, { 3.411385205356724*^9, 3.41138520591201*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{"Abs", "[", "pupil", "]"}], "]"}]], "Input", CellChangeTimes->{{3.411077271296783*^9, 3.41107728960533*^9}, { 3.4110774294431667`*^9, 3.411077465519561*^9}, {3.411077759900084*^9, 3.411077760937986*^9}, {3.4110793784294252`*^9, 3.4110793794821177`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Uimage", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}, { 3.411077826698884*^9, 3.4110778395142803`*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "Uimage", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110778594262877`*^9, 3.411077904853352*^9}, { 3.411077957758422*^9, 3.411077963024734*^9}}] }, Closed]], Cell[CellGroupData[{ Cell["DIC", "Subsection", CellChangeTimes->{{3.4110760389081993`*^9, 3.411076065447816*^9}, { 3.41107612097182*^9, 3.411076124524271*^9}, 3.411077200105091*^9, { 3.411078114396484*^9, 3.411078128188952*^9}, {3.411080658874789*^9, 3.411080659509066*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"circ", "[", "r_", "]"}], "=", RowBox[{"If", "[", RowBox[{ RowBox[{"r", "\[LessEqual]", "1"}], ",", "1", ",", "0"}], "]"}]}], ";"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"rearr", "[", RowBox[{"matri_", ",", "n_"}], "]"}], ":=", RowBox[{"Module", "[", RowBox[{ RowBox[{"{", "m", "}"}], ",", RowBox[{ RowBox[{"m", "=", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"matri", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}], ";", RowBox[{"Transpose", "[", RowBox[{"Join", "[", RowBox[{ RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"-", RowBox[{"(", RowBox[{ RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}], "+", "1"}], ")"}]}]}], "]"}], ",", RowBox[{"Take", "[", RowBox[{"m", ",", RowBox[{"Round", "[", RowBox[{"n", "/", "2"}], "]"}]}], "]"}]}], "]"}], "]"}]}]}], "]"}]}]}], "Input", CellChangeTimes->{{3.409493553523293*^9, 3.4094935952330627`*^9}, { 3.409513746866173*^9, 3.409513747505958*^9}}], Cell[BoxData[ RowBox[{ RowBox[{ RowBox[{"objectPhase", "[", RowBox[{"x_", ",", "y_", ",", "n_"}], "]"}], ":=", RowBox[{"Exp", "[", RowBox[{"I", " ", RowBox[{ RowBox[{"Sum", "[", RowBox[{ RowBox[{"circ", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"x", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}], "+", RowBox[{ RowBox[{"(", RowBox[{"y", "-", RowBox[{"RandomReal", "[", RowBox[{"{", RowBox[{ RowBox[{"-", "2"}], ",", "2"}], "}"}], "]"}]}], ")"}], "^", "2"}]}], "]"}], "/", RowBox[{"(", ".4", ")"}]}], "]"}], ",", RowBox[{"{", RowBox[{"nn", ",", "1", ",", "n"}], "}"}]}], "]"}], "/", "10"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076240109466*^9, 3.411076465123539*^9}, { 3.411076661067478*^9, 3.411076661398741*^9}, {3.411076716656527*^9, 3.411076726507492*^9}, {3.4110768584703503`*^9, 3.411076897253941*^9}, { 3.41107706769209*^9, 3.411077081076524*^9}, 3.411077123359953*^9, { 3.411078157059558*^9, 3.4110781822955103`*^9}, {3.411078272995366*^9, 3.4110782938896646`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"num", "=", "200"}], ";", RowBox[{"rmax", "=", "5"}], ";", RowBox[{ RowBox[{"OP", "[", RowBox[{"x_", ",", "y_"}], "]"}], "=", RowBox[{"objectPhase", "[", RowBox[{"x", ",", "y", ",", "7"}], "]"}]}], ";", RowBox[{"object", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"OP", "[", RowBox[{"x", ",", "y"}], "]"}], " ", RowBox[{"circ", "[", RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{"x", "^", "2"}], "+", RowBox[{"y", "^", "2"}]}], "]"}], "/", "2.5"}], "]"}]}], ",", RowBox[{"{", RowBox[{"x", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", RowBox[{"-", "rmax"}], ",", "rmax", ",", RowBox[{"2", " ", RowBox[{"rmax", "/", "num"}]}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.411076209253746*^9, 3.411076222849*^9}, { 3.411076491599957*^9, 3.411076582043*^9}, {3.4110766194872847`*^9, 3.4110766483393383`*^9}, {3.411076761373197*^9, 3.411076761544455*^9}, 3.411076943679101*^9, {3.411077007858103*^9, 3.411077030150104*^9}, 3.411077101531077*^9, {3.4110781949877243`*^9, 3.411078200978343*^9}, { 3.411079063271853*^9, 3.411079098504232*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{"Im", "[", "object", "]"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110779832489758`*^9, 3.4110779874290667`*^9}, { 3.41107823784762*^9, 3.411078249303961*^9}, {3.411078306795396*^9, 3.4110783463655863`*^9}, {3.411079112104269*^9, 3.411079112566278*^9}, { 3.411079149621949*^9, 3.411079149924034*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "object", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110779832489758`*^9, 3.4110779874290667`*^9}, { 3.41107823784762*^9, 3.411078249303961*^9}, 3.411078306795396*^9, { 3.411079169335299*^9, 3.4110791697977552`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"Utilde", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"Fourier", "[", RowBox[{"rearr", "[", RowBox[{"object", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}}], Cell[BoxData[{ RowBox[{ RowBox[{ RowBox[{"NA", "=", ".5"}], ";"}], "\[IndentingNewLine]"}], "\[IndentingNewLine]", RowBox[{ RowBox[{"pupil", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{"If", "[", RowBox[{ RowBox[{ RowBox[{"Sqrt", "[", RowBox[{ RowBox[{ RowBox[{"(", RowBox[{"kx", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}], " ", "+", RowBox[{ RowBox[{"(", RowBox[{"ky", "-", RowBox[{"(", RowBox[{ RowBox[{"num", "/", "2"}], "+", "1"}], ")"}]}], ")"}], "^", "2"}]}], "]"}], "\[LessEqual]", " ", RowBox[{"NA", " ", RowBox[{"num", "/", "2"}]}]}], " ", ",", RowBox[{"Utilde", "[", RowBox[{"[", RowBox[{"kx", ",", "ky"}], "]"}], "]"}], ",", "0"}], "]"}], ",", RowBox[{"{", RowBox[{"kx", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}], ",", RowBox[{"{", RowBox[{"ky", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}]}], "]"}]}], ";"}]}], "Input", CellChangeTimes->{{3.4094936047382708`*^9, 3.409493816339469*^9}, { 3.409500804867236*^9, 3.4095008487810297`*^9}, 3.409513191629916*^9, { 3.409513552345975*^9, 3.409513554328783*^9}, {3.409513714725566*^9, 3.409513716965969*^9}, 3.409514032672171*^9, 3.409514081482086*^9, { 3.409514298239283*^9, 3.409514299702154*^9}, 3.409514906278905*^9, { 3.4095149555424023`*^9, 3.4095149558195057`*^9}, 3.409515145681714*^9, { 3.409515276424096*^9, 3.4095153253844337`*^9}, {3.409515355906362*^9, 3.409515369483633*^9}, 3.409515479077586*^9, 3.409516118346862*^9, { 3.409516161538227*^9, 3.409516164310854*^9}, {3.409516199464487*^9, 3.409516199994863*^9}, {3.410963976589335*^9, 3.410964027658746*^9}, { 3.410964137695937*^9, 3.410964139915357*^9}, {3.410964230586369*^9, 3.410964391110075*^9}, {3.4109644218316107`*^9, 3.410964445649144*^9}, { 3.410972235159965*^9, 3.4109726168721046`*^9}, {3.410972647267461*^9, 3.4109728858141747`*^9}, {3.410972919200548*^9, 3.41097293786751*^9}, { 3.410972992814609*^9, 3.4109730159616213`*^9}, {3.410973055596842*^9, 3.410973058627098*^9}, {3.4109731100084553`*^9, 3.410973117487686*^9}, 3.410973152236318*^9, 3.4109731891148252`*^9, {3.4109732316707582`*^9, 3.410973262761979*^9}, {3.410973313944038*^9, 3.4109733224027357`*^9}, { 3.410973366491744*^9, 3.410973369491226*^9}, {3.4109734140626173`*^9, 3.410973437258134*^9}, {3.410973467305767*^9, 3.410973467827098*^9}, 3.410973509001733*^9, {3.4110742560633*^9, 3.411074299216086*^9}, { 3.4110743662633553`*^9, 3.411074418865057*^9}, {3.411074466836089*^9, 3.411074483261972*^9}, {3.4110745266953506`*^9, 3.411074530248003*^9}, { 3.411074618619166*^9, 3.411074618753357*^9}, 3.41107468416967*^9, 3.411074716239891*^9, 3.411074799656309*^9, {3.411076132825486*^9, 3.4110761405698147`*^9}, {3.411076187682547*^9, 3.411076207713923*^9}, 3.4110774204601183`*^9, {3.411077477502617*^9, 3.4110775127669783`*^9}, { 3.4110775444909163`*^9, 3.4110777277759438`*^9}, 3.411077773739542*^9, 3.411078016720117*^9}], Cell[BoxData[ RowBox[{ RowBox[{"Uimage", "=", RowBox[{"rearr", "[", RowBox[{ RowBox[{"InverseFourier", "[", RowBox[{"rearr", "[", RowBox[{"pupil", ",", "num"}], "]"}], "]"}], ",", "num"}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41107743733873*^9, 3.411077459200623*^9}, { 3.411077826698884*^9, 3.4110778395142803`*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "Uimage", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110778594262877`*^9, 3.411077904853352*^9}, { 3.411077957758422*^9, 3.411077963024734*^9}, {3.4110804463588257`*^9, 3.411080450109851*^9}, {3.411080510288995*^9, 3.4110805115099373`*^9}}], Cell[BoxData[ RowBox[{ RowBox[{"\[Phi]0", "=", RowBox[{"Pi", "/", "32"}]}], ";", RowBox[{"\[CapitalDelta]x", "=", "1"}], ";", RowBox[{"UDIC", "=", RowBox[{"Table", "[", RowBox[{ RowBox[{ RowBox[{"Uimage", "[", RowBox[{"[", RowBox[{ RowBox[{"x", "+", "\[CapitalDelta]x"}], ",", "y"}], "]"}], "]"}], "-", RowBox[{ RowBox[{"Exp", "[", RowBox[{"I", " ", "\[Phi]0"}], "]"}], " ", RowBox[{"Uimage", "[", RowBox[{"[", RowBox[{ RowBox[{"x", "-", "\[CapitalDelta]x"}], ",", "y"}], "]"}], "]"}]}]}], ",", RowBox[{"{", RowBox[{"x", ",", "2", ",", "num"}], "}"}], ",", RowBox[{"{", RowBox[{"y", ",", "1", ",", RowBox[{"num", "+", "1"}]}], "}"}]}], "]"}]}], ";"}]], "Input", CellChangeTimes->{{3.41108027409683*^9, 3.4110804412598553`*^9}, 3.4110806088719893`*^9, {3.411328054929186*^9, 3.411328083349285*^9}}], Cell[BoxData[ RowBox[{"ListDensityPlot", "[", RowBox[{ RowBox[{ RowBox[{"Abs", "[", "UDIC", "]"}], "^", "2"}], ",", RowBox[{"PlotRange", "\[Rule]", "All"}]}], "]"}]], "Input", CellChangeTimes->{{3.4110778594262877`*^9, 3.411077904853352*^9}, { 3.411077957758422*^9, 3.411077963024734*^9}, {3.4110804463588257`*^9, 3.411080450109851*^9}, {3.411080566860362*^9, 3.411080595702985*^9}}] }, Closed]] }, Closed]] }, Open ]] }, WindowSize->{640, 552}, WindowMargins->{{Automatic, 30}, {Automatic, 0}}, FrontEndVersion->"6.0 for Mac OS X PowerPC (32-bit) (June 19, 2007)", StyleDefinitions->"Default.nb" ] (* End of Notebook Content *) (* Internal cache information *) (*CellTagsOutline CellTagsIndex->{} *) (*CellTagsIndex CellTagsIndex->{} *) (*NotebookFileOutline Notebook[{ Cell[CellGroupData[{ Cell[590, 23, 176, 4, 170, "Title"], Cell[769, 29, 105, 1, 46, "Subtitle"], Cell[877, 32, 112, 1, 26, "Subsubtitle"], Cell[CellGroupData[{ Cell[1014, 37, 153, 2, 67, "Section"], Cell[CellGroupData[{ Cell[1192, 43, 168, 2, 34, "Subsection"], Cell[1363, 47, 679, 19, 43, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[2079, 71, 110, 1, 26, "Subsection"], Cell[2192, 74, 4231, 128, 300, "Input"], Cell[6426, 204, 576, 9, 27, "Input"], Cell[7005, 215, 720, 16, 27, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[7774, 237, 103, 1, 37, "Section"], Cell[CellGroupData[{ Cell[7902, 242, 171, 2, 34, "Subsection"], Cell[8076, 246, 1208, 37, 58, "Input"], Cell[9287, 285, 297, 8, 27, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[9621, 298, 196, 3, 26, "Subsection"], Cell[9820, 303, 1653, 53, 121, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[11522, 362, 98, 1, 37, "Section"], Cell[CellGroupData[{ Cell[11645, 367, 101, 1, 34, "Subsection"], Cell[11749, 370, 1251, 34, 58, "Input"], Cell[13003, 406, 689, 17, 43, "Input"], Cell[13695, 425, 1145, 30, 58, "Input"], Cell[14843, 457, 1178, 27, 73, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[16058, 489, 127, 1, 26, "Subsection"], Cell[16188, 492, 1613, 45, 58, "Input"], Cell[17804, 539, 445, 13, 27, "Input"], Cell[18252, 554, 478, 13, 27, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[18767, 572, 147, 2, 26, "Subsection"], Cell[18917, 576, 819, 21, 58, "Input"], Cell[19739, 599, 2911, 76, 148, "Input"], Cell[22653, 677, 210, 4, 27, "Input"], Cell[22866, 683, 279, 5, 27, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[23182, 693, 110, 1, 26, "Subsection"], Cell[23295, 696, 1262, 37, 43, "Input"], Cell[CellGroupData[{ Cell[24582, 737, 833, 17, 27, "Input"], Cell[25418, 756, 767, 23, 33, "Output"] }, Open ]], Cell[26200, 782, 1758, 47, 103, "Input"], Cell[27961, 831, 1519, 40, 88, "Input"], Cell[29483, 873, 5804, 167, 441, "Input"], Cell[35290, 1042, 1438, 39, 88, "Input"] }, Closed]] }, Closed]], Cell[CellGroupData[{ Cell[36777, 1087, 92, 1, 37, "Section"], Cell[CellGroupData[{ Cell[36894, 1092, 124, 1, 34, "Subsection"], Cell[37021, 1095, 158, 4, 27, "Input"], Cell[37182, 1101, 462, 9, 41, "Text"], Cell[37647, 1112, 1379, 39, 73, "Input"], Cell[39029, 1153, 530, 9, 27, "Input"], Cell[39562, 1164, 150, 5, 26, "Text"], Cell[39715, 1171, 1167, 34, 58, "Input"], Cell[40885, 1207, 469, 7, 27, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[41391, 1219, 205, 3, 26, "Subsection"], Cell[41599, 1224, 1569, 48, 103, "Input"], Cell[43171, 1274, 97, 1, 26, "Text"], Cell[43271, 1277, 6049, 160, 328, "Input"], Cell[49323, 1439, 361, 6, 27, "Input"], Cell[49687, 1447, 546, 13, 43, "Input"], Cell[50236, 1462, 583, 14, 43, "Input"], Cell[50822, 1478, 215, 6, 26, "Text"], Cell[51040, 1486, 7533, 185, 343, "Input"], Cell[58576, 1673, 583, 14, 43, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[59196, 1692, 256, 3, 26, "Subsection"], Cell[59455, 1697, 1569, 48, 103, "Input"], Cell[61027, 1747, 1205, 33, 73, "Input"], Cell[62235, 1782, 1070, 28, 58, "Input"], Cell[63308, 1812, 197, 4, 27, "Input"], Cell[63508, 1818, 308, 9, 27, "Input"], Cell[63819, 1829, 268, 5, 27, "Input"], Cell[64090, 1836, 3548, 70, 88, "Input"], Cell[67641, 1908, 315, 5, 27, "Input"], Cell[67959, 1915, 365, 10, 27, "Input"], Cell[68327, 1927, 309, 7, 27, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[68673, 1939, 310, 4, 26, "Subsection"], Cell[68986, 1945, 1569, 48, 103, "Input"], Cell[70558, 1995, 1205, 33, 73, "Input"], Cell[71766, 2030, 1070, 28, 58, "Input"], Cell[72839, 2060, 197, 4, 27, "Input"], Cell[73039, 2066, 429, 12, 27, "Input"], Cell[73471, 2080, 270, 5, 27, "Input"], Cell[73744, 2087, 6052, 140, 163, "Input"], Cell[79799, 2229, 291, 5, 27, "Input"], Cell[80093, 2236, 388, 10, 27, "Input"], Cell[80484, 2248, 333, 7, 27, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[80854, 2260, 235, 3, 26, "Subsection"], Cell[81092, 2265, 1569, 48, 103, "Input"], Cell[82664, 2315, 1474, 39, 118, "Input"], Cell[84141, 2356, 1392, 36, 58, "Input"], Cell[85536, 2394, 483, 9, 27, "Input"], Cell[86022, 2405, 385, 8, 27, "Input"], Cell[86410, 2415, 308, 9, 27, "Input"], Cell[86721, 2426, 394, 6, 27, "Input"], Cell[87118, 2434, 104, 1, 26, "Text"], Cell[87225, 2437, 3308, 67, 88, "Input"], Cell[90536, 2506, 317, 5, 27, "Input"], Cell[90856, 2513, 365, 10, 27, "Input"], Cell[91224, 2525, 309, 7, 27, "Input"], Cell[91536, 2534, 101, 1, 26, "Text"], Cell[91640, 2537, 4035, 88, 103, "Input"], Cell[95678, 2627, 317, 5, 27, "Input"], Cell[95998, 2634, 365, 10, 27, "Input"], Cell[96366, 2646, 309, 7, 27, "Input"], Cell[96678, 2655, 151, 2, 26, "Text"], Cell[96832, 2659, 4518, 97, 118, "Input"], Cell[101353, 2758, 317, 5, 27, "Input"], Cell[101673, 2765, 365, 10, 27, "Input"], Cell[102041, 2777, 309, 7, 27, "Input"] }, Closed]], Cell[CellGroupData[{ Cell[102387, 2789, 264, 4, 26, "Subsection"], Cell[102654, 2795, 1569, 48, 103, "Input"], Cell[104226, 2845, 1474, 39, 118, "Input"], Cell[105703, 2886, 1392, 36, 58, "Input"], Cell[107098, 2924, 430, 8, 27, "Input"], Cell[107531, 2934, 385, 8, 27, "Input"], Cell[107919, 2944, 308, 9, 27, "Input"], Cell[108230, 2955, 3308, 67, 88, "Input"], Cell[111541, 3024, 365, 10, 27, "Input"], Cell[111909, 3036, 408, 8, 27, "Input"], Cell[112320, 3046, 971, 28, 58, "Input"], Cell[113294, 3076, 404, 8, 27, "Input"] }, Closed]] }, Closed]] }, Open ]] } ] *) (* End of internal cache information *)