Next: 2 Acquisition & Slitmask
Up: Part II: Subsystem Designs
Previous: Part II: Subsystem Designs
This chapter deals with slitmask design and fabrication, both from the
observer's and the observatory's perspective. Under normal procedures,
the user will produce slitmask designs, and the observatory will fabricate
the masks.
The user initially designs a mask on the sky (for an relatively arbitrary epoch)
which includes a target list and optional ``custom'' information
for each object, e.g., a particular position angle and/or size of slitlet.
This stage of mask design must be highly interactive, and provide not
only the positions of potential targets on the sky, but also provide the
user with information on atmospheric dispersion, telescope limits,
wavelength coverage at the detector, location of gaps in the detector
mosaic, suitable guide and alignment stars, etc.
-- anything that influences the placement of targets on the mask.
Once the target list, position angle and mask center are settled, the
final design is committed to a physical slitmask description for a specific
observing epoch. This physical description, or ``blueprint,'' includes
corrections for refraction at a specified hour angle, as well as
aberration of starlight, proper motion updates, telescope distortions, etc.
The target list and mask blueprint, packaged as a single FITS file, are
forwarded to Keck for ingestion in the database and for mask fabrication.
Fabrication involves translating
the blueprint into instructions for the NC mill, running the mill, and
inspection of the result.
Tracking of masks is provided by barcode labels on the physical masks,
which also provide the association of mask design in the database with a
physical mask.
The mask fabrication procedures are designed for minimum impact on Keck staff,
both in mill operation and in handling a large volume of slitmasks for
many different observers.
This chapter describes (a) the mask design software, up to production of
the mask blueprint; (b) the fabrication software; and (c) the overall
handling of physical masks by Keck staff.
See Figure 1.1, ``Slitmask Design - Overview.''
Figure 1.1: Slitmask Design - Overview
- Fundamental Sky Coordinates:
- Celestial coordinates tied to a fundamental
coordinate system at a specified epoch and equinox.
- Refracted Sky Coordinates:
- Fundamental Sky coordinates adjusted for
refraction, aberration of starlight and proper motion.
- Slitmask Coordinates:
- Physical coordinates on the flat slitmask
(which becomes a tilted cylinder when loaded in DEIMOS). Defined at the
nominal operating temperature for DEIMOS.
- Camera Focus Coordinates:
- Coordinates in pixel units at the nominal
focal plane of the camera, easily transformed to pixel coordinates on
a given CCD.
- Mask Design:
- The mask center, position angle, and list of slitlets
and objects to appear on a slitmask, in fundamental sky coordinates.
(See Part I, Section 3.6.3; and
Part II, Chapter 2 of the Dictionary for details.)
- Mask Blueprint:
- The description of the physical slitmask design
in the slitmask coordinate system.
(See Part I, Section 3.6.3;
and Part II, Chapter 2 of the Dictionary for details.)
- Function
- Interactive mask design program, producing a list of objects/slitlets
in celestial coordinates.
- Language
- IRAF/spp
- Type
- tool
- Author
- A. C. Phillips
- Revision
- N/A
- Essay
-
A large, graphical, highly interactive stand-alone module which allows the user
many options for target selection and overall mask specification. Mask
specification options: translate mask center, rotate mask PA, change HA of
observation. Target selection options: autoselect (select full set of targets
to maximize the summed target priorities),
add/delete target, bind targets to the same slitlet.
Slitlet specification options:
fix slitlet PA, set minimum length. Alignment options: select alignment and
guide stars. View options: set field-of-view, show slitlets on mosaic, show
spectra on mosaic, redisplay, label targets, print target information.
Dispersion information: show dispersion vector in slitlet over the specified
wavelength range. Miscellaneous: report telescope limit violations.
The module will precess coordinates to a specified equinox, and update for
proper motion. Lists of both selected and non-selected targets are output,
both in the same format as the input lists, so that the module may be
executed as many times as desired to refine the mask design.
- Inputs
- primary, secondary lists of potential targets; initial mask center
and PA; initial HA; wavelength range, dispersion; detector defect list
- Outputs
- Mask Design: list of selected targets/slitlets, selected mask center
and PA; also list of non-selected targets
- Deployment
- Commissioning
- Labor
- 240 hours
- Keywords used by module
-
(none)
- Function
- Translate mask blueprint into NC mill instructions
- Language
- IRAF/spp
- Type
- tool
- Author
- A. C. Phillips
- Revision
- N/A
- Essay
- This module is internal to MillControl, but is provided as a
stand-alone for users wishing to fabricate their own slitmasks. This module
produces NC mill instructions from a mask blueprint,
and is normally executed (via MillControl) by Keck personnel immediately prior
to milling the slitmask. The actual milling instructions are TBD, although
an option for producing ASCII-format instructions will be included for
stand-alone mode.
The temperature of the milling environment is required as
input because the mask blueprint is in slitmask coordinates (defined for
the nominal operating temperature of DEIMOS), so a slight correction is
required for thermal expansion of the aluminum mask.
- Inputs
- Mask blueprint specification from database; Ambient Temperature
- Outputs
- NC Mill instructions
- Deployment
- Commissioning
- Labor
- 30 hours
- Keywords used by module
-
(none)
- Function
- Create a plot of the blueprint with targets superposed.
- Language
- IRAF/spp
- Type
- tool
- Author
- A. C. Phillips
- Revision
- N/A
- Essay
- This module takes a mask design/blueprint and produces a PostScript
plot of a mask.
- Inputs
- Mask Design FITS file
- Outputs
- PS Plot
- Deployment
- Commissioning
- Labor
- 30 hours
- Keywords used by module
-
(none)
- Function
- Transform pixel coordinates of a DEIMOS image into fundamental sky
coordinates.
- Language
- IRAF/spp
- Type
- tool
- Author
- A. C. Phillips
- Revision
- N/A
- Essay
- This module performs astrometric measurements of a DEIMOS direct image
of sufficient accuracy that slitmasks may be designed. It applies a
mapping from the CCD pixel coordinates to the sky. Detailed design is TBD.
- Inputs
- Input pixel coordinates; othersTBD
- Outputs
- List of sky coordinates
- Deployment
- 1 yr Post-Commissioning
- Labor
- 60 hours
- Keywords used by module
-
(none)
- Function
- Accepts MaskData from Observers and fills mask database
- Language
- Tcl/Tk
- Type
- daemon
- Author
- S.L. Allen/D.A. Clarke
- Revision
- N/A
- Essay
-
The Slitmask design software produces a FITS file known as
DesignFile containing catalog, design, blueprint, and slit/obj
map tables. This file must be transmitted to Keck and stored into
the slitmask database for later use. This module handles the
transfer of the DesignFile using WWW and e-mail.
- Inputs
-
- CGI queries from WWW server
- Mask Design, Blueprints, and status from database
(For details see the database schema in Part II Chapter 2 of
the Dictionary, and/or the equivalent FITS tables in
Part I Section 3.6.3).
- Outputs
-
- SQL inserts to the slitmask database
- e-mail to blueprint owner verifying receipt
- Deployment
- Commissioning
- Labor
- 40 hours
- Keywords used by module
-
None. KTL is not involved with mask production and inventory control.
- Function
- Coordinates cutting and quality control during slitmask fabrication.
Ensures validity of mask database.
- Language
- Tcl/Tk
- Type
- tool
- Author
- S.L. Allen/D.A. Clarke
- Revision
- N/A
- Essay
-
MillControl is used by the mill operator
for the routine cutting of slitlets into raw slitmask stock.
It is the principal interface for
inventory control over slitmasks and slitmask stock.
It queries the database to determine which mask blueprints need
to be cut and offers that list to the mill operator.
It converts the selected mask blueprint to NC milling
commands and downloads them to the mill. It requires the
mill operator to scan the mask barcode after each
download to ensure proper association between mask and blueprint.
It permits the mill operator to enter quality control information
about the fabricated masks.
- Inputs
-
- Mask Design and Blueprints from database
- barcodes from handheld scanner
- ambient mill temperature
(For details see the database schema in Part II Chapter 2 of
the Dictionary, and/or the equivalent FITS tables in
Part I Section 3.6.3).
- Outputs
-
- Fabricated slitmasks and associated database records
- e-mail to mask blueprint owner describing mask status
- Deployment
- Commissioning
- Labor
- 120 hours
- Keywords used by module
-
None. KTL is not involved with mask production and inventory control.
- Function
- Permits observers to verify the status of their slitmasks.
- Language
- Tcl/Tk, HTML2
- Type
- daemon
- Author
- D.A. Clarke/S.L. Allen
- Revision
- N/A
- Essay
-
Upon request of observers via a WWW interface,
MaskQuery interrogates the database of slitmasks maintained by
MillControl.
Observers will be able to verify whether Keck has received
their bundle of transmitted MaskData, whether a mask
has been fabricated, and whether the mask has been discarded.
This interface will not divulge detailed slitlet information
unless a suitable authentication scheme is implemented.
- Inputs
-
- CGI queries from WWW server
- Mask Design, Blueprints, and status from database
(For details see the database schema in Part II Chapter 2 of
the Dictionary, and/or the equivalent FITS tables in
Part I Section 3.6.3).
- Outputs
- HTML web pages indicating the status of the slitmasks
- Deployment
- Commissioning
- Labor
- 20 hours
- Keywords used by module
-
None. KTL is not involved with mask production and inventory control.
Verify/update mapping of slitmask-to-CCD coordinates
(original mapping is theoretical; check in lab).
CCD defect list should be prepared.
Verify/update mapping of slitmask-to-CCD coordinates
(original mapping is from lab; check following reassembly).
Verify/update mapping of refracted sky-to-slitmask coordinates
(``slitmask astrometry''; see Part III).
Mask Design (performed by user for each slitmask)
- 1.
- Execute SIMULATOR to design mask
- 1a.
- Re-execute SIMULATOR, as desired to refine mask design
- 2.
- Execute MAPMASK
- 3.
- Send mask DesignFile FITS file to Keck (email, FTP, WWW)
- (4)
- Optional: user may follow own path to slitmask fabrication
The purpose of this procedure is to ensure the correctness of the
association between the barcode on the slitmask and the mask blueprint
which was milled into the mask. When a dozen masks are milled during
one session we want to avoid any problems of off-by-one or otherwise
permuted identification between mask and blueprint.
We recognize that the mill operator may be involved in other tasks
during the fabrication of DEIMOS slitmasks.
We have minimized the activity
required between the milling of one mask and the next. This procedure
also permits slitmask Quality Control to be performed separately from
slitmask milling.
These are used for the mask milling procedure.
- Numerically controlled mill (i.e., the Centurion V).
- Multi-tasking computer (preferably Unix, but minimally Windows NT or 95).
- Serial line connecting computer and NC mill for DNC operation.
- Handheld barcode scanner near the mill.
- Serial line connecting computer to handheld scanner.
- Status Barcode Chart of milling success/failure barcodes
mounted near the mill. Barcodes fall into categories:
- status codes
- NOW_MILLED, FOREIGN, DISCARDED, SHIPPED
- quality codes
- MASK_GOOD, MASK_BAD
- request codes
- QUERY
- response codes
- YES, NO
- Blank mask stock with pre-affixed barcodes readable by DEIMOS mask
changer.
- Ambient mill temperature probe.
The software required for this procedure is a collection of programs
known as MillControl. MillControl can perform the following tasks.
- Run on the multi-tasking computer.
- Interrogate the database of yet-to-be cut mask blueprints.
- Permit mill operator to select next blueprint to be cut.
- Read the temperature probe and convert mask blueprints into
NC mill programs (G-codes, M-codes).
- Send mill programs to the mill in DNC mode.
- Read the hand-held barcode scanner.
- Update the databases of mask blueprints (cut and yet-to-be cut).
The flow of information starting from the time of mask design through
the time of mask production has been entered into the Agents database.
This flow is depicted in Figure 1.3.
See Chapter II.7 for more information about the Agents and meme flow.
Figure 1.3: Data Flow for Slit Mask Production
The slitmasks loaded in DEIMOS are identified via barcode labels.
Prior to milling, a barcode label must be affixed to each blank
slitmask in a location suitable for reading by the barcode scanner
within DEIMOS.
This will be done whenever a new shipment of blank masks arrives.
Then MillControl must be run to enter the entire shipment into the
database. For each shipment we record the vendor, various physical
characteristics of the stock, and the first and last barcodes in the
sequence applied to that batch.
(Note that we require the sequence of barcodes to be monotonically
increasing.)
These steps are required at the beginning of a milling session.
-
The mill operator asks the multi-tasking computer to start MillControl.
-
MillControl queries the database and presents a list of DEIMOS
masks which need to be cut in order to keep on schedule.
-
The mill operator checks and inputs relevant parameters for milling.
These include operator id, tool size, (tool shape), and ambient
temperature.
-
The mill operator places the NC mill into DNC mode awaiting
instructions from MillControl.
For each blueprint to be cut the following steps are performed.
-
The mill operator places mask stock into the mill.
-
The mill operator uses MillControl to select one of the not-yet-cut
mask blueprints.
-
MillControl will convert the selected blueprint into
G-codes and M-codes for the mill, using ambient temperature
to compensate for thermal expansion.
-
The mill operator tells MillControl to begin the DNC download.
-
MillControl sends the NC mill control codes over the serial
line to the mill where they are executed.
Upon beginning transmission MillControl will enter a
mode where it demands the identity and status of the
currently active mask before it will permit the milling
of any other mask.
-
When the milling is done the mill operator removes the mask
from the mill, scans its barcode, and scans NOW_MILLED on the
status barcode chart.
-
If there is a gross problem with the mask (e.g., the tool
broke) then the mill operator may indicate it by scannning the
mask barcode again, then scanning the quality code
MASK_BAD.
-
Repeat the above for the next blueprint.
Note that we do not permit a milling program to be restarted if it is
interrupted in the middle. We expect that, for example, restarting a
program after replacement of a broken tool would introduce
unacceptably large systematic errors between the first and last
milling sequences. Masks which are partly milled must be junked.
The quality control (QC) procedure could be done as an element of the
milling procedure, or deferred until there is an entire batch of
cut masks.
If it is convenient, the mill operator may perform the Quality
Control procedure on the previous mask while the next mask is
being cut.
If QC is done subsequent to the milling then all masks
will already have been scanned as NOW_MILLED so that the association
between blueprint and mask barcode is already in the database.
The following steps are performed for each slitmask.
-
The mask is cleaned of any milling debris.
-
The mask is inspected visually and classified GOOD or BAD.
-
A two-step scanning operation is performed.
-
The hand-held scanner is used to scan the
pre-affixed mask barcode.
-
The hand-held scanner is used to scan the appropriate
quality barcode from the nearby chart, either MASK_GOOD
or MASK_BAD.
-
If the mask is classified GOOD then
The mask is placed into the pre-observation holding bins.
MillControl updates the database to mark the mask
as good and removes the blueprint from the queue of
things-to-do.
Else if the mask is classified BAD then
The mask is tossed aside for recycling/disposal.
MillControl updates the database to mark the mask as
junked and leaves the blueprint in the queue of
things-to-do.
-
Repeat the above for the next mask.
Whenever the scanner scans a slitmask barcode, MillControl queries the
database to see if a Mask record with that MaskId already exists.
MillControl will then wait for a QC barcode, and if one does not
arrive within a few seconds it will take action as if QUERY had been
scanned. If MillControl receives two successive slitmask barcodes
without an intervening QC barcode it will ignore the first slitmask.
If the scanner receives a QC barcode but has not recently scanned
a slitmask barcode:
MillControl displays an informational message indicating
the QC barcode which was scanned and that no action was taken.
If the scanner reads QUERY then MillControl does the following:
If the Mask is already in the database then present a detailed
list of its known attributes. If the Mask is not already in
the database then report that fact.
If the scanner reads NOW_MILLED then MillControl does the following:
If MillControl is not awaiting an identity then this is an
error. If the Mask is already in the database with a non-null
MaskQual then MillControl must flag this as an error
and require the mill operator to perform a detailed
verification sequence.
Otherwise, insert a new Mask record into the database
containing MaskId, BluId, and all milling information except
for MaskQual. MillControl retains the blueprint in the queue
of things-to-do but marks it so that it cannot be selected for
another DNC download.
If the scanner reads MASK_BAD then MillControl does the following:
If the Mask is already in the database with a non-null
MaskQual then MillControl must flag this as a likely error
requiring a verification sequence. If it is in the database
with a null MaskQual then update the Mask record setting
MaskQual BAD. Otherwise, insert a new Mask record into the
database containing MaskID, BluId, milling info, and a
MaskQual of BAD. MillControl retains the blueprint in the
queue of things-to-do and marks it so that it may be selected
again.
If the scanner reads MASK_GOOD then MillControl does the
following:
If the Mask is already in the database with a non-null
MaskQual then MillControl must flag this as a likely error
requiring a verification sequence. If it is in the database
with a null MaskQual then update the Mask record setting
MaskQual GOOD. Otherwise, insert a new Mask record into the
database containing MaskID, milling info, and a MaskQual of
GOOD. MillControl removes the blueprint from the queue of
things-to-do, and sends e-mail to the owner of the blueprint
indicating that the mask has been manufactured.
In case of failure of the barcode scanner, MillControl
will accept the mask ID (barcode) and quality via
keyboard entry rather than via scanner.
The important element of the Milling Procedure is that MillControl
will not permit a new DNC download to be started until a mask barcode
is associated with the blueprint for the previous DNC download. This
forces the operator to scan each slitmask as it is removed from the
mill. The mask status of NOW_MILLED permits complete flexibility in
the scheduling of the quality control phase. The QC can be done
subsequent to the milling of all masks, or it can be done while the
mill is cutting another mask.
Some observers may wish to cut their own slitmasks.
In that case the observatory will ship a number of blank
slitmasks to the observer in advance of the run. MillControl will
enter the identity of the observer. It will then permit masks
to be scanned and tagged as SHIPPED. When the requisite number of
masks has been checked out MillControl will print out
the destination information for shipping.
It will eventually become necessary to dispose of the accumulated mass
of previously used slitmasks. In order that the database of available
slitmasks remain intact MillControl must be used to track the
disposal. As each mask is discarded the mill operator must scan its
barcode followed by scanning DISCARDED. The mask blueprint records
for discarded masks may be deleted as part of the same operation.
There are three main documents of relevance:
- 1.
- a User Manual for mask design (the ``cookbook'');
- 2.
- an Operator's Manual for slitmask fabrication, describing
data ingestion, execution of MillControl, and procedures for slitmask
fabrication.
- 3.
- The Calibration Document, which will describe the coordinate
mappings used in SIMULATOR and MAPMASK.
Next: 2 Acquisition & Slitmask
Up: Part II: Subsystem Designs
Previous: Part II: Subsystem Designs
DEIMOS Software Team <deimos@ucolick.org>
1997-06-13T00:18:19