Skip to content

Commit

Permalink
EDIT: Merge Hack edits.
Browse files Browse the repository at this point in the history
  • Loading branch information
stefanv committed Apr 21, 2011
2 parents 2152e97 + 43d8d64 commit 93f6393
Showing 1 changed file with 54 additions and 38 deletions.
92 changes: 54 additions & 38 deletions papers/hack/my_paper.rst
Original file line number Diff line number Diff line change
Expand Up @@ -42,24 +42,30 @@ Introduction
.. figure:: ariane5launch_sm.png

An Ariane 5 launch similar to the launcher that will be used to
place JWST into orbit about the L2 point. Photo: ESA.
place JWST into orbit about the L2 point, the orbital position
that keeps the Sun behind the Earth all the time as viewed from JWST.
Photo: ESA.

The James Webb Space Telescope (JWST) will be NASA's next Great
Observatory. It will be an infrared-optimized telescope with a
6.5m primary mirror made up of 18-separate segments
which will be launched in 2014
by an Ariane 5 into an orbit at the L2 point about 1.5 million km
from the Earth. The Hubble Space Telescope (HST), by comparison,
which will be launched no sooner than 2015
by an Ariane 5 into an orbit at the second Langragian (L2) point.
This orbital position, about 1.5 million km
from the Earth, keeps the Sun behind the Earth at all times making it easier
to shield the telescope and keep it cool.
The Hubble Space Telescope (HST), by comparison,
is a telescope in a 570km high orbit with a solid 2.4m primary mirror
optimized for UV and optical observations. A lot of effort will go
into building and testing JWST, as it did with HST, to get it to work
as desired and as reliably as possible once launched, however unlike HST,
as desired and as reliably as possible once launched. However, unlike HST,
there will not be any possibility of performing a repair mission.
The primary structure of JWST will be made of
carbon-fiber composites in order to be lightweight enough for launch
while still providing the necessary strength and rigidity to support
such a large set of mirrors. The primary mirror will actually be
composed of 18 separate hexagonal segments. These segments will be mounted
such a large set of mirrors and instrument packages. The primary mirror itself
will be composed of 18 separate hexagonal segments.
These segments will be mounted
onto a backplane with actuators that will allow the segments
to be aligned to match one common optical surface that represents
a single mirror with a diameter of 6.5m.
Expand Down Expand Up @@ -87,7 +93,7 @@ NASA required a test that demonstrated the stability of this
engineering article and which verified that the design and
construction techniques will work to meet the requirements of the
telescope: namely, that it will remain stable to within 68nm from
30-50K (-405 to -370 :math:'\deg'F). They also wished to track the
30-50K (-405 to -370 :math:`^{\circ}\mathrm{F}`). They also wished to track the
structural changes from ambient (~295K) to cryogenic temperatures
(~30K) in order to better understand the accuracy of their structural
models. The primary test equipment, a special interferometer,
Expand All @@ -103,8 +109,7 @@ small spatial scales. When illuminated by a laser, such surfaces
typically show "speckles" that result from random points where the
reflections from the surface are relatively coherent (as compared to
the darker areas where the reflections mostly cancel out through
interference). While the phase of speckles varies randomly on a
spatial scale, and thus cannot be used for any spatial comparison from
interference). While the phase of speckles varies randomly from one spot on the article to the next, and thus cannot be used for any spatial comparison from
a single image, how the phase for a specific speckle changes, does
indicate how the surface is moving relative to the laser; in this way
speckle interferometers can be used to determine how surfaces are
Expand All @@ -118,7 +123,7 @@ then recombines the reflected signal with a reference beam split from the same
laser pulse, to create an interferometric map of the surface speckles.
As the structure moves, the speckles change phase reflecting the
change in interference between the incident and reference laser pulses.
However, those phases cycle from :math:'-\pi' to :math:'\pi' and back
However, those phases cycle from :math:`-\pi` to :math:`\pi` and back
as the surface continues to move. This required the use of phase
unwrapping across the surface, spatial phase unwrapping, using an
algorithm developed by the manufacturers of the ESPI.
Expand All @@ -129,22 +134,26 @@ algorithm developed by the manufacturers of the ESPI.
Schematic of ESPI showing how the ESPI measures the change in the object due to thermal or mechanical stress by tracking the speckles' phase change on the surface.

As the surface tilted during the test, it produced fringes where
the phases across the structure would transition from :math:'\pi'
to :math:'-\pi'. This tilt needed to be removed in order to allow
the phases across the structure would transition from :math:`\pi`
to :math:`-\pi`. This tilt needed to be removed in order to allow
us to measure the relative changes from one region of the structure
to another.

.. figure:: ESPI_tilt_schematic.jpg

Schematic showing how bulk tilt introduces multiple :math:'2\pi' variations across the structure and how it gets corrected in processing.
Schematic showing how bulk tilt introduces multiple :math:`2\pi`
variations across the structure and how it gets corrected in processing,
allowing for relative variations to be measured across the surface as
described in "Testing the BSTA".


Since the measured phase is ambiguous by multiples of :math:'2\pi',
Since the measured phase is ambiguous by multiples of :math:`2\pi`,
special techniques are required to remove these ambiguities. One is
to presume that continuous surfaces have continuous phase, and any
discontinuities on continuous surfaces are due to phase wrapping. Thus
such discontinuities can be "unwrapped" to produce spatially continuous
phase variations. Another presumption is that even though the general
position and tilt of the general structure may change greatly from one
position and tilt of the entire structure may change greatly from one
exposure to another, the relative phase shape of the structure will
not change rapidly in time once bulk tilt and displacement are removed.

Expand All @@ -154,7 +163,7 @@ on spatially contiguous sections. Gross tilts are fit to the largest
contiguous sections, and then the average tilt is removed (as well
as the average displacement). However, there are areas of interest
(the mirror pad supports) which are discontiguous and as a result
possibly several factors of 2pi offset in reality as a result of the
possibly several factors of :math:`2\pi` offset in reality as a result of the
tilt, and thus improperly corrected when tilts are removed. Since
these areas are assumed to change slowly in time, temporal phase
unwrapping is applied to these areas.
Expand Down Expand Up @@ -182,7 +191,8 @@ were unknowable, not just unknown, for a number of reasons. No test
had ever been conducted like this before, so there was no experience
to draw upon to foresee what problems may arise during the test. Concerns
ranged from whether the laser output could be maintained at a stable
level given that the output was dependent on the ambient temperature
level over such a long period of time given that the output was
dependent on the ambient temperature
of the test facility. This drove the requirement to monitor in
near-real-time the laser intensity as measured from the observations
themselves. These results were compared with occasional checks of
Expand All @@ -195,16 +205,18 @@ to work until the test actually started. Test conditions such as
residual vibrations in the test rig could seriously impact our ability
to measure the surface changes we were after and potentially require
changes to how the phase-unwrapping algorithms needed to be applied.
It was only after the test started that these affects would be known,
It was only after the test started that these effects would be known,
requiring the ability to update the data acquisition and processing
code on the fly to accommodate the quality of the test data.

Finally, the code must be easily adaptable and handle massive amounts
of data in as close to real-time as possible! Python offered the
best possible choice for addressing these challenges in supporting
this test. It allowed us to rapidly develop code to adjust for the
Finally, the code had to be easily adaptable and capable of handling
massive amounts of data in as close to real time as possible!
Python offered the best possible choice for addressing these
challenges in supporting
this test. It allowed us to develop code rapidly to adjust for the
test conditions during the test with minimal impact. The plotting and
array-handling libraries proved robust and fast enough to keep up
array-handling libraries, specifically matplotlib and numpy,
proved robust and fast enough to keep up
with the near-real-time operations. The commercial software that
came with ESPI hardware had also been written in Python and C, so
Python allowed us to interface to that code to run our own custom
Expand All @@ -228,35 +240,39 @@ display of the latest processed image, all using matplotlib.

This snapshot of the ESPI Monitoring GUI in operation illustrates the near-real-time monitoring plots and image display used to track the health of the laser and quality of the data and subsequent processing.

This data processing pipeline was setup using 4 PCs and a 15Tb storage
This data processing pipeline was set up using 4 PCs and a 15Tb storage
server. A separate PC was dedicated to each of the processing steps;
namely, data acquisition, initial phase unwrapping, measuring of
regions, and monitoring of the processing. This distributed system
was required in order to support the data acquisition rate for the
test: 5 1004x996 pixel images per second for 24 hours a day for 6
uninterrupted weeks. A total of approximately 11Tb of raw data
was eventually acquired during the test. This raw data was later
was eventually acquired during the test. These raw observations were later
reprocessed several times using the original set of 4 PCs from the
test as well as additional PCs all running simultaneously to refine
the results in much less than real-time using all the lessons learned
while the test was in progress.
the results in much less than real time using all the lessons learned
while the test was in progress. This reprocessing effort represented the
simplest possible case of parallel processing, where separate sets of data
could be processed independently on separate systems. No other use of
parallel processing techniques was implemented for the test or
subsequent reprocessing.


Results
-------

BSTA data analysis measured slope(expansion) sensitivity with an RMS of 25.2nm/K,
well within the 36.8nm rms/K requirement for meeting NASA's goals. These
BSTA data analysis measured the slope of the data, expansion due to temperature, with an RMS of 25.2nm/K,
well within the 36.8nm/K requirement for meeting NASA's goals. These
measurements were based on calibrations which had RMS values less
than 5 nm around measured slope.
than 5 nm around the measured slope.

.. figure:: distortion_40to60K_ACAP4_mosaic.png

Mosaic of sample processed measurements of the BSTA as the temperature changed from 40K to 60K, matching the operational temperature range of JWST. This mosaic illustrates how the structure was measured to change as the temperature changed.

Python allowed for rapid development near-real-time processing
pipeline spread across multiple systems which we were able to quickly
revise as needed during the test. The fact that the commercial software
Python allowed for rapid development of a near-real-time processing
pipeline spread across multiple systems which we were able to
revise quickly as needed during the test. The fact that the commercial software
was written using Python also allowed us to interface with it
to use their C-based algorithms for data acquisition
and phase-unwrapping. Equally importantly, we were able to implement
Expand All @@ -280,12 +296,12 @@ positions and orientations of each of the mirror segments will use an
upgraded version of the ESPI to monitor the mirror segments after they
have been mounted on the backplane of the telescope. This test will
validate that the actuators controlling the position of each mirror segment
can be controlled sufficiently well enough to align all the segments to
can be controlled sufficiently to align all the segments to
create a single optical surface.

This test will require taking up to a
1000 images a second for a short period of time after the mirrors have been
adjusted to verify their positions, a test that can easily generate 10Tb of
This test will require adjusting the mirror positions, then taking up to a
thousand images a second for a short period of time to verify the newly
updated positions. Such a test can easily generate 10Tb of
imaging data in only 7 minutes. The Python software we developed for
previous ESPI tests will be used as the basis for the data acquisition and
data processing systems for this new test, including synthesizing data from
Expand Down

0 comments on commit 93f6393

Please sign in to comment.