ThesisPDF Available

Apodizing Phase Plate Coronagraph Combined With Computer Generated Hologram Wavefront Sensor

Authors:

Abstract and Figures

A high contrast of the order of 10 −11 makes it challenging to directly image Earth-like exoplanets at visible wavelengths. Limited by diffraction and non-common path aberrations, current adaptive optics systems cannot reach this contrast. Exploring the combination of an apodizing phase plate and a holographic modal wavefront sensor, we show with simulations that up to six aberration modes can be suppressed in a closed loop, correcting aberrations of up to 2 rad. In the lab the same has been achieved for a single mode with a 0.5 rad amplitude. The highest achieved contrast in simulation, obtained with use of electric field conjugation, is on the order of 10 −14. iii iv
Content may be subject to copyright.
Apodizing Phase Plate
Coronagraph Combined With
Computer Generated Hologram
Wavefront Sensor
THESIS
submitted in partial fulfillment of the
requirements for the degree of
BACHELOR OF SCIENCE
in
PHYSICS AND ASTRONOMY
Author : Alexander G. M. Pietrow
Student ID : 1054678
Supervisor : Christoph Keller
2nd corrector : Martin van Exter
Leiden, The Netherlands, July 16, 2014
Apodizing Phase Plate
Coronagraph Combined With
Computer Generated Hologram
Wavefront Sensor
Alexander G. M. Pietrow
Leiden Observatory, Leiden University
P.O. Box 9500, 2300 RA Leiden, The Netherlands
July 16, 2014
Abstract
A high contrast of the order of 1011 makes it challenging to
directly image Earth-like exoplanets at visible wavelengths.
Limited by diffraction and non-common path aberrations, current
adaptive optics systems cannot reach this contrast. Exploring the
combination of an apodizing phase plate and a holographic
modal wavefront sensor, we show with simulations that up to six
aberration modes can be suppressed in a closed loop, correcting
aberrations of up to 2 rad. In the lab the same has been achieved
for a single mode with a 0.5 rad amplitude. The highest achieved
contrast in simulation, obtained with use of electric field
conjugation, is on the order of 1014.
iii
iv
Contents
1 Introduction 1
2 Theory 5
2.1 Apodizing Phase Plates 5
2.2 Modes 6
2.3 CGH generation 7
2.4 Combined APP and CGH 11
3 Setup 15
4 Results 17
4.1 Simulations 19
4.2 Lab 23
5 Discussion and Conclusion 27
A Code 35
A.1 CGH Code 35
A.2 APP+CGH Code 37
A.3 Electric Field Conjugation Code 42
Version of July 16, 2014– Created July 16, 2014 - 13:17
v
vi
Chapter 1
Introduction
Over twenty two years ago the first exoplanet1was discovered, turning
a popular science fiction topic into a new research field within astron-
omy. Throughout the years, this has led to the invention and improve-
ment of many new techniques for finding exoplanets, like RV, transits and
microlensing, leading to many discoveries eversince. (Seager & Deming,
2010) One of these exoplanet finding methods is direct imaging, where we
try to observe these planets directly. This however turns out to be quite
a challenge due to the significant contrast differences between the planets
and their host star. So far, all2planets that have been directly imaged were
observed in the near infrared, where not the reflective flux was measured,
but the thermal emission of young, Jupiter-mass exoplanets orbiting rel-
atively far from their host star. This explains the fact that less than three
percent3of all the discovered exoplanets have ever been imaged directly.
The main issue, however, is that Earth-like planets that are close enough to
their host star, have a relatively small angular separation of 10 λ/D. This
means that such planets will be ”hidden” under the diffraction rings of
their host star, adding to the difficulty of being detected.
The problem of diffraction can be addressed by a promising coronagraph
method called phase apodization. Here so called ‘apodizing phase plates’
(APPs) are generated in such a way that a flat wavefront passing trough
an APP gets destructively interfered on one side, creating a dark hole in
1See Wolszczan & Frail (1992)
2Except Fomalhaut as seen in Kalas et al. (2008)
3See exoplanet.eu (2014)
Version of July 16, 2014– Created July 16, 2014 - 13:17
1
Figure 1.1: Basic AO system setup, with a beam splitter which sends light
to both the wave front sensor and the camera.
the diffraction rings of the imaged point spread function (PSF), as can be
seen in Codona et al. (2006)
To image a planet in the V-band, we require a strong reflected flux, which
means that we need it to be relatively close to its host. The contrast dif-
ference, which for Earth like planets in the V-band is known to be 1011.
(Keller, 2014a) This requires the aid of coronagraphy and adaptive optics
(AO). With the former we mask the parent star, the diffraction caused by
it, and with the latter we correct wavefronts, which were perturbed by the
atmosphere. In this way we decrease the required contrast difference in
the captured images, and increase our chances of obtaining a valid detec-
tion.
Currently there are many ways of making a closed-loop AO system, with
wavefront sensors (WFS) that are incorporated into these loops by means
of a beamsplitter. Figure 1.2 shows the standard setup of a typical AO
system, where the WFS and the science camera are separate. Because the
WFS cannot detect any aberrations that are introduced after the beamsplit-
ter in the optical path to the science camera, these aberrations will not be
corrected. These aberrations are called Non-Common Path Aberrations
(NCPA). If we compare all the aberrations in a closed loop AO system,
the NCPA are the most significant and therefore the main limiting factor
2
Figure 1.2: a) A flat wavefront. b) The same wavefront but with an added
APP that creates a dark hole on the left side. The counts in both images
are raised to the 0.2th power to lower the dynamic range.
in modern AO systems.4While methods of correcting these aberrations
do exist5, a way of circumventing them all together is much more desir-
able. One WFS which can do exactly that is called the holography based
modal wavefront sensor (HMWFS), as described in Neil et al. (2000). This
WFS works by imaging directly onto the science camera, removing the
need for a beamsplitter and therefore getting rid of the NCPAs. These
holograms respond to given aberration modes, which can be tailored to
the hole which the APP creates. Hence, only a limited amount of modes is
needed, as the main interest is on the hole and not the rest of the image.
This report describes the combination of the APP coronagraph and the
HMWFS for low order aberration correction of a small dark area inside of
the diffraction rings of stars, the achievable contrasts and merits of using
this in an AO system.
4See Frazin (2014)
5See Sauvage et al. (2007)
3
4
Chapter 2
Theory
2.1 Apodizing Phase Plates
The challenge with imaging exoplanets that have a small enough angular
separation from their host star, is that they get covered by the hosts diffrac-
tion rings. These rings, which can be many times brighter than the planet,
can be reduced by with an AO system but has to be further suppressed
by means of a coronagraph. There are several types of coronagraphs, like
Lyot, vortex and phase mask coronagraphs. Each type having their own
trade-offs in throughput and angular resolution for diffraction suppres-
sion. For this research we have chosen the Apodizing phase plate corona-
graph because of its ability to create a dark hole of a chosen dimension and
location. APPs are shaped similarly to a diffraction grating, optimised to
cause small fractions of the main PSF to be diffracted into the surrounding
halo. This plate also aberrates this light in such a way that it matches the
amplitude and location of region it illuminates, only with a phase differ-
ence of πradians. This causes destructive interference and a darkening of
this area.1However, due to symmetry this also means that the plate will
have an inverted amplitude and identical phase on the location opposite
to the aforementioned area, which will have the inverse effect and con-
structively interfere with the diffracted light. This means that one can not
suppress more than half of the region around the star.2
1As explained in Method I from Codona et al. (2006)
2See Kenworthy et al. (2007)
Version of July 16, 2014– Created July 16, 2014 - 13:17
5
Figure 2.1: Three APPs designed for creating small holes around stars.
Figure 4.2 illustrates the effects of these plates.
For this research three APPs, made by Christoph Keller, were used. These
were intentionally chosen to work on a small area because of the nature of
the CGH wavefront sensor, but also because of the trade-off between area
and achievable depth.3In Fig. 2.1 we can see the three APPs which will
be used throughout this research.
2.2 Modes
When talking about aberrated wavefronts and their correction, one of the
first terms that comes to mind is the ‘Zernike polynominals’, these being
a set of orthogonal modes describing aberrations. Combinations of these
modes offer an approximation of a complex wavefront4and are therefore
used to express a wavefront. There are, however, many other possible
orthonormal bases of aberration modes that can be used. Especially if one
does not wish to correct the entire image but only a small part, for example
a small area created by an APP. In such a case it is better to look for modes
which lead to the most intensity in this specific area. These modes can of
course be described by a superposition of Zernike modes, but if sorted by
their ability to affect the hole, we can avoid most light with a subset of
the first few aberrations, rather than many Zernike or other modes. Every
APP will have a unique set of modes equal to twice the amount of pixels
in the hole. This is because these modes are related to the amplitude and
phase of the electric field of every pixel that is being measured there.
3See (Keller, 2014b)
4See Noll (1976)
6
2.3 CGH generation
Holography based modal wavefront sensors (HMWS) are an interesting
alternative to conventional wavefront sensors because, unlike most other
WFSs, they do not suffer from non common path errors. This is achieved
by imaging the holograms directly onto the science camera, ensuring that
the entire path between the WFS and the science imaging camera is identi-
cal. The HMWFS works by assuming that every incoming wavefront can
be decomposed into a set of orthogonal aberration modes (Zernike modes
or other custom modes). While this can be a large number of modes, the
majority of the perturbations is caused by the low-order modes. Each one
of these modes can be separately described by a computer generated holo-
gram (CGH). Those holograms then create a pair of spots on the science
frame in a chosen location. Comparing the normalised intensity difference
between a pair of those spots, we can find the amplitude of a given aber-
ration (see below). The holograms, describing single aberration modes,
can then be multiplexed, by simple addition, into an arbitrarily large col-
lection. Given enough of these holograms, we can reconstruct a complex
wavefront by measuring the intensity difference of the dots. Therefore the
correction speed is mainly being limited by the speed of the detector.
The main problem with this method is that these holograms redistribute
light from the main PSF, and therefore lower the S/N of the image, mean-
ing that the more holograms we stack, the lower our image S/N will be.
Two holograms are needed for every pixel that we wish to correct, and
therefore correcting large areas with this method would not be recom-
mended. However if we only wish to work on a small area of only a few
pixels, the loss in peak intensity is limited to about 20%.
In this section we explore the theory behind creating a single CGH, fol-
lowing Booth (2003). Computer generated holograms work in the pupil
plane of the telescope and function much like an ordinary diffraction grat-
ing. When light sent trough the CGH passes a convergent lens, it will be
Fourier transformed and hence convolved with the PSF resulting in a set
of point symmetrical dot pairs, as seen in Fig. 2.2, which are in fact copies
of the main PSF. The top of these dots wil be called A+and the bottom
one A. Such a hologram is designed in such a way that when it is illu-
minated by a wavefront containing a certain aberration Mk, it will give a
high intensity at the A+, while the aberration Mkleads to the opposite
effect and raises the intensity of A.
The intensities of these two dots, can then be used to obtain ak, the mag-
7
Figure 2.2: Diagram illustrating the basic principles of the HMWFS. A
wavefront containing a certain aberration Mkilluminates the CGH, which
produces two dots. The normalised intensity difference between these two
dots gives us the amplitude of the measured aberration.
nitude of the incoming aberration mode. Our method of making CGHs is
basically the same as the physical method for making off-axis holograms,
as described in Leith & Upatnieks (1962). To make such holograms, we
combine a tilted monochromatic plane wave, the reference beam (Rk) with
the object beam (Ok). Figure 2.3 shows that these two waves, having the
same flat wavefront as a source, take different paths along the setup. The
reference beam remains unaltered, while the object wave is projected onto
the hologram target. The reflected light off this object then meets with the
unaltered reference beam and creates an interference pattern on the holo-
graphic film. When this film is illuminated by the same reference beam,
it will be distorted into the object beam, thereby creating an image of the
object that was stored in the hologram. To make a WFS we choose our ref-
erence wave not as a flat wavefront but as one perturbed by the aberration
that we wish to measure. The object wave, a tilted plane wave which will
not encounter an object along its path, will move trough the setup unal-
tered. Once combined, these waves will make a hologram that reacts to
the given aberration.
The easiest way to show this is by assuming that we have a perturbed ref-
erence wave, Rk=exp (iβkMk)and a tilted object wave, Ok=exp icp(x+y).
With the chosen mode Mk, the mode amplitude βkand the positioning pa-
rameter cp(see below). If we then take the absolute value of the sum of
these two waves, we will obtain the amplitude transmittance function Hk,
the CGH.
Hk=|Ok+Rk|2
=
|Ok|2+
|Rk|2+OkR
k+O
kRk
8
Figure 2.3: (a) Diagram of a standard holography setup, creating a holo-
gram of a small globe. Image credit Wikipedia (b) One can reconstruct the
image of the object by illuminating the hologram with the reference wave.
Image credit Wikipedia
The two crossed off term are both equal unity and are removed because at
this point we are not interested in the zeroth order of the hologram.
Hk=OkR
k+O
kRk(2.1)
Since we are only interested in the phase part of this function, we can take
the argument and obtain our CGH. This is the function that we will be us-
ing for the CGH generation.
After making our hologram, we need to understand the dot pairs that
it will create. Their intensity can be described by the amplitude of the
Fourier transform of the transmittance function.
I=|F{Hk·R}|2, (2.2)
where R=exp (iαkMk), is some input wave containing the aberration,
with amplitude αk, that we are trying to measure. Expanding Eq. (2.2) will
give us two terms.
I=|F{OkR
kR+O
KRKR}|2,
=|F{OkR
kR}+F{O
kRkR}|2.
Since both terms represent a convolution of the main PSF with an Airy
function5, we get two distinct dots at two different locations. Because
these two dots are separated by a large enough distance, we can assume
5Fourier transform of Okwill give an Airy function rather than a delta function be-
cause of a finite aperture.
9
that they have no mutual interference and that we can therefore neglect
the cross term, giving us the two intensity terms I+and I.
I+=ZZA1
|δk+∗ F {exp (i(αk+βk)Mk)}|2dA1
I=ZZA2
|δk∗ F {exp (i(αkβk)Mk)}|2dA2
(2.3)
Here A1and A2denote the integration area in the image and δk±the
Fourier transform of Ok±, which will result in a displaced Airy function as
Ok±is a tilted plane wave. This basically means that we have convolved
our object wave with the reference wave, which results in a copy of the ref-
erence wave at two positions. In our derivation we have chosen the object
wave to have one combined constant for both the x and y position, which
results in a simpler airy function, δk±. However, these can can be chosen
differently, which allows the user to decide the location of the dots. Taking
this into consideration, the object wave can be described as
Ok=exp i2πfkxx+fkyy, (2.4)
where fkx=x0
k
λfis the spatial frequency, λ, the wavelength and fthe focal
length of the convergent lens and the position xk,yk. From this we can
derive that δk=δx0x0
kδy0y0
k.
These holograms can be used as a WFS. When used in combination with an
APP they need to be weakened to also let trough the zeroth order, namely
the original PSF, besides only showing the two first order dots. (See Fig.
2.4) This can be done by multiplying the amplitude of the phases of the
holograms by a dampening factor. In this research this is chosen to be 0.6
in simulations and 0.4 in the lab.
We can see from Eq. (2.3) that βk, the modulation amplitude of the aber-
ration, is reversed in the two I’s. This means that if we would input a
reference wave R=exp (iαkMk)with αk=βk, then I+would dominate,
while if we have αk=βk, then Iwould dominate. Everything in be-
tween is described by a linear relationship given by,
αk=βk
I+I
I++I, (2.5)
where αkis the amplitude of Mk. In Fig. 2.5 we can see one of these holo-
grams applied to a flat wavefront. Besides the PSF in the center, we see the
10
Figure 2.4: Once the hologram is weakened, it will also show the zeroth
order PSF.
Figure 2.5: An example of a single CGH applied to a flat wavefront. The
top and bottom dot intensities are given by I+and Irespectively. The
image is scaled to the power of 0.2 to compress the dynamic range.
two hologram dots, which are copies of the central PSF. The only reason
for us seeing the main PSF is because of the dampening factor mentioned
above. Besides these three dots we can also see several higher order copies,
their intensity depends on βk. This value should be chosen in such a way
as to ensure that these higher orders do not dominate. In Booth (2003),
this value is chosen to be 1.5, but here the lower values of 0.5 and 0.1 were
used.
2.4 Combined APP and CGH
Knowing that our coronagraph provides us with a dark hole at the de-
sired location and with a WFS that can detect the dominating aberrations,
11
we can combine these two methods into a closed-loop system: a system
that will keep the hole, created by the APP, dark during observations. As
mentioned before, the HMWFS is imaged in the science frame and there-
fore we have no NCPA, meaning that we are able to find all the aberration
mode amplitudes in one iteration. Assuming that no other processes in-
fluence this method, this would give us a loop that can quickly reduce any
aberrations in a chosen area.
However, before this can be done, we need to calibrate the dots to known
aberrations and fit a linear relation to the response curve. This curve of-
ten diverges from the linear fit for large aberration amplitudes, but can
be described well around zero. This means that if we set the feedback
gain to a sufficiently low value and the derivative of the curve does not
change signs, the loop should still converge. During this research project
the holograms have been calibrated by iterating trough 21 amplitudes for
their corresponding mode, ranging from -1 to 1 with steps of 0.1. Before-
hand every mode is normalised to have a standard deviation of 1 rad to
ensure that the scaling is the same for all of the modes. The line is then
fitted to the middle 5 points, taking into account only the approximately
linear regime near zero. After we obtain the coefficients for the linear fit,
we can invert the equation to get the aberration factor as a function of the
difference between the two dots, and obtain
αk=Ib
a, (2.6)
with a and b being the two coefficients of the fitted line S= aF+b, where
S is the normalised dot signal difference and F the aberration factor. (See
Fig. 2.6.)
Now that we can obtain the amplitude of aberrations by merely measur-
ing the normalised intensity difference between the two dots, we can use
this as an AO system. We can then create a closed-loop system that will
correct the measured aberrations after every iteration.
12
Figure 2.6: Normalised dot intensity relation of an aberration mode with
a linear fit made to the 5 central points. Note that the fit gets better once it
gets closer to zero.
13
14
Chapter 3
Setup
To test the simulated data it is desirable to check the theory with a lab
setup. This can be done in many ways, but the method chosen here makes
use of a reflective spatial light modulator (SLM) and a CMOS imaging
camera. The SLM, model BNS P512, has a 512x512 pixel surface, with
each of these pixels 15x15µm in size, being capable of creating a 2πrad
phase change. The camera, a Basler piA640-210gm, has 648x488 pixels
and a dynamic range of 12 bits. The light source used for this setup is
a fibre-coupled laser diode, Qphotonics QFLD-660-2S, with a wavelength
of 656 nm that is collimated in such a way that it illuminates an area of
245x245 pixels on the SLM. In figure 3.1 one can see that the laser light is
sent trough a diaphragm in the pupil plane to limit the beam. Next it is
scaled with a two-lens system to the correct size just before it hits the SLM.
There is a linear polarizer just before and after the SLM, because the SLM
can only properly manipulate one polarization. After that the beam is fo-
cused onto the imaging camera, and an image can be made, which is done
by merging multiple exposures with different integration times to increase
the dynamic range.
For obtaining a flat wavefront as the base of our system we use the ‘Fast
and Furious algorithm’ as seen in Korkiakoski et al. (2014), which cali-
brates the SLM and returns a zero setting that corresponds to a flat wave-
front.
Version of July 16, 2014– Created July 16, 2014 - 13:17
15
Figure 3.1: A diagram illustrating the lab setup. All the lenses are standard
1 inch doublets. The beam diameter is 3.7 mm at the SLM. Image from
Korkiakoski et al. (2014) with authors permission.
16
Chapter 4
Results
During this entire project, three APPs have been used for the generation of
a hole in the diffraction rings of an unperturbed PSF. The holes are located
at about 3-4 λ/Dfrom the central PSF peak and vary in size and shape.
They are optimised to keep a certain region dark, which shall be expressed
in pixels of a Nyquist sampled PSF. In the simulation this is a 1:1 ratio, in
the lab this is different due to the reimaging onto the camera’s detector
chip.
As explained in section 2.2, we have twice as many aberration modes than
the amount of pixels per hole in every APP, due to the fact that we have
two degrees of freedom for every pixel. These modes are all tailored to
their respective APP and are illustrated in Fig. 4.1. In this chapter we will
cover the results obtained from simulations and the results obtained in the
lab. The code used for the simulations can be found in Appendix A.
Version of July 16, 2014– Created July 16, 2014 - 13:17
17
Figure 4.1: A collection of all the modes used by the three APPs. Section
acorresponding to the first, bto the second and cto the third APP. The
modes are numbered from left to right and will be referred to by the letter
and number.
18
4.1 Simulations
Figure 4.2 shows the effect of three different APPs working on a perfectly
flat, Nyquist sampled PSF. The size of the holes is 1x1 for the first, 2x1 for
the second and 2x6 pixels for the third APP. After adding the associated
CGHs to these PSFs, as illustrated in Fig. 4.3, we will see a difference in the
depth of the holes, clearly visible to the naked eye. Something which can
be quantified by taking a cut through the focal plane images. These cuts,
taken along the y=125 line will be used to measure the contrast between
the PSF peak and the depth of the hole.
From Fig. 4.4 we can see that all the holes are several magnitudes deeper
than the surrounding area. Going down by almost sixteen orders of mag-
nitude, these holes are basically void of any signal save for some numer-
ical noise. However, once we add the CGH’s to these images we observe
a dramatic change in the depth of the holes, seeing them being filled up
significantly. This effect, demonstrated in Fig. 4.5, is caused by the nature
of Fourier transforms, which leave high frequency terms when taken over
a finite area. These high frequencies mix and create lower beat frequen-
cies that are invisible to the HMWFS, and thus can not be corrected by the
loop. (Give’On et al., 2006) One other limiting effect is the crosstalk be-
tween the holograms, where our CGH’s are affected by aberrations other
than the one they are calibrated for. This effect increases with the amount
of holograms in a system. Costing over ten orders of magnitude, this effect
is quite significant and should be corrected, but because of a lack of time,
this is only explored superficially in section 5.
After calibrating the CGH, as explained in section 2.3, we can put in a
random combination of corresponding aberrations given in Fig. 4.1 into
the setup and run the AO loop to remove the aberration. In Fig. 4.6 we can
see how one aberration can be corrected in only a few iterations, and how
the corrected image gets back to an almost aberration free state. The rate
at which the hole gets darker depends on how aggressively one decides
to correct for the aberrations. In part b of Fig. 4.6 we see this very clearly
as a function of the parameter c, which is used as a feedback gain for the
measured corrections in the AO loop. A low censures a steady but slow
convergence rate while higher values tend to oscillate and diverge quickly.
For a single hologram we can even set cto unity, as there is no crosstalk
that could affect the measurements. However, for any other system this
is not recommended. In the images below this is demonstrated with all
three APPs and various values of c. The standard value used in this report
19
is c=0.2, while it is generally slow, it proves to be stable in most situations.
Figure 4.2: Three PSFs formed by their respective APPs. Different APPs
cause different sized and shaped holes. The images are enlarged in to
show the PSF structure and the counts scaled to the power of 0.2 to com-
press the dynamic range.
Figure 4.3: The same APPs as in Fig. 4.2, but now with added holograms
to sense the aberration modes. The holes can again be found at the x-value
of 120. The counts are scaled to the power of 0.2 to compress the dynamic
range.
20
Figure 4.4: Contrast curves of the three APP’s from Fig. 4.2. The hole is
located around an x-value of 120 and in all cases can clearly be discerned
by eye.
Figure 4.5: A cut of Fig. 4.3, illustrating the filling effects caused by the
holograms. The hole is located around an x-value of 120.
21
Figure 4.6: a) The system with an added aberration which has the ampli-
tude of mode a1, corresponding to a phase difference of about 1 radian.
After 20 iterations it is almost completely corrected, gaining over six or-
ders of magnitude. b) The rate of correction depends strongly on c.
Figure 4.7: a) The system with an added aberration which is the superpo-
sition of all 4 modes with random coefficients, with a phase difference of 2
radians. After 25 iterations it is almost completely corrected, gaining over
three orders of magnitude. b) Here we clearly see that a too high value for
cwill cause the loop to become unstable due to crosstalk effects.
Figure 4.8: a) The system with an added aberration which is the superpo-
sition of the first 6 modes with random coefficients, with a phase differ-
ence of 2 radians. After 30 iterations it is corrected so well that the blue
and green line are nearly identical, giving us a gain of over three orders of
magnitude. b) Again we see the crosstalk making the loop unstable once c
is too large.
22
4.2 Lab
If we plug the same APPs into the lab setup as we have used in the simu-
lation part, we will be able to compare the results and see how well nature
follows our simple simulations. Adding the CGHs, the holes again fill up.
Again we could address this problem by use of electric field conjugation,
as explained in Give’On et al. (2007), but due to time issues this has only
been done superficially. (see section 5)
In Fig. 4.9 we can see lab measurements of the PSFs altered by the same
three APPs as discussed in section 4.1. Figure 4.10 illustrates how these
change once we add the corresponding CGHs. In Fig. 4.11 and Fig. 4.12
we can see the corresponding contrast curves and how they get filled up
bt the holograms. Note that the filling is significantly less than in the sim-
ulated counterparts, the reason for this is unknown.
When looking at Fig. 4.13, we can see that the calibration curves are a lot
more jumpy and generally not comparable to the simulated curve in Fig.
2.6. Both of these curves are of systems with multiple holograms, while the
curve in Fig. 4.14 is comparable to the simulated result. This suggests that
these curves are dominated by crosstalk and therefore no stable relation
is achievable. Because of this, we have not been able to get a closed-loop
running with more than one CGH.
23
Figure 4.9: The three APP’s with their CGH. Image values are raised to the
0.2th power to compress the dynamic range.
Figure 4.10: The three APP’s with their CGH. Image values are raised to
the 0.2th power to compress the dynamic range.
24
Figure 4.11: Contrast curves of Fig. 4.9 cut at y=125.
Figure 4.12: Contrast curves of Fig. 4.10 cut at y=125.
Figure 4.13: Calibration curves for two modes of the third APP.
25
Figure 4.14: a) The response curve for a single hologram for the first APP,
it is very much linear and unaffected by crosstalk. b) An image show-
ing the PSF before and after correction of a single mode with an 0.5 rad
amplitude. Nearly one order of magnitude has been gained. c) The AO
response curve, showing that after only 5 iterations the maximum amount
of aberrations has been compensated.
26
Chapter 5
Discussion and Conclusion
The results obtained from the simulated data are a good indication of the
validity of the HMWFS as a means of keeping small areas dark with a
closed loop. We have shown that for any of the three APPs it is possible to
correct for aberrations with at least one radian phase difference in the form
of orthogonal aberration modes. Knowing that currently the average AO
system suffers from about a 50 to 100 nm RMS after the corrections1, we
see that in the worst case this translates to nearly 1 rad @ 656 nm, which
should be correctable by this system. However, this only shows in the sim-
ulations, while the lab measurements have not yet been successful.
The difference between the performance of the two could be explained
by a number of reasons, and we expect that if these are addressed the lab
data will more closely resemble the simulations. First the crosstalk in the
lab environment is much stronger then in the simulations. We can see this
back in the response curves for the second and third APP in Fig. ??, which
are much less smooth than can be seen in Fig. 2.6. The response curve for
the single hologram APP reacts much like our simulation. Therefore the
effects can be explained as crosstalk between the modes. Fortunately, this
is a well-understood process, and methods exist to counter the crosstalk,
which can be read in Dong et al. (2012). Ideally one could also try to find a
set of orthogonal modes that have no crosstalk by finding the eigenmodes
of the response matrix of the separate modes. These modes would be sta-
tistically independent like Karhunen–Lo`
eve modes.
1See (Macintosh et al., 2014)
Version of July 16, 2014– Created July 16, 2014 - 13:17
27
Figure 5.1: An example of the artifacts left by the slow response time of
the SLM. Here one can see a superposition of the first and second APP and
their corresponding holograms.
Secondly, the images also often display artifacts from the last exposure, in-
troduced by the slow response time of the SLM. These effects are strongest
after a sudden change in aberrations, as they cause the hologram dots
to drastically change as opposed to the last image, giving an erroneous
measurement. This problem is solvable by waiting longer (up to 20 sec-
onds) between two exposures, but the source of the problem is unknown.
Besides that we could improve βk, here it has been chosen as a standard
value for all CGHs, but in reality one should optimise it for every mode
separately. This would ensure that all holograms are imaged as single
dots, instead of the diffracting patterns that can be seen in Fig. 4.3 and all
the other CGH images. These higher orders take light away from the main
dot and thus lower the S/N of the measurement.
Furthermore, the setup of course contains various sources of noise that
have not been taken into consideration in the simulations. For instance
due to the limitations of the camera, it is impossible to get the hole darker
than 105without changing the dynamic range of the imager. This could
be done by changing the exposure algorithm and make the camera satu-
28
rate in the peak while gaining in the darker regions. Depending on how
aggressively this will be done, up to four orders of magnitude should be
obtainable. However, such depths are only required for very deep holes,
and as can be seen in Fig. 4.5, the CGHs fill them up considerably. As
explained shortly in section 2.2, the filling is caused by high frequency
Fourier signals that create low-order beat frequencies. These frequencies
cannot be corrected by the modes and thus redefine the hole depth. How-
ever, by using electric field conjugation, one could remove these frequen-
cies. This can be done under the assumption that every mode is present
with a certain amplitude, and that this amplitude can be found similarly
to that of a potential. This means that by measuring the depth of the
hole at three points, for example with the added aberration amplitudes
of [1, 0, 1]for a given mode Mk. With these three measurements, we can
then fit a parabola and find its minimum. Knowing how to subtracting
the mode with this amplitude should then largely remove that mode from
the system. Figure 5.2 shows that after making a basic simulation we can
deepen the hole by nine orders of magnitude for the third APP by looping
five times through the first six modes. This deepening will then be stable
and can be kept dark in a closed-loop as described in this report.
Taking all of these points into consideration, we conclude that the APP
and CGH WFS has the potential of reaching the required contrast range
for direct imaging Earth-like planets. However due to the small area of the
hole, it could prove difficult to use this method to search for exoplanets,
but could prove useful for confirming and characterising known planets.
Further research is certainly recommended.
29
Figure 5.2: The third APP with CGH, the intensity inside the hole is sig-
nificantly decreased with electric field conjugation. The hole can again be
found at x=120.
30
Acknowledgements
After spending nearly half a year on this research project I can honestly
say that I have leaned a great lot in the area of Fourier optics, coronagraph
and wavefront sensors. I greatly enjoyed the balance between theory and
experimental work and my general first taste of academic research. Be-
cause of this I would like to express my deep gratitude to my supervisors,
Professor Keller and Professor Van Exter, for their patient guidance, con-
structive critiques and relentless pushing to achieve the best possible re-
sults.I would also like to thank Gilles Otten, Sebastiaan Haffert and Emiel
Por for their advice and suggestions concerning this project. My grateful
thanks are also extended to Visa Korkiakoski for letting me use his setup.
Finally, I wish to thank my parents for their support and encouragement
throughout my study.
Version of July 16, 2014– Created July 16, 2014 - 13:17
31
32
References
Booth, M. J. 2003, in Society of Photo-Optical Instrumentation Engineers
(SPIE) Conference Series, Vol. 5162, Advanced Wavefront Control: Meth-
ods, Devices, and Applications, ed. J. D. Gonglewski, M. A. Vorontsov, &
M. T. Gruneisen, 79–90
Codona, J. L., Kenworthy, M. A., Hinz, P. M., Angel, J. R. P., & Woolf,
N. J. 2006, in Society of Photo-Optical Instrumentation Engineers (SPIE)
Conference Series, Vol. 6269, Society of Photo-Optical Instrumentation
Engineers (SPIE) Conference Series
Dong, S., Haist, T., Osten, W., Ruppel, T., & Sawodny, O. 2012, Applied
Optics, 51, 1318
exoplanet.eu. 2014, Direct imaged exoplanets in exoplanet.eu catalogue
Frazin, R. A. 2014, ArXiv e-prints
Give’On, A., Belikov, R., Shaklan, S., & Kasdin, J. 2007, Optics Express,
15, 12338
Give’On, A., Kasdin, N. J., Vanderbei, R. J., & Avitzour, Y. 2006, Journal
of the Optical Society of America A, 23, 1063
Kalas, P., Graham, J. R., Chiang, E., et al. 2008, Science, 322, 1345
Keller, C. 2014a, private communication, http://i.imgur.com/ayyxJey.
png
Keller, C. 2014b, private communication
Kenworthy, M. A., Codona, J. L., Hinz, P. M., et al. 2007, Astrophysical
Journal, 660, 762
Version of July 16, 2014– Created July 16, 2014 - 13:17
33
Korkiakoski, V., Keller, C. U., Doelman, N., et al. 2014, ArXiv e-prints
Leith, E. N. & Upatnieks, J. 1962, Journal of the Optical Society of America
(1917-1983), 52, 1123
Macintosh, B., Graham, J. R., Ingraham, P., et al. 2014, ArXiv e-prints
Neil, M. A. A., Booth, M. J., & Wilson, T. 2000, Journal of the Optical
Society of America A, 17, 1098
Noll, R. J. 1976, Journal of the Optical Society of America (1917-1983), 66,
207
Sauvage, J.-F., Fusco, T., Rousset, G., & Petit, C. 2007, Journal of the Opti-
cal Society of America A, 24, 2334
Seager, S. & Deming, D. 2010, Annual Review of Astron and Astrophys,
48, 631
Wikipedia. 2007a, Hologram Recording Image - Wikipedia, The Free En-
cyclopedia, http://en.wikipedia.org/wiki/File:Holograph-record.
svg [Online; accessed July-2014]
Wikipedia. 2007b, Reconstructing a Hologram Image - Wikipedia,
The Free Encyclopedia, http://en.wikipedia.org/wiki/File:
Holography-reconstruct.svg [Online; accessed July-2014]
Wolszczan, A. & Frail, D. A. 1992, Nature, 355, 145
34
Appendix A
Code
A.1 CGH Code
1import p y f i t s a s p f
2import m a t p l o t l i b . py p l ot a s p l t
3import numpy as np
4from pylab import
5
6# t e s t d a t a
7 a p er ture = p f . getd a ta ( ’ app/ ap er tv 1 . f i t s ) #Aperture
8 modes = pf . ge t d at a ( ’ app/modesv2 . f i t s )
9 X , Y=np . mg rid [p i : p i : 2 p i /2 56 , p i : p i : 2 p i /2 56 ]
ap e r t ure #X a nd Y a r r a y
10
11
12 f x = np . ar ra y ( [ 7 , 1 0 , 7 , 1 0 ] ) # , 7 , 10 ] ) # S et x p o s i t i o n
dot
13 f y = np . a rray ( [ 0 , 0 , 8 , 8 ] ) # , 8 , 8])
14 b = 0 . 1 # 1 . 5 i n Dong , w e ma ke i t l o w e r b e c a u s e d o t s a r e
t o o b r i g h t and s p l i t t i n g i n t o 2 nd o r d e r s
15
16
17 # p f . w r i t e t o ( ” a p p / e x a m p l e a b e r 3 . f i t s , Z , c l o b b e r = T ru e ) #
save aberations
18 fo r iin range ( 4 ) :
19 Z = modes [ i ] ap er ture 200
Version of July 16, 2014– Created July 16, 2014 - 13:17
35
20 #Ok = np . e x p ( 1 j (2 p i f x X + 2p i f y Y ) )
21 Rk = np . exp ( 1 j bZ ) # r e f e r e n c e wave
22
23 Hk = np . exp ( 1 j (2p i fx [ i ] X + 2p i fy [ i ] Y) )
np . exp (1 j bZ ) + np . exp (1 j (2 p i fx [ i ] X
+ 2pi fy [ i ]Y ) ) np . exp (1 j bZ ) # h o logr am
24 i f i == 0 :
25 cgh = Hk
26 e l s e :
27 cgh = np . dst ac k ( [ cgh , Hk] )
28 pr i nt ( cgh . shape , i )
29
30 #mak e h o l ogra m
31 FOR = np . abs (np . f f t . f f t s h i f t ( np . f f t . f f t 2 ( Hk
Rk) ) ) 2
32 FOR = np . abs ( np . f f t . f f t s h i f t ( np . f f t . f f t 2 (np .
f f t . i f f t s h i f t (FOR) ) ) ) 2aper t u re
33 sumcgh = np . sum( c gh , a x i s =2 )
34
35 pf . w rit eto ( ”app/a l excghap p 2 . f i t s ,np . an gl e (sumcgh ) ,
cl ob ber =True )
36
37 p l t . s u bp l ot ( 1 , 2 , 1 )
38 p l t . t i t l e ( ’ A be r ra t io n Mode ’ )
39 p l t . imshow ( Z)
40 p l t . c o lo rb a r ( )
41 # p l t . s u b p l o t ( 1 , 3 , 2 )
42 # p l t . t i t l e ( ’ H ologra m A mplitude ’ )
43 # p l t . imsh ow ( np . l o g ( np . a bs ( sumcg h ) ) )
44 # p l t . c o l o r b a r ( )
45 p l t . s u bp l ot ( 1 , 2 , 2 )
46 p l t . t i t l e ( ’ Computer Gen erate d Hologram ’ )
47 p l t . imshow ( np . a ngle ( sumcgh ) )
48 p l t . c o lo rb a r ( )
49 p l t . show ( )
36
A.2 APP+CGH Code
1# Load FITS a nd Nume ric module
2import p y f i t s a s p f
3import m a t p l o t l i b . p y p l ot a s p l t
4import numpy as np
5
6# Open d a ta f i l e a nd sho w num ber o f e x t e n s i o n s
7 appcgh1 = pf . getda t a ( ’ app/wsappv1 . f i t s ’ )
8 a p er ture = p f . getd a ta ( ’ app/ ap er tv 1 . f i t s ) #Aperture
9
10 app1 = pf . g etdata ( app/appv1 . f i t s ) # app1
11 app2 = pf . g etdata ( app/appv2 . f i t s ) # app2
12 app3 = pf . g etdata ( app/appv3 . f i t s ) # app3
13
14 modes3 = pf . ge t d ata ( app/modesv3 . f i t s ) 200 # m od e s ( s o
t h e i r s td ˜ 1 )
15 modes2 = pf . ge t d ata ( app/modesv2 . f i t s ) 180
16 modes1 = pf . ge t d ata ( app/a bberv1 . f i t s ’ )
17 modes = modes3 [ 0 : 6 ] # p i ck f i r s t 6
18
19 cgh = pf . getda t a ( ’ app/ a lexcg hl ab . f i t s ’ ) # m o de s ( s o
t h e i r s td ˜ 1 )
20 cgh2 = pf . getda t a ( ’ app/alexc ghapp2 . f i t s )
21
22 a b e r a ti o ns 1 = ( modes [ 0 ] 0 . 3 + modes [ 1 ] 0 . 2 + modes [ 2 ] 0.2+
modes [ 3 ] 0 . 1 ) 0.5#+ mod es [ 4 ] 0 . 1 + mod es [ 5 ] 0 . 1 ) 0.5
23 a ber a tio n s2 = pf . g etdat a ( ’ app/ab e r r v 3 a . f i t s ) 10 #
Aberations
24 a ber a tio n s3 = pf . g etdat a ( ’ app/aberrv3b . f i t s ’ ) 10 #
Aberations
25 a b e r a t i o n s 4 = ( np . random . ra nd ( 2 5 6 , 2 5 6 ) 0.5)a p ertu r e
26
27 allm ode s = np . a rray ( [ modes [ 0 ] , modes [ 1 ] , modes [ 2 ] ,
modes [ 3 ] , modes [ 4 ] , modes [ 5 ] ] ) # , mod es [ 6 ] , m od es
[ 7 ] , m od es [ 8 ] , mode s [ 9 ] , mode s [ 1 0 ] , m od es [ 1 1 ] ] ) 1
28
29 numberofmodes = 6 #12
30 appcgh = app3 + cgh 0.6
31
37
32 # c a l c u l a t e t h e p s f a nd r e t u r n i t
33 def appcal ( appin , a be rin ) :
34 r e l = np . z er os ( 2 1 )
35 appcgh = appin + a beri n
36
37 f i t s = appcgh
38 E = a pert u r e np . exp (1 j f i t s ) # p ut i n t o e xp
w i t h a m p l i t u d e =1
39 E = np . f f t . f f t s h i f t ( E) # F F T s h i f t b e c a u s e f f t 2
a l g o r i t h m d ema nd s i t
40
41 a ng l e= np . angle ( np . f f t . f f t s h i f t ( np . f f t . f f t 2 (E ,
s =( 102 4 , 1 0 24) ) ) ) # A ng u la r
42
43 #mak e f f t
44 f f t = np . abs ( np . f f t . f f t 2 ( E ) ) 2
45 f f t = np . f f t . f f t s h i f t ( f f t ) # s h i f t i s b a c k
b e c a u s e we s h i f t e d i t b e f o r e
46
47 p=128
48 h o l e = np . sum( np . sum( f f t [ 1 2 7 : 1 3 0 , 1 2 2 : 1 2 4 ] ) )
49
50 ret u r n f f t , h ol e
51
52 # Check t h e d o ts a nd r e tu r n d e l t a b r i g h t n e s s
53 def cghhol e (n , f f t ) :
54 #X a nd Y c o o r d i n a t e o f t op and b ot t om
d o t s
55 # f o r app1
56 # x t = [ 1 2 6 , 1 3 1 ]
57 # y t = [ 8 4 , 8 9 ]
58 # x b = [ 1 2 6 , 1 6 6 ]
59 # y b = [ 1 3 1 , 1 7 1 ]
60 h o l e = [ 1 2 3 , 1 2 4 , 1 2 8 , 1 2 9 ]
61 # f o r app3
62 x t = [ 1 2 6 , 1 3 1 , 1 2 6 , 1 3 1 , 7 5 , 8 0 , 7 5 , 8 0 ,
176 , 181 , 1 76 , 1 81 ]
63 y t = [ 81 , 8 6 , 62 , 6 7 , 81 , 8 5 , 62 , 6 7 ,
81 , 8 6 , 62 , 67 ]
64 xb = [ 12 6 , 13 1 , 1 2 6 , 131 , 176 , 1 8 1 ,
176 , 1 81 , 7 5 , 8 0 , 76 , 80 ]
38
65 yb = [ 1 70 , 1 7 4 , 188 , 19 3 , 1 7 0 , 174 ,
190 , 192 , 1 70 , 1 7 3 , 188 , 1 93]
66 #+1 t o i n c l u d e e nd c o o r d i n a t e
67 t o p ho l e = np . sum( np . sum( f f t [ yt [ n2 ] :
y t [ n 2 + 1] + 1 , x t [ n 2 ] : x t [ n 2+1]+1]) )
68 b o t ho le = np . sum( np . sum( f f t [ yb [ n 2 ] : yb
[ n 2+1]+1 , xb [ n 2 ] : x b [ n 2+1]+1]) )
69 c e n t r a l h o l e = np . sum( np . sum( f f t [ hole
[ 2 ] : hole [ 3 ] , h ol e [ 0 ] : h ol e [ 1 ] ] ) )
70 # p r i n t ( t o p h o l e , b o t h o l e , n 2 , n 2 + 1 )
71 p = tophole /( top ho le +botho le )
72
73 ret u r n ( ( topholebo thole ) /( tophole+
b o th o l e ) , c e n t r a l h o l e )
74
75 def l i n f i t ( mode) : # l i n f i t a l i n e t rou g h 3 d o ts a r o u n d
0
76 x = [ 0 . 2 , 0 . 1 , 0 , 0 . 1 , 0 . 2 ] # G ra b a f ew p o i n t s
around 0 and f i t a l i n e
77 y = mode [ 8 : 1 3 ]
78
79 pr i nt ( x , y )
80 f i t = np . p o l y f i t ( x , y , 1 )
81 x f i t = np . arange ( 1 , 1 . 1 , 0 . 1 )
82 l i n e = f i t [ 0 ] x f i t + f i t [ 1 ]
83
84 p l t . p l o t ( x f i t , mode )
85 p l t . p l o t ( x f i t , l i n e )
86 p l t . t i t l e ( D i a gn o s t i c P l o t F i t o f mode# ’ + s t r ( i
+1) )
87 p l t . x l a b e l ( A b e rr a t io n F a ct or )
88 p l t . y l a b e l ( ’ D ot S i g n a l D i f f e r e n c e )
89 p lt . show ( )
90
91 ret u r n f i t
92
93 def abcor ( dots ) :
94 x l i n = np . ar ange ( len ( d o t s ) , dtype= float )
95 fo r iin range (len ( d o t s ) ) :
96 x l i n [ i ] = ( ( d ots [ i ]l i n [ i , 1 ] ) / l i n [ i
, 0 ] ) 1.0
39
97 ret u r n xlin
98
99
100 # Check t h e s l o p e f o r a l l d o t s .
101
102 # h o l e s = np . a rang e ( 2 1 , dt ype = f l o a t )
103 # l o o p h o l e = h o l e s . c opy ( )
104 # f o r i i n r a ng e ( numbe ro fmodes ) :
105 # h o l e s = np . a rang e ( 2 1 , dt ype = f l o a t )
106 # f o r j i n r a ng e ( 1 0 ,1 1) :
107 # f f t , h o l e = a p p c a l ( a ppcgh , ( j / 1 0 . 0 )
mode s [ i ] 0.3)
108 # h o l e s [ j + 10 ] , c e n t r a l h o l e = c g hh ol e ( i
, f f t ) # g e t t h e b r i g h t n e s s o f t h e
i t h d ot f o r t h e j t h i t e r a t i o n
109 # p r i n t ( i )
110 # l o o p h o l e = np . v s t a ck ( [ l o o p h o l e , h o l e s ] )
111 # l o o p h o l e = np . d e l e t e ( l o o p h ol e , ( 0 ) , a x i s = 0)
112
113 # l i n h o l e = np . a r r a y ( [ 0 , 0 ] )
114 # e k s = np . a r a n ge ( 1 0 ,1 1)
115 # f o r i i n r a ng e ( numbe ro fmodes ) :
116 # l i n f i t a r = l i n f i t ( l o o p h o l e [ i ] )
117 # l i n h o l e = np . v s t a c k ( [ l i n h o l e , l i n f i t a r ] )
118 # l i n h o l e = np . d e l e t e ( l i n h o l e , ( 0 ) , a x i s = 0)
119
120 # p f . w r i t e t o ( ” l i n / l i n 1 . f i t s , l i n h o l e , c l o b b e r = True )
121 # p l t . matshow ( l i n h o l e )
122 # p l t . s how ( )
123
124 l i n = p f . g e td a ta ( l i n / l i n 1 . f i t s ) #Aberations
125 # t r y t o g e t r i d o f e r r o r
126 aber = a b er a t io n s 4
127 a be rold = aber . copy ( )
128 allmode slo op = modes . copy ( )
129 iter = 30
130 holede pt h = np . ar an ge ( iter )
131 fo r jin range (iter ) :
132 hol es = np . ar ang e ( numberofmodes , d ty pe = float )
133
134 f ft , hole = a p p cal ( appcgh , aber )
40
135 #################### p lt . matshow ( f f t ∗ ∗ 0 . 2 )
136 fo r iin range ( numberofmodes ) :
137 h o l e s [ i ] , c e n t r a l h o l e = c gh hole ( i , f f t
)# g e t t h e b r i g h t n e s s o f t h e i t h
dot
138 x l i n = a b co r ( ho le s )
139 ####Turn o f f a l l b ut f i r s t modes
140 # x l i n [ 4 : 1 2 ] = 0
141 # x l i n [ 1 ] = 0
142 # x l i n [ 4 ] = 0
143 pr i nt ( x l i n )
144
145 fo r kin range (len ( a l l modesloop ) ) :
146 a llm odeslo op [ k ] = modes [ k ]x l i n [ k ]
147 pr i nt ( ’ modes : ’ + s t r ( np . sum( np . abs ( allmodesloop
))))
148 pr i nt ( h ole : ’ + s t r ( c e n t r a l h o l e ) )
149 h o le dept h [ j ] = c e n t r a l h o l e
150
151 a b e r = a b e r sum( all m o d esloop ) 0.1
152 pr i nt ( a be r : ’ + s t r ( np . sum( np . abs ( ab e r ) ) ) )
153
154 ff t , hole = a ppcal ( appcgh , a ber )
155 p l t . imshow( f f t ∗ ∗ 0 . 2 )
156 p l t . show ( )
157 p l t . semilo gy ( f f t [1 2 8]/ f f t . max ( ) , l a b e l = A ft e r )
158 f f t , h ol e = a pp cal ( appcgh , a berold )
159 p l t . semilo gy ( f f t [1 2 8]/ f f t . max ( ) , ’ r , l a b e l = Be fo r e
)
160 f f t , h ol e = a pp cal ( appcgh , a berold 0 )
161 p l t . semilo gy ( f f t [1 2 8]/ f f t . max ( ) , ’ g , l a b e l = C le an )
162 p l t . y l a b e l ( c o n t r a s t )
163 p l t . l ege n d ( )
164 p l t . show ( )
165 p lt . semi l ogy ( holede p t h )
166 p l t . y li m ( [ 1 0 ∗ ∗ 4 , 1 0 ∗ ∗ 7 ] )
167 p l t . x l a b el ( I t e r a t i o n )
168 p l t . y l a b e l ( S i g n a l )
169 p l t . show ( )
41
A.3 Electric Field Conjugation Code
1# L o a d FITS a nd Nume ric module
2import p y f i t s a s p f
3import m a t p l o t l i b . p y p l ot a s p l t
4import numpy as np
5
6# Open d a ta f i l e a nd sho w num ber o f e x t e n s i o n s
7 appcgh1 = pf . getda t a ( ’ app/wsappv1 . f i t s ’ )
8 a p er ture = p f . getd a ta ( ’ app/ ap er tv 1 . f i t s ) #Aperture
9
10 app1 = pf . g etdata ( app/appv1 . f i t s ) # app1
11 app2 = pf . g etdata ( app/appv2 . f i t s ) # app2
12 app3 = pf . g etdata ( app/appv3 . f i t s ) # app3
13
14 modes3 = pf . ge t d ata ( app/modesv3 . f i t s ) 200 # m od e s ( s o
t h e i r s td ˜ 1 )
15 modes2 = pf . ge t d ata ( app/modesv2 . f i t s ) 180
16 modes1 = pf . ge t d ata ( app/a bberv1 . f i t s ’ )
17 modes = modes3 [ 0 : 6 ] # p i ck f i r s t 6
18
19 cgh = pf . getda t a ( ’ app/ a lexcg hl ab . f i t s ’ ) # m o de s ( s o
t h e i r s td ˜ 1 )
20 cgh2 = pf . getda t a ( ’ app/alexc ghapp2 . f i t s )
21
22 a b e r a ti o ns 1 = ( modes [ 0 ] 0 . 3 + modes [ 1 ] 0 . 2 + modes [ 2 ] 0.2+
modes [ 3 ] 0 . 1 ) 0.5#+ mod es [ 4 ] 0 . 1 + m od es [ 5 ] 0 . 1 ) 0.5
23 a ber a tio n s2 = pf . g etdat a ( ’ app/ab e r r v 3 a . f i t s ) 10 #
Aberations
24 a ber a tio n s3 = pf . g etdat a ( ’ app/aberrv3b . f i t s ’ ) 10 #
Aberations
25 a b e r a t i o n s 4 = ( np . random . ra nd ( 2 5 6 , 2 5 6 ) 0.5)a p ertu r e
26
27 allm ode s = np . a rray ( [ modes [ 0 ] , modes [ 1 ] , modes [ 2 ] ,
modes [ 3 ] , modes [ 4 ] , modes [ 5 ] ] ) # , mod es [ 6 ] , m od es
[ 7 ] , m od es [ 8 ] , mode s [ 9 ] , mode s [ 1 0 ] , m od es [ 1 1 ] ] ) 1
28
29 numberofmodes = 6 #12
30 appcgh = app3 + cgh 0.6
31
42
32 # c a l c u l a t e t h e p s f a nd r e t u r n i t
33 def appcal ( appin , a be rin ) :
34 r e l = np . z er os ( 2 1 )
35 appcgh = appin + a beri n
36
37 f i t s = appcgh
38 E = a pert u r e np . exp (1 j f i t s ) # p ut i n t o e xp
w i t h a m p l i t u d e =1
39 E = np . f f t . f f t s h i f t ( E) # F F T s h i f t b e c a u s e f f t 2
a l g o r i t h m d ema nd s i t
40
41 a ng l e= np . angle ( np . f f t . f f t s h i f t ( np . f f t . f f t 2 (E ,
s =( 102 4 , 1 0 24) ) ) ) # A ng u la r
42
43 #mak e f f t
44 f f t = np . abs ( np . f f t . f f t 2 ( E ) ) 2
45 f f t = np . f f t . f f t s h i f t ( f f t ) # s h i f t i s b a c k
b e c a u s e we s h i f t e d i t b e f o r e
46
47 p=128
48 h o l e = np . sum( np . sum( f f t [ 1 2 7 : 1 3 0 , 1 2 2 : 1 2 4 ] ) )
49
50 ret u r n f f t , h ol e
51
52 # Check t h e d o ts a nd r e tu r n d e l t a b r i g h t n e s s
53 def cghhol e (n , f f t ) :
54 #X a nd Y c o o r d i n a t e o f t op and b ot t om
d o t s
55 # f o r app1
56 # x t = [ 1 2 6 , 1 3 1 ]
57 # y t = [ 8 4 , 8 9 ]
58 # x b = [ 1 2 6 , 1 6 6 ]
59 # y b = [ 1 3 1 , 1 7 1 ]
60 h o l e = [ 1 2 3 , 1 2 4 , 1 2 8 , 1 2 9 ]
61 # f o r app3
62 x t = [ 1 2 6 , 1 3 1 , 1 2 6 , 1 3 1 , 7 5 , 8 0 , 7 5 , 8 0 ,
176 , 181 , 1 76 , 1 81 ]
63 y t = [ 81 , 8 6 , 62 , 6 7 , 81 , 8 5 , 62 , 6 7 ,
81 , 8 6 , 62 , 67 ]
64 xb = [ 12 6 , 13 1 , 1 2 6 , 131 , 176 , 1 8 1 ,
176 , 1 81 , 7 5 , 8 0 , 76 , 80 ]
43
65 yb = [ 1 70 , 1 7 4 , 188 , 19 3 , 1 7 0 , 174 ,
190 , 192 , 1 70 , 1 7 3 , 188 , 1 93]
66 #+1 t o i n c l u d e e nd c o o r d i n a t e
67 t o p ho l e = np . sum( np . sum( f f t [ yt [ n 2 ] :
y t [ n 2 + 1] + 1 , x t [ n 2 ] : x t [ n 2+1]+1]) )
68 b o t ho le = np . sum( np . sum( f f t [ yb [ n 2 ] : yb
[ n 2+1]+1 , xb [ n 2 ] : x b [ n 2+1]+1]) )
69 c e n t r a l h o l e = np . sum( np . sum( f f t [ hole
[ 2 ] : hole [ 3 ] , h ol e [ 0 ] : h ol e [ 1 ] ] ) )
70 # p r i n t ( t o p h o l e , b o t h o l e , n 2 , n 2 + 1 )
71 p = tophole /( top ho le +botho le )
72
73 ret u r n ( ( topholebo thole ) /( tophole+
b o th o l e ) , c e n t r a l h o l e )
74
75 def l i n f i t ( mode) : # l i n f i t a l i n e t rou g h 3 d o ts a r o u n d
0
76 x = [ 0 . 2 , 0 . 1 , 0 , 0 . 1 , 0 . 2 ] # G ra b a f ew p o i n t s
around 0 and f i t a l i n e
77 y = mode [ 8 : 1 3 ]
78
79 pr i nt ( x , y )
80 f i t = np . p o l y f i t ( x , y , 1 )
81 x f i t = np . arange ( 1 , 1 . 1 , 0 . 1 )
82 l i n e = f i t [ 0 ] x f i t + f i t [ 1 ]
83
84 p l t . p l o t ( x f i t , mode )
85 p l t . p l o t ( x f i t , l i n e )
86 p l t . t i t l e ( D i a gn o s t i c P l o t F i t o f mode# ’ + s t r ( i
+1) )
87 p l t . x l a b e l ( A b e rr a t io n F a ct or )
88 p l t . y l a b e l ( ’ D ot S i g n a l D i f f e r e n c e )
89 p lt . show ( )
90
91 ret u r n f i t
92
93 def abcor ( dots ) :
94 x l i n = np . ar ange ( len ( d o t s ) , dtype= float )
95 fo r iin range (len ( d o t s ) ) :
96 x l i n [ i ] = ( ( d ots [ i ]l i n [ i , 1 ] ) / l i n [ i
, 0 ] ) 1.0
44
97 ret u r n xlin
98
99
100 # Check t h e s l o p e f o r a l l d o t s .
101
102 # h o l e s = np . a r a n g e ( 2 1 , d t y p e = f l o a t )
103 # l o o p h o l e = h o l e s . c opy ( )
104 # f o r i i n r a ng e ( numbe ro fmodes ) :
105 # h o l e s = np . a rang e ( 2 1 , dt ype = f l o a t )
106 # f o r j i n r a ng e ( 1 0 ,1 1) :
107 # f f t , h o l e = a p p c a l ( a ppcgh , ( j / 1 0 . 0 )
mode s [ i ] 0.3)
108 # h o l e s [ j + 10 ] , c e n t r a l h o l e = c g hh ol e ( i
, f f t ) # g e t t h e b r i g h t n e s s o f t h e
i t h d ot f o r t h e j t h i t e r a t i o n
109 # p r i n t ( i )
110 # l o o p h o l e = np . v s t a ck ( [ l o o p h o l e , h o l e s ] )
111 # l o o p h o l e = np . d e l e t e ( l o o p h ol e , ( 0 ) , a x i s = 0)
112
113 # l i n h o l e = np . a r r a y ( [ 0 , 0 ] )
114 # e k s = np . a r a n ge ( 1 0 ,1 1)
115 # f o r i i n r a ng e ( numbe ro fmodes ) :
116 # l i n f i t a r = l i n f i t ( l o o p h o l e [ i ] )
117 # l i n h o l e = np . v s t a c k ( [ l i n h o l e , l i n f i t a r ] )
118 # l i n h o l e = np . d e l e t e ( l i n h o l e , ( 0 ) , a x i s = 0)
119
120 # p f . w r i t e t o ( ” l i n / l i n 1 . f i t s , l i n h o l e , c l o b b e r = True )
121 # p l t . matshow ( l i n h o l e )
122 # p l t . s how ( )
123
124 l i n = p f . g e td a ta ( l i n / l i n 1 . f i t s ) #Aberations
125 # t r y t o g e t r i d o f e r r o r
126 aber = a b er a t io n s 4
127 a be rold = aber . copy ( )
128 allmode slo op = modes . copy ( )
129 iter = 30
130 holede pt h = np . ar an ge ( iter )
131 fo r jin range (iter ) :
132 hol es = np . ar ang e ( numberofmodes , d ty pe = float )
133
134 f ft , hole = a p p cal ( appcgh , aber )
45
135 #################### p lt . matshow ( f f t ∗ ∗ 0 . 2 )
136 fo r iin range ( numberofmodes ) :
137 h o l e s [ i ] , c e n t r a l h o l e = c gh hole ( i , f f t
)# g e t t h e b r i g h t n e s s o f t h e i t h
dot
138 x l i n = a b co r ( ho le s )
139 ####Turn o f f a l l b ut f i r s t modes
140 # x l i n [ 4 : 1 2 ] = 0
141 # x l i n [ 1 ] = 0
142 # x l i n [ 4 ] = 0
143 pr i nt ( x l i n )
144
145 fo r kin range (len ( a l l modesloop ) ) :
146 a llm odeslo op [ k ] = modes [ k ]x l i n [ k ]
147 pr i nt ( ’ modes : ’ + s t r ( np . sum( np . abs ( allmodesloop
))))
148 pr i nt ( h ole : ’ + s t r ( c e n t r a l h o l e ) )
149 h o le dept h [ j ] = c e n t r a l h o l e
150
151 a b e r = a b e r sum( all m o d esloop ) 0.1
152 pr i nt ( a be r : ’ + s t r ( np . sum( np . abs ( aber ) ) ) )
153
154 ff t , hole = a ppcal ( appcgh , a ber )
155 p l t . imshow( f f t ∗ ∗ 0 . 2 )
156 p l t . show ( )
157 p l t . semilo gy ( f f t [1 2 8]/ f f t . max ( ) , l a b e l = A ft e r )
158 f f t , h ol e = a pp cal ( appcgh , a berold )
159 p l t . semilo gy ( f f t [1 2 8]/ f f t . max ( ) , ’ r , l a b e l = Be fo r e
)
160 f f t , h ol e = a pp cal ( appcgh , a berold 0 )
161 p l t . semilo gy ( f f t [1 2 8]/ f f t . max ( ) , ’ g , l a b e l = C le an )
162 p l t . y l a b e l ( c o n t r a s t )
163 p l t . l ege n d ( )
164 p l t . show ( )
165 p lt . semi l ogy ( holede p t h )
166 p l t . y li m ( [ 1 0 ∗ ∗ 4 , 1 0 ∗ ∗ 7])
167 p l t . x l a b el ( I t e r a t i o n )
168 p l t . y l a b e l ( S i g n a l )
169 p l t . show ( )
46
ResearchGate has not been able to resolve any citations for this publication.
Article
Full-text available
High contrast imaging from space relies on coronagraphs to limit diffraction and a wavefront control systems to compensate for imperfections in both the telescope optics and the coronagraph. The extreme contrast required (up to 10(-10) for terrestrial planets) puts severe requirements on the wavefront control system, as the achievable contrast is limited by the quality of the wavefront. This paper presents a general closed loop correction algorithm for high contrast imaging coronagraphs by minimizing the energy in a predefined region in the image where terrestrial planets could be found. The estimation part of the algorithm reconstructs the complex field in the image plane using phase diversity caused by the deformable mirror. This method has been shown to achieve faster and better correction than classical speckle nulling.
Article
Conventional adaptive-optics systems correct the wavefront by adjusting a deformable mirror (DM) based on measurements of the phase aberration taken in a pupil plane. The ability of this technique, known as phase conjugation, to correct aberrations is normally limited by the maximum spatial frequency of the DM. In this paper we show that conventional phase conjugation is not able to achieve the dark nulls needed for high-contrast imaging. Linear combinations of high frequencies in the aberration at the pupil plane "fold" and appear as low-frequency aberrations at the image plane. After describing the frequency-folding phenomenon, we present an alternative optimized solution for the shape of the deformable mirror based on the Fourier decomposition of the effective phase and amplitude aberrations.
  • S Dong
  • T Haist
  • W Osten
  • T Ruppel
  • O Sawodny
Dong, S., Haist, T., Osten, W., Ruppel, T., & Sawodny, O. 2012, Applied Optics, 51, 1318
  • P Kalas
  • J R Graham
  • E Chiang
Kalas, P., Graham, J. R., Chiang, E., et al. 2008, Science, 322, 1345
  • M A Kenworthy
  • J L Codona
  • P M Hinz
Kenworthy, M. A., Codona, J. L., Hinz, P. M., et al. 2007, Astrophysical Journal, 660, 762