From fa080de7afc95aa1c19a6e6fc0e0708ced2eadc4 Mon Sep 17 00:00:00 2001 From: Joseph Hunkeler Date: Wed, 8 Jul 2015 20:46:52 -0400 Subject: Initial commit --- noao/artdata/Notes | 11 + noao/artdata/Revisions | 537 ++++++++++++ noao/artdata/artdata.cl | 18 + noao/artdata/artdata.hd | 19 + noao/artdata/artdata.men | 10 + noao/artdata/artdata.par | 14 + noao/artdata/doc/gallist.hlp | 488 +++++++++++ noao/artdata/doc/mk1dspec.hlp | 355 ++++++++ noao/artdata/doc/mk2dspec.hlp | 207 +++++ noao/artdata/doc/mkechelle.hlp | 585 +++++++++++++ noao/artdata/doc/mkexamples.hlp | 167 ++++ noao/artdata/doc/mkheader.hlp | 84 ++ noao/artdata/doc/mknoise.hlp | 245 ++++++ noao/artdata/doc/mkobjects.hlp | 636 +++++++++++++++ noao/artdata/doc/mkpattern.hlp | 180 ++++ noao/artdata/doc/starlist.hlp | 355 ++++++++ noao/artdata/doc/version1.1 | 49 ++ noao/artdata/gallist.par | 52 ++ noao/artdata/lists/gallist.key | 63 ++ noao/artdata/lists/mkpkg | 18 + noao/artdata/lists/starlist.h | 136 ++++ noao/artdata/lists/starlist.key | 47 ++ noao/artdata/lists/stcolon.x | 835 +++++++++++++++++++ noao/artdata/lists/stdbio.x | 350 ++++++++ noao/artdata/lists/stlum.x | 342 ++++++++ noao/artdata/lists/stmix.x | 144 ++++ noao/artdata/lists/stplot.x | 1102 +++++++++++++++++++++++++ noao/artdata/lists/stshow.x | 142 ++++ noao/artdata/lists/stspatial.x | 264 ++++++ noao/artdata/lists/t_gallist.x | 453 +++++++++++ noao/artdata/lists/t_starlist.x | 303 +++++++ noao/artdata/mk1dspec.par | 31 + noao/artdata/mk2dspec.par | 10 + noao/artdata/mkechelle.par | 48 ++ noao/artdata/mkexamples/archdr.dat | 19 + noao/artdata/mkexamples/ecarc.cl | 20 + noao/artdata/mkexamples/ecarc2d.cl | 20 + noao/artdata/mkexamples/ecarcdc.cl | 21 + noao/artdata/mkexamples/echelle.cl | 22 + noao/artdata/mkexamples/ecobj2d.cl | 29 + noao/artdata/mkexamples/ecthorium.dat | 655 +++++++++++++++ noao/artdata/mkexamples/galcluster.cl | 39 + noao/artdata/mkexamples/galfield.cl | 30 + noao/artdata/mkexamples/globular.cl | 23 + noao/artdata/mkexamples/henear.cl | 20 + noao/artdata/mkexamples/henear1.dat | 56 ++ noao/artdata/mkexamples/henear1d.cl | 4 + noao/artdata/mkexamples/henear2.dat | 56 ++ noao/artdata/mkexamples/heneardc.cl | 18 + noao/artdata/mkexamples/longslit.cl | 77 ++ noao/artdata/mkexamples/lsarc.cl | 5 + noao/artdata/mkexamples/lsgal.cl | 5 + noao/artdata/mkexamples/lsobj.cl | 5 + noao/artdata/mkexamples/mkexamples.cl | 68 ++ noao/artdata/mkexamples/mkexamples.men | 10 + noao/artdata/mkexamples/multifiber.cl | 31 + noao/artdata/mkexamples/objhdr.dat | 19 + noao/artdata/mkexamples/onedspec.men | 10 + noao/artdata/mkexamples/spectrum.cl | 19 + noao/artdata/mkexamples/starfield.cl | 22 + noao/artdata/mkexamples/threedspec.men | 3 + noao/artdata/mkexamples/twodspec.men | 10 + noao/artdata/mkheader.par | 4 + noao/artdata/mkheader.x | 229 ++++++ noao/artdata/mknoise.par | 25 + noao/artdata/mkobjects.par | 30 + noao/artdata/mkpattern.par | 20 + noao/artdata/mkpkg | 40 + noao/artdata/mktemplates.com | 9 + noao/artdata/mktemplates.x | 1390 +++++++++++++++++++++++++++++++ noao/artdata/mktemplates.xBAK | 1326 ++++++++++++++++++++++++++++++ noao/artdata/mktemplates.xNEW | 1399 ++++++++++++++++++++++++++++++++ noao/artdata/numrecipes.x | 121 +++ noao/artdata/starlist.par | 43 + noao/artdata/stdheader.dat | 10 + noao/artdata/t_mk1dspec.x | 443 ++++++++++ noao/artdata/t_mk2dspec.x | 297 +++++++ noao/artdata/t_mkechelle.x | 1248 ++++++++++++++++++++++++++++ noao/artdata/t_mkheader.x | 52 ++ noao/artdata/t_mknoise.x | 577 +++++++++++++ noao/artdata/t_mkobjects.x | 552 +++++++++++++ noao/artdata/t_mkpattern.x | 318 ++++++++ noao/artdata/voigt.x | 71 ++ noao/artdata/x_artdata.x | 9 + 84 files changed, 17829 insertions(+) create mode 100644 noao/artdata/Notes create mode 100644 noao/artdata/Revisions create mode 100644 noao/artdata/artdata.cl create mode 100644 noao/artdata/artdata.hd create mode 100644 noao/artdata/artdata.men create mode 100644 noao/artdata/artdata.par create mode 100644 noao/artdata/doc/gallist.hlp create mode 100644 noao/artdata/doc/mk1dspec.hlp create mode 100644 noao/artdata/doc/mk2dspec.hlp create mode 100644 noao/artdata/doc/mkechelle.hlp create mode 100644 noao/artdata/doc/mkexamples.hlp create mode 100644 noao/artdata/doc/mkheader.hlp create mode 100644 noao/artdata/doc/mknoise.hlp create mode 100644 noao/artdata/doc/mkobjects.hlp create mode 100644 noao/artdata/doc/mkpattern.hlp create mode 100644 noao/artdata/doc/starlist.hlp create mode 100644 noao/artdata/doc/version1.1 create mode 100644 noao/artdata/gallist.par create mode 100644 noao/artdata/lists/gallist.key create mode 100644 noao/artdata/lists/mkpkg create mode 100644 noao/artdata/lists/starlist.h create mode 100644 noao/artdata/lists/starlist.key create mode 100644 noao/artdata/lists/stcolon.x create mode 100644 noao/artdata/lists/stdbio.x create mode 100644 noao/artdata/lists/stlum.x create mode 100644 noao/artdata/lists/stmix.x create mode 100644 noao/artdata/lists/stplot.x create mode 100644 noao/artdata/lists/stshow.x create mode 100644 noao/artdata/lists/stspatial.x create mode 100644 noao/artdata/lists/t_gallist.x create mode 100644 noao/artdata/lists/t_starlist.x create mode 100644 noao/artdata/mk1dspec.par create mode 100644 noao/artdata/mk2dspec.par create mode 100644 noao/artdata/mkechelle.par create mode 100644 noao/artdata/mkexamples/archdr.dat create mode 100644 noao/artdata/mkexamples/ecarc.cl create mode 100644 noao/artdata/mkexamples/ecarc2d.cl create mode 100644 noao/artdata/mkexamples/ecarcdc.cl create mode 100644 noao/artdata/mkexamples/echelle.cl create mode 100644 noao/artdata/mkexamples/ecobj2d.cl create mode 100644 noao/artdata/mkexamples/ecthorium.dat create mode 100644 noao/artdata/mkexamples/galcluster.cl create mode 100644 noao/artdata/mkexamples/galfield.cl create mode 100644 noao/artdata/mkexamples/globular.cl create mode 100644 noao/artdata/mkexamples/henear.cl create mode 100644 noao/artdata/mkexamples/henear1.dat create mode 100644 noao/artdata/mkexamples/henear1d.cl create mode 100644 noao/artdata/mkexamples/henear2.dat create mode 100644 noao/artdata/mkexamples/heneardc.cl create mode 100644 noao/artdata/mkexamples/longslit.cl create mode 100644 noao/artdata/mkexamples/lsarc.cl create mode 100644 noao/artdata/mkexamples/lsgal.cl create mode 100644 noao/artdata/mkexamples/lsobj.cl create mode 100644 noao/artdata/mkexamples/mkexamples.cl create mode 100644 noao/artdata/mkexamples/mkexamples.men create mode 100644 noao/artdata/mkexamples/multifiber.cl create mode 100644 noao/artdata/mkexamples/objhdr.dat create mode 100644 noao/artdata/mkexamples/onedspec.men create mode 100644 noao/artdata/mkexamples/spectrum.cl create mode 100644 noao/artdata/mkexamples/starfield.cl create mode 100644 noao/artdata/mkexamples/threedspec.men create mode 100644 noao/artdata/mkexamples/twodspec.men create mode 100644 noao/artdata/mkheader.par create mode 100644 noao/artdata/mkheader.x create mode 100644 noao/artdata/mknoise.par create mode 100644 noao/artdata/mkobjects.par create mode 100644 noao/artdata/mkpattern.par create mode 100644 noao/artdata/mkpkg create mode 100644 noao/artdata/mktemplates.com create mode 100644 noao/artdata/mktemplates.x create mode 100644 noao/artdata/mktemplates.xBAK create mode 100644 noao/artdata/mktemplates.xNEW create mode 100644 noao/artdata/numrecipes.x create mode 100644 noao/artdata/starlist.par create mode 100644 noao/artdata/stdheader.dat create mode 100644 noao/artdata/t_mk1dspec.x create mode 100644 noao/artdata/t_mk2dspec.x create mode 100644 noao/artdata/t_mkechelle.x create mode 100644 noao/artdata/t_mkheader.x create mode 100644 noao/artdata/t_mknoise.x create mode 100644 noao/artdata/t_mkobjects.x create mode 100644 noao/artdata/t_mkpattern.x create mode 100644 noao/artdata/voigt.x create mode 100644 noao/artdata/x_artdata.x (limited to 'noao/artdata') diff --git a/noao/artdata/Notes b/noao/artdata/Notes new file mode 100644 index 00000000..3f8d90c2 --- /dev/null +++ b/noao/artdata/Notes @@ -0,0 +1,11 @@ +Ideas for additional tasks: + +o Given a list of (x,y) or (x,y,z) make/add a 1D or 2D image + o Fit using curfit/gsurfit? + o Some other way of fitting? + +o Script tasks to make certain classes of data. + +o Demo + +o Do stuff for making various PLIO masks diff --git a/noao/artdata/Revisions b/noao/artdata/Revisions new file mode 100644 index 00000000..beaa9e4c --- /dev/null +++ b/noao/artdata/Revisions @@ -0,0 +1,537 @@ +.help revisions Jan90 noao.artdata +.nf + +mktemplates.x +doc/mkobjects.hlp + Added Sersic model profiles. This was done using only the model + name to avoid any additional parameters. (2/24/11, Valdes) + +======= +V2.15.2 +======= + +======= +V2.12.2 +======= + +mkheader.x + The routine was not putting an EOS for lines longer than IDB_RECLEN + resulting in cards longer than the FITS standard. + (1/29/04, Valdes) + +mktemplates.x + Pointer procedure mkt_object() could return w/out value (12/29/03, MJF) + +mkheader.x + Added checks and warning messages for overflowing the user header + area. (11/10/03, Valdes) + +t_mknoise.x +t_mkobjects.x +t_mk1dspec.x +t_mkechelle.x +lists/t_starlist.x +lists/t_gallist.x + The behavior of the random number seed used when specified as INDEF + was changed to avoid the 1 second grandularity. See buglog 528. + (8/7/03, Valdes) + +t_mknoise.x + The string for the header file name was increased in length from + LEN_COMMENT to SZ_FNAME. (6/27/03, Valdes) + +======= +V2.12.1 +======= +===== +V2.12 +===== + +t_mkobjects.x +doc/mkobjects.hlp + The star templates are now created only once when there is a list + of input images. There was also a bug in matching the objects + list to the input list which didn't work and also did not agree with + the help. Now there must be a matching list. (12/14/01, Valdes) + +stdheader.dat + The DATE-OBS had a syntax error, a ':' instead of 'T' separating the + date and time. (2/11/00, Valdes) + +========= +V2.11.3p1 +========= + +stdheader.dat +mkexamples/archdr.dat +mkexamples/objhdr.dat + Changed DATE-OBS to new FITS format. (5/19/99, Valdes) + + +doc/mkobjects.hlp +doc/mkpattern.hlp +doc/mkechelle.hlp + Fixed minor formating problems. (4/22/99, Valdes) + +doc/mkechelle.hlp + Modified to indicate the input list is not exactly the same as MK1DSPEC + since that task was modified to support different profile types. + (3/16/98, Valdes) + +===== +V2.11 +===== + +t_mk1dspec.x +t_mknoise.x +t_mkobjects.x +lists/t_starlist.x +lists/t_gallist.x +doc/mk1dspec.hlp +doc/mknoise.hlp +doc/mkobjects.hlp +doc/starlist.hlp +doc/gallist.hlp + If the random number seed is specified as INDEF then the task will + use the clock time (seconds since 1980) as the seed. This allows + users to get different random numbers for each execution. + (9/23/97, Valdes) + +t_mk1dspec.x + If the dispersion was negative the task would fail to make the lines. + (6/2/97, Valdes) + +doc/mk1dspec.hlp + Fixed minor typo. (6/2/97, Valdes) + +doc/mkpattern.hlp + Updated for changes. (4/22/97, Valdes) + +artdata.par +doc/mknoise.hlp +doc/mkobjects.hlp + Changed the default for "ranbuf" to zero. (1/29/97, Valdes) + +lists/stdbio.x + The parameter information in the output now begins with #. + (12/30/96, Valdes) + +t_mknoise.x +t_mk1dspec.x +t_mk2dspec.x +t_mkechelle.x +t_mkobjects.x +t_mkpattern.x + Changed logic to work around the fact that IMACCESS does not always + work. This became a problem with the FITS kernel. (11/11/96, Valdes) + +t_mkpattern.x +mkpattern.par +doc/mkpattern.hlp + Added "ushort" and "complex" data types. (11/8/96, Valdes) + +numrecipes.x + Modified the Poisson deviate routine to return zero for input + values less than or equal to zero. (10/1/96, Valdes) + +lists/stdbio.x + Modified the list formatting code to print the x and y centers of + the objects to 3 decimal places of precision. (8/27/96, Davis) + +mkpattern.par + An ndim of zero is now allowed. (8/15/96, Valdes) + +mkobjects.par +doc/mkobjects.hlp + Modified the prompt for "background" and the help page to indicate + that the value is in data numbers. (6/27/96, Valdes) + +t_mkechelle.x + The DC-FLAG was not being set correctly for raw extracted spectra. + (4/26/96, Valdes) + +doc/mk1dspec.hlp + Minor clarification of how the peak parameter is used if a line + list is given but there is not peak value. (10/12/95, Valdes) + +gallist.par + Changed the "ar" parameter to a default value of 0.3 corresponding + to the range E0 to E7. (10/10/95, Valdes) + +voigt.x + +mk1dspec.par +t_mk1dspec.x +mkpkg +mkexamples/henear.cl +mkexamples/heneardc.cl +mkexamples/longslit.cl +mkexamples/multifiber.cl +mkexamples/spectrum.cl +doc/mk1dspec.hlp + 1. MK1DSPEC now includes gaussian, lorentzian, and voigt line profiles. + There were parameter changes and changes to the input/output + line lists. + 2. The example scripts calling MK1DSPEC were modified for the changes + to task though they still use only gaussian lines. The spectra + will not be exactly the same because the order of the random + numbers has changed. + (7/28/95, Valdes) + +======= +V2.10.4 +======= + +artdata$t_mk1dspec.x + Fixed two type mismatches in min/max calls. (12/31/94, Valdes) + +artdata$lists/stmix.x + The calculation of absorption in spiral models was not working and + so no absorption effect was being added as described in the help. + This has been fixed. (10/29/94, Valdes) + +xtools$numrecipes.x + The POIDEV routine can still have a problem in that the tan function + can return a very large number triggering either an overflow in + the evaluation of em or in the int truncation of em as addressed + below. A test is now made on the value of the tan function. + (9/14/94, Valdes) + +artdata$mknoise.par +artdata$doc/mknoise.hlp + The help was inconsistent with the task in that any background specified + is added to both new and existing images. The discussion of subtracting + the background in existing images was wrong. The "background" parameter + was moved in the par file from the NEW IMAGE section. + (7/1/94, Valdes) + +artdata$mktemplates.x + The structure parameter MKT_SCALE was incorrectly defined as an + integer resulting in the output scales of the "expdisk" and "devauc" + objects to be incorrect (see bug log 226). (9/17/93, Valdes) + +artdata$t_mkpattern.x + Fixed bug in indexing. This bug was most noticible with the checkerboard + and a larger size which showed the first square was too small by 1. + (9/2/93, Valdes) + +artdata$mkexamples/longslit.cl +artdata$mkexamples/lsgal.cl + +artdata$twodspec.men + Added an example,lsgal, of an extended longslit galaxy spectrum. + (8/21/93, Valdes) + +artdata$numrecipes.x + The POIDEV routine from Numerical Recipes can try to coerce a large + floating point number to an integer which can cause an exception. + If the value is 100 or greater a Gaussian deviate is now returned. + (8/11/93, Valdes) + +============= +V2.10.3. beta +============= + +artdata$t_mkobjects.x +artdata$t_mknoise.x + The min/max data values are computed and set in the output image. + (4/16/93, Valdes) + +artdata$mkexamples + 1. The MKEXAMPLES task now provides multiple menus. + 2. The spectrum examples have been organized by type. + 3. New spectrum examples have been added. + 4. The echelle and onedspec examples use the oseed to set the number + of orders/apertures. + (3/17/93, Valdes) + +artdata$t_mkechelle.x +artdata$t_mk1dspec.x +artdata$mk1dspec.par +artdata$doc/t_mk1dspec.hlp +mkpkg + 1. Modified to use SMW WCS routines. + 2. The mk1dspec.format parameter was eliminated. + (3/17/93, Valdes) + +artdata$mkheader.x + Added a double type to mkh_comment1. (3/17/93, Valdes) + +artdata$mkobjects.x +artdata$doc/mkobjects.hlp + Changed the behavior of xoffset and yoffset to be the offset after + distance scaling to allow having a fixed origin. (3/16/93, Valdes) + +artdata$lists/stplot.x + When there is only one object or when all objects have the same value + then the symbol size scaling with amapr gave a floating operand error. + A check has been added for this. (3/16/93, Valdes) + +artdata$t_mkechelle.x + The method of generating random lines was incorrect. This showed up + when trying to make the same set of random lines with a different + velocity. (3/1/93, Valdes) + +ardata$t_mkobjects.x +ardata$t_mknoise.x +ardata$t_mkechelle.x +ardata$t_mk2dspec.x +ardata$t_mk1dspec.x +ardata$mkheader.x + Replaced use of '\t' in the comment with spaces. (11/12/92, Valdes) + +artdata$mktemplates.x + In mkt_binprof there was no check that the central subpixels were + within the profile. For very small objects this could lead to + out of bounds references in the prof array. A check on this was + added. (10/30/92, Valdes) + +artdata$t_mk2dspec.x +artdata$t_mkechelle.x + Add a limit check to prevent integration of a pixel outside the profile + interpolation function. (8/14/92, Valdes) + +artdata$t_mkechelle.x + Changed a "** 1.5" to a combination of square root and an integer + third power. (8/10/92, Valdes) + +======= +V2.10.2 +======= +======= +======= +V2.10.1 +======= +======= +V2.10.0 +======= + +artdata$t_mkechelle.x + "min (tt" --> "min (tt[i]" and "max (tt" --> "max (tt[i]" + (6/23/92, Valdes) + +===== +V2.10 +===== + +artdata$mkexamples/* +artdata$doc/mkexamples.hlp + Added parameter to control whether comments are generated in the + examples. (1/31/92, Valdes) + +artdata$mktemplate.x + Made substantial changes to how the user and analytic profiles are + handled. Primarily, the prefered form for both user supplied and + analytic profiles is as intensity profiles rather than cumulative + flux profiles. Cumulative profiles may still be input and they are + identified by having a zero initial element. (12/13/91, Valdes) + +artdata$mktemplates.x + Very large gaussians showed an dip in the center due to problems with + mkt_fixprof. A better algorithm was instituted. (12/11/91, Valdes) + +artdata$lists/stmix.x + 1. The random component of the size distribution for the Schecter function + was incorrect. It was giving a 100% random factor and was reducing + the size by 40%. The fix is 0.2 + 0.4 * urand() ==> 0.8 + 0.4 * urand(). + 2. The roundness distribution for ellipical galaxies was done incorrectly. + (11/26/91, Valdes) + +artdata$lists/stdbio.x + Instead of putting out beta in the log for the schecter function changed + to put out mstar. (11/26/91, Valdes) + +artdata$t_mk1dspec.x +artdata$t_mkechelle.x + Fixed minor bugs found by SPPLINT. (11/21/91, Valdes) + +artdata$mktemplates2.x +artdata$lists/stlumold.x + Delete old versions. (11/21/91, Valdes) + +artdata$doc/t_mkpattern.x + Fixed an error in mkpattern: + max (1, (line-1)) --> max (1, line) + (10/15/91, Valdes) + +artdata$doc/mk1dspec.hlp + Need to indicate that the blackbody flux is per unit wavelength. + (10/9/91, Valdes) + +artdata$t_mkpattern.x + For 1D images the pattern made corresponded to line 0 instead of line 1. + (7/26/91, Valdes) + +artdata$mktemplates.x + The PSF position angle was not being converted to radians from degrees + with the result that the input was interpreted as radians. The + conversion with DEGTORAD was added. (6/10/91, Valdes) + +artdata$t_mkechelle.x +artdata$mkechelle.par +artdata$doc/mkechelle.hlp +artdata$t_mk1dspec.x +artdata$x_artdata.x +artdata$artdata.cl +artdata$artdata.men +artdata$artdata.hd +artdata$mkpkg +artdata$mkexamples/ecarc2d.cl +artdata$mkexamples/ecobj2d.cl +artdata$mkexamples/ecarc1d.cl +artdata$mkexamples/ecarcdc.cl +artdata$mkexamples/ecthorium.dat +artdata$mkexamples/mkexamples.men + 1. Added new artificial echelle task. + 2. Added echelle examples. + 3. Fixed minor bug in MK1DSPEC concerning header format of wend parameter. + (3/20/91, Valdes) + +artdata$ + mkheader.x + + mkpkg + t_mkobjects.x, mkobjects.par, doc/mkobjects.hlp + t_mkpattern.x, mkpattern.par, doc/mkpattern.hlp + t_mknoise.x, mknoise.par, doc/mknoise.hlp + t_mk2dspec.x, mk2dspec.par, doc/mk2dspec.hlp + t_mk1dspec.x, mk1dspec.par, doc/mk1dspec.hlp + t_mkheader.x, mkheader.par, doc/mkheader.hlp + artdata.men + stdheader.dat + 1. Separated out header stuff into separate file. + 2. Changed format of header keyword file to be FITS-like including + understanding the output of IMHEADER. The default file + stdheader.dat was changed appropriately. + 3. Added capability to copy an image header when creating a new + image. + 4. MKHEADER can append or replace a header from an image or + a header keyword file. The clobber parameter was changed + to append. The verbose parameter now lists only the image + and source of header changes rather than individual keywords. + (1/16/91, Valdes) + +artdata$mktemplates.x + Fixed bug preventing template memory stored in the symbol table + from being freed. (12/4/90, Valdes) + +artdata$mktemplates.x + Changed seeing sampling from 40% to 80% for image template psfs. + (11/13/90, Valdes) + +artdata$t_mk1dspec.x +artdata$t_mk2dspec.x +artdata$t_mkobjects.x +artdata$t_mknoise.x +artdata$mk1dspec.par +artdata$mk2dspec.par +artdata$mkobjects.par +artdata$mknoise.par +artdata$doc/mk1dspec.hlp +artdata$doc/mk2dspec.hlp +artdata$doc/mkobjects.hlp +artdata$doc/mknoise.hlp +artdata$mkexamples/ + 1. MK1DSPEC now can create multispec/echelle format images. + 2. Added switch to turn off comments. + (11/7/90, Valdes) + +artdata$t_mkobjects.x + 1. Added object list file name to the header comments. + 2. Fixed bug which caused objects which went off the edge and were + exactly at a half pixel boundry (i.e. 32.5) to end up off by one + pixel. + (10/23/90, Valdes) + +artdata$mktemplates.x + Replaced use of i as the function value returned by immap and open + with im and fd respectively. For unknown reasons the HPUX compiler + left the value of i at 0 after the function call. (10/10/90, Valdes) + +artdata$artdata.cl +artdata$artdata.hd +artdata$artdata.men +artdata$doc/mkexamples.hlp + +artdata$mkexamples/ + +artdata$mkexamples/mkexamples.cl + +artdata$mkexamples/mkexamples.men + +artdata$mkexamples/globular.cl + +artdata$mkexamples/multifiber.cl + +artdata$mkexamples/longslit.cl + +artdata$mkexamples/galcluster.cl + +artdata$mkexamples/galfield.cl + +artdata$mkexamples/starfield.cl + + 1. A new task, MKEXAMPLES, has been added to make some standard examples + for demonstrations and task scripts in this and other packages. + 2. The task is driven by simple script files located in the logical + directory mkexamples$. + +artdata$artdata.cl +artdata$artdata.hd +artdata$artdata.men +artdata$artdata.par +artdata$x_artdata.x +artdata$mkheader.par + +artdata$mk1dspec.par +artdata$mk2dspec.par +artdata$mknoise.par +artdata$mkobjects.par +artdata$stdheader.dat + +artdata$mkpkg +artdata$t_mkheader.x + +artdata$t_mk1dspec.x +artdata$t_mk2dspec.x +artdata$t_mknoise.x +artdata$t_mkobjects.x +artdata$doc/mkheader.hlp + +artdata$doc/mkobjects.hlp +artdata$doc/mknoise.hlp +artdata$doc/mk1dspec.hlp +artdata$doc/mk2dspec.hlp + 1. A new task, MKHEADER, has been added to add or modify image headers + using a header keyword data file. + 2. The tasks MKOBJECTS, MKNOISE, MK1DSPEC, and MK2DSPEC have a new + parameter, header, which allows specifying a header keyword data + file. A standard header data file is used as the default. + 3. The tasks MKOBJECTS, MKNOISE, MK1DSPEC, and MK2DSPEC add some + some header parameters such as gain, rdnoise, and exptime as + well as extensively comment task and data file parameters. + 4. The package version number was incremented. + +artdata$mktemplates.x + 1. The logic for discriminating between an image template and profile + file doesn't work because IMACCESS does not check if the file is + an image. Modified to use an error check on IMMAP. + 2. The ACCESS call to test for access to a profile file had a missing + third argument causing a segmentation error on at least Sun3. + 3. For the star profile input an initialization of nxm was missing + and a malloc used nxm instead of j resulting in an alloc of 0 length. + Basically the profile file input was not working. (8/9/90, Valdes) + +artdata$mktemplates.x + The gaussian radius was being treated as a full width resulting in + stars which are half that expected. (7/19/90, Valdes) + +artdata$t_mkobjects + A rounding error for objects which go off the + lower edges was causing the objects to appear one pixel offset to larger + numbers. Replaced rounding done by adding 0.5 by nint. (7/2/90, Valdes) + +artdata$t_mk1dspec.x +artdata$mk1dspec.par +artdata$doc/mk1dspec.hlp + Added redshifting capability. (5/18/90, Valdes) + +==== +V2.9 +==== + +artdata$t_mkpattern.x + The COORDINATES pattern was off by 1. (3/12/90, Valdes) + +artdata$ + Davis, Feb 19, 1990 + 1. The STARLIST and GALLIST tasks for making artificial star and + galaxies fields were added to the artdata package. + +artdata$* + + First version of the artificial data package installed. (2/1/90, Valdes) + +.endhelp diff --git a/noao/artdata/artdata.cl b/noao/artdata/artdata.cl new file mode 100644 index 00000000..4aa3c59b --- /dev/null +++ b/noao/artdata/artdata.cl @@ -0,0 +1,18 @@ +#{ ARTDATA - Artificial data package + +package artdata + +task gallist, + mk1dspec, + mk2dspec, + mkechelle, + mkheader, + mknoise, + mkobjects, + mkpattern, + starlist = "artdata$x_artdata.e" + +set mkexamples = "artdata$mkexamples/" +task mkexamples = "mkexamples$mkexamples.cl" + +clbye() diff --git a/noao/artdata/artdata.hd b/noao/artdata/artdata.hd new file mode 100644 index 00000000..3ecf368b --- /dev/null +++ b/noao/artdata/artdata.hd @@ -0,0 +1,19 @@ +# Help directory for the ARTDATA package. + +$defdir = "noao$artdata/" +$doc = "noao$artdata/doc/" +$lists = "noao$artdata/lists/" +$mkexamples = "noao$artdata/mkexamples/" + +gallist hlp=doc$gallist.hlp, src=lists$t_gallist.x +mk1dspec hlp=doc$mk1dspec.hlp, src=t_mk1dspec.x +mk2dspec hlp=doc$mk2dspec.hlp, src=t_mk2dspec.x +mkechelle hlp=doc$mkechelle.hlp, src=t_mkechelle.x +mkexamples hlp=doc$mkexamples.hlp, src=mkexamples$mkexamples.cl +mkheader hlp=doc$mkheader.hlp, src=t_mkheader.x +mknoise hlp=doc$mknoise.hlp, src=t_mknoise.x +mkobjects hlp=doc$mkobjects.hlp, src=t_mkobjects.x +mkpattern hlp=doc$mkpattern.hlp, src=t_mkpattern.x +starlist hlp=doc$starlist.hlp, src=lists$t_starlist.x + +revisions sys=Revisions diff --git a/noao/artdata/artdata.men b/noao/artdata/artdata.men new file mode 100644 index 00000000..5d4459f4 --- /dev/null +++ b/noao/artdata/artdata.men @@ -0,0 +1,10 @@ + gallist - Make an artificial galaxies list + mk1dspec - Make/add artificial 1D spectra + mk2dspec - Make/add artificial 2D spectra using 1D spectra templates + mkechelle - Make artificial 1D and 2D echelle spectra + mkexamples - Make artificial data examples + mkheader - Append/replace header parameters + mknoise - Make/add noise and cosmic rays to 1D/2D images + mkobjects - Make/add artificial stars and galaxies to 2D images + mkpattern - Make/add patterns to images + starlist - Make an artificial star list diff --git a/noao/artdata/artdata.par b/noao/artdata/artdata.par new file mode 100644 index 00000000..1cae6c77 --- /dev/null +++ b/noao/artdata/artdata.par @@ -0,0 +1,14 @@ +# ARTDATA - Artificial data package + +nxc,i,h,5,1,,Number of PSF centers per pixel in X +nyc,i,h,5,1,,Number of PSF centers per pixel in Y +nxsub,i,h,10,1,,Number of pixel subsamples in X +nysub,i,h,10,1,,Number of pixel subsamples in Y +nxgsub,i,h,5,1,,Number of galaxy pixel subsamples in X +nygsub,i,h,5,1,,Number of galaxy pixel subsamples in Y +dynrange,r,h,100000.,2.,,Profile intensity dynamic range +psfrange,r,h,10.,2.,,PSF convolution dynamic range +ranbuf,i,h,0,0,,"Random number buffer size +" +version,s,h,"V1.1: August 1990" +mode,s,h,ql diff --git a/noao/artdata/doc/gallist.hlp b/noao/artdata/doc/gallist.hlp new file mode 100644 index 00000000..e1f87623 --- /dev/null +++ b/noao/artdata/doc/gallist.hlp @@ -0,0 +1,488 @@ +.help gallist Feb90 noao.artdata +.ih +TASK +gallist -- make an artificial galaxies list +.ih +USAGE +gallist gallist ngals +.ih +PARAMETERS +.ls gallist +The name of the output text file for the x and y coordinates, +magnitudes, profile types, half-flux radii, axial ratios, and position +angles of the artificial galaxies. Output will be appended to this +file if it exists. +.le +.ls ngals = 100 +The number of galaxies in the output galaxies list. +.le +.ls interactive = no +Examine plots and change the parameters of the spatial, luminosity, and +morphology distributions interactively. +.le + + SPATIAL DISTRIBUTION +.ls spatial = "uniform" +Type of spatial distribution for the galaxies. The types are: +.ls uniform +The galaxies are uniformly distributed between \fIxmin\fR, \fIxmax\fR, +\fIymin\fR, and \fIymax\fR. +.le +.ls hubble +The galaxies are distributed around the center of symmetry \fIxcenter\fR and +\fIycenter\fR according to a Hubble density law of core radius +\fIcore_radius\fR and background density \fIbase\fR. +.le +.ls file +The radial density function is contained in the text file \fIsfile\fR. +.le +.le +.ls xmin = 1., xmax = 512., ymin = 1., ymax = 512. +The range of the output coordinates in pixels. +.le +.ls xcenter = INDEF, ycenter = INDEF +The coordinate of the center of symmetry for the "hubble" +and "file" radial density functions. The default is the +midpoint of the coordinate limits. +.le +.ls core_radius = 50 +The core radius of the Hubble density distribution in pixels. +.le +.ls base = 0.0 +The background density relative to the central density of the Hubble +density distribution. +.le +.ls sseed = 2 +The initial value supplied to the random number generator used to +generate the output x and y coordinates. +If a value of "INDEF" is given then the clock +time (integer seconds since 1980) is used as the seed yielding +different random numbers for each execution. +.le + + MAGNITUDE DISTRIBUTION +.ls luminosity = "powlaw" +Type of luminosity distribution for the galaxies. The types are: +.ls uniform +The galaxies are uniformly distributed between \fIminmag\fR and +\fImaxmag\fR. +.le +.ls powlaw +The galaxies are distributed according to a power law with coefficient +\fIpower\fR. +.le +.ls schecter +The galaxies are distributed according to a Schecter luminosity +function with characteristic magnitude \fImstar\fR and power law exponent +\fIalpha\fR between \fIminmag\fR and \fImaxmag\fR. +.le +.ls file +The luminosity function is contained in the text file \fIlfile\fR. +.le +.le +.ls minmag = -7., maxmag = 0. +The range of output relative magnitudes. +.le +.ls mzero = 15. +Magnitude zero point for Schecter luminosity function. +.le +.ls power = 0.6 +Coefficient for the power law magnitude distribution The default value +of 0.6 is the Euclidean value. +.le +.ls alpha = -1.24 +The power law exponent of the Schecter luminosity function. +The default value is that determined by Schecter from nearby galaxies. +.le +.ls mstar = -21.41 +The characteristic magnitude of the Schecter luminosity function. +.le +.ls lseed = 2 +The initial value supplied to the random number generator used to +generate the output magnitudes. +If a value of "INDEF" is given then the clock +time (integer seconds since 1980) is used as the seed yielding +different random numbers for each execution. +.le + + MORPHOLOGY DISTRIBUTION +.ls egalmix = 0.4 +The fraction of the galaxies that are "ellipticals" represented +by a de Vaucouleurs surface brightness law as opposed to "spirals" +represented by an exponential disk surface brightness law. +.le +.ls ar = 0.3 +Minimum elliptical galaxy axial ratio (major/minor ratio). +.le +.ls eradius = 20.0 +The maximum elliptical galaxy half-flux semi-major scale radius. This is +the radius of an elliptical galaxy with magnitude \fIminmag\fR +before a random factor is added. Spiral galaxies and fainter galaxies +are scaled from this value. +.le +.ls sradius = 1.0 +Ratio between half-flux scale radii of spiral and elliptical models at the +same magnitude. For example an elliptical galaxy with magnitude +\fIminmag\fR will have radius \fIeradius\fR while a spiral galaxy +of the same magnitude with have radius \fIsradius\fR * \fIeradius\fR. +.le +.ls absorption = 1.2 +Absorption correction for edge on spirals in magnitudes. +.le +.ls z = 0.05 +Minimum redshift for power law distributed galaxies. This is the +redshift assigned galaxies of magnitude \fIminmag\fR. The redshifts +are assumed proportional to the square root of the apparent luminosity; +i.e the luminosity distance proportional to redshift. The redshift is used +for computing the mean apparent sizes of the galaxies +according to (1+z)**2 / z. +.le + + USER FUNCTIONS +.ls sfile = "" +The name of the input text file containing the sampled spatial radial +density +function, one sample point per line, with the radius and relative probability +in columns one and two respectively. The sample points need not be +uniformly spaced or normalized. +.le +.ls nssample = 100 +The number of points at which the spatial density function is +sampled. If the spatial density function is analytic or approximated +analytically (the "hubble" option) the function is sampled +directly. If the function is read from a file (the "file" option) an +initial smoothing step is performed before sampling. +.le +.ls sorder = 10 +The order of the spline fits used to evaluate the integrated spatial +density function. +.le +.ls lfile = "" +The name of the input text file containing the sampled luminosity +function, one sample point per line, with the magnitude and relative +probability in columns one and two respectively. The sample points need +not be uniformly spaced or normalized. +.le +.ls nlsample = 100 +The number of points at which the luminosity function is +sampled. If the luminosity function is analytic or approximated +analytically (the "uniform", "powlaw" and "schecter" options) the +function is sampled directly. If it is read from a file +(the "file" option) an initial smoothing step is performed before sampling. +.le +.ls lorder = 10 +The order of the spline fits used to evaluate the integrated +luminosity function. +.le + + INTERACTIVE PARAMETERS +.ls rbinsize = 10. +The bin size in pixels of the plotted histogram of the radial density +distribution. +.le +.ls mbinsize = 0.5 +The bin size in magnitudes of the plotted histogram of the luminosity function. +.le +.ls dbinsize = 0.5 +The bin size in pixels of the plotted histogram of the half-power semi-major +axis distribution. +.le +.ls ebinsize = 0.1 +The bin size of the plotted histogram of the axial ratio distribution. +.le +.ls pbinsize = 20. +The bin size in degrees of the plotted histogram of the position angle +distribution. +.le +.ls graphics = stdgraph +The default graphics device. +.le +.ls cursor = "" +The graphics cursor. +.le +.ih +DESCRIPTION +\fBGallist\fR generates a list of x and y coordinates, magnitudes, +morphological types, half-power radii, axial ratios, and position +angles for a sample of \fIngals\fR galaxies based on a user selected +spatial density function \fIspatial\fR and luminosity function +\fIluminosity\fR and writes (appends) the results to the text file +\fIgallist\fR. If the \fIinteractive\fR parameter is "yes" the user can +interactively examine plots of the spatial density function, the +radial density function, the luminosity function, radii, axial ratios, +and position angle distributions and alter the parameters of the task +until a satisfactory artificial field is generated. + +The spatial density function generates x and y values around a center +of symmetry defined by \fIxcenter\fR and \fIycenter\fR within the x and +y limits \fIxmin\fR, \fIxmax\fR, \fIymin\fR and \fIymax\fR according to +the spatial density function specified by \fIspatial\fR. The three +supported spatial density functions are listed below where R is the +radial distance in pixels, P is the relative spatial density, C is a +constant, and f is the best fitting cubic spline function to the spatial +density function R(user), P(user) supplied by the user in the text file +\fIsfile\fR. + +.nf + uniform: P = C + hubble: P = 1.0 / (1 + R / core_radius) ** 2 + base + file: P = f (R(user), P(user)) +.fi + +The Hubble and user spatial density functions are sampled at +\fInssample\fR equally spaced points, and integrated to give the +spatial density probability function at each sampled point. The +integrated probability function is normalized and approximated by a +cubic spline of order \fIsorder\fR. The x and y coordinates are +computed by randomly sampling the integrated probability function until +\fIngals\fR galaxies which satisfy the x and y coordinate limits +\fIxmin\fR, \fIxmax\fR, \fIymin\fR and \fIymax\fR are generated. + +The luminosity function generates relative magnitude values between +\fIminmag\fR and \fImaxmag\fR (before absorption effects are added) +according to the luminosity function specified by \fIluminosity\fR. +The four supported luminosity functions are listed below where M is the +magnitude, P is the relative luminosity function, C is a constant and f +is the best fitting cubic spline function to the luminosity function +M(user), P(user) supplied by the user in the text file \fIlfile\fR. + +.nf + uniform: P = C + powlaw: P = C * 10. ** (power * M) + schecter: P = C * 10. ** (alpha * dM) * exp (-10. ** dM) + file: P = f (M(user), P(user)) + + where dM = 0.4 * (mstar - M + mzero) +.fi + +The uniform distribution is not very physical but may be useful for +testing. The power law distribution is that expected for a homogeneous +and isotropic distribution of galaxies. The default value of 0.6 is +that which can be calculated simply from Euclidean geometry. Observations +of faint galaxies generally show a smaller value. The Schecter +function provides a good approximation to a galaxy cluster when +used in conjunction with the Hubble spatial distribution (though there +is no mass segregation applied). The "best fit" values for the +parameters \fImstar\fR and \fIalpha\fR are taken from the paper by +Schecter (Ap.J 203, 297, 1976). The \fImzero\fR parameter is used +to convert to absolute magnitudes. Note that it is equivalent to +set \fImzero\fR to zero and adjust the characteristic magnitude +to the same relative magnitude scale or to use absolute magnitudes +directly. + +The Schecter and user file distributions are sampled at \fInlsample\fR +equally spaced points, and integrated to give the luminosity +probability function at each sampled point. The probability function is +normalized and approximated by a cubic spline of order \fIlorder\fR. +The magnitudes are computed by randomly sampling the integrated +probability function until \fIngals\fR objects which satisfy the +magnitude limits \fIminmag\fR and \fImaxmag\fR are generated. + +The artificial galaxies have one of two morphological types, +"ellipticals" with a de Vaucouleurs surface brightness law and +"spirals" with an exponential surface brightness law. The fraction +of elliptical galaxies is set by the parameter \fIegalmix\fR. The +position angles of the major axis are distributed uniformly between 0.0 +and 360.0 degrees. The axial ratio (major to minor) of the elliptical +models is allowed to range uniformly between 1 and \fIar\fR +(that is E0 - E7). + +The spiral models have inclinations, i, ranging uniformly between 0 and +90 degrees. The axial ratio is then given by + + a/b = sqrt (sin(i)**2 * .99 + .01) + +which is taken from Holmberg in Galaxies and the Universe (which +references the work of Hubble). Note the axial ratio is limited to +0.1 by this formula. An internal absorption correction is then +made based on the inclination using the relation + + dM = A * (min (10, cosecant (i)) - 1) / 9 + +where is the absorption of an edge on galaxy relative to face on and +the cosecant is limited to 10. Note that this correction changes +allows galaxies with magnitudes less than \fImaxmag\fR and alters +the luminosity function somewhat. Or in other words, the luminosity +function is based on absorption corrected magnitudes. + +The sizes of the galaxy images are scaled from the maximum half-flux +radius of an elliptical galaxy given by the parameter \fIeradius\fR. +This is the radius given to an elliptical galaxy of magnitude +\fIminmag\fR (prior to adding a random factor described below). The +ratio between the half-flux radii of the exponential disk and de +Vaucouleurs models at a given total magnitude is set by the parameter +\fIsradius\fR (note this is a fraction of \fIeradius\fR and not an +actual radius). This allows adjusting the relative surface brightness +of elliptical and spiral models. + +The distribution of sizes is based on the apparent +magnitude of the galaxies. For the power law magnitude distribution +the cosmological redshift factor for angular diameters is used. The +redshift/magnitude relation is assumed to be such that the redshift is +proportional to the luminosity distance (the square root of the +apparent luminosity). Thus, + + +.nf + Z = z * 10. ** (0.2 * (M - minmag)) + Zfactor = ((1+Z)**2 / Z) / ((1+z)**2 / z) + ellipticals: r = eradisus * Zfactor + spirals: r = sradius * eradius * Zfactor +.fi + +where z is the reference redshift at the minimum magnitude, and Z is the +redshift at magnitude M. For very small z the size varies as the +luminosity distance but at larger z the images appear more extended with +lower surface brightness. For very deep simulations a pure luminosity +distance relation gives faint galaxies which are too small and compact +compared to actual observations. + +For the other magnitude distributions, the Schecter cluster function +in particular where all galaxies are at the same distance, the scale radius +obeys the following relation. + +.nf + ellipticals: r = eradius * 10. ** ((minmag - M) / 6) + spirals: r = sradius * eradius * 10. ** ((minmag - M) / 6) +.fi + +This relation gives the size decreasing slightly less rapidly than that +giving a constant surface brightness. This relation is taken from +Holmberg (Galaxies and the Universe). + +A uniform random factor of 50% is added to the sizes computed for +the power law magnitude distribution and 20% for the other distributions. + +The interactive spatial plot shows the positions of the galaxies, the +galaxy type (circles are de Vaucouleurs profiles and other types are +diamonds), and rough size. +.ih +CURSORS +The following interactive keystroke commands are available from within the +GALLIST task. + +.nf + Gallist Keystroke Commands + +? Print options +f Fit one or more of following + Spatial density function (SDF) + Luminosity function (LF) + Distribution of morphological type + Diameter distribution + Roundness distribution + Position angle distribution +x Plot the x-y spatial density function +r Plot the histogram of the radial density function +m Plot the histogram of the luminosity function +d Plot the histogram of the diameter values +e Plot the histogram of the roundness values +p Plot the histogram of the position angle values +: Colon escape commands (see below) +q Exit program +.fi + +The following parameters can be shown or set from within the GALLIST task. + +.nf + Gallist Colon Commands + +:show Show gallist parameters +:ngal [value] Number of galaxies + +:spatial [string] Spatial density function (SDF) (uniform|hubble|file) +:xmin [value] Minimum X value +:xmax [value] Maximum X value +:ymin [value] Minimum Y value +:ymax [value] Maximum Y value +:xcenter [value] X center for SDF +:ycenter [value] Y center for SDF +:core [value] Core radius for Hubble density function +:base [value] Background density for Hubble density function + +:luminosity [string] Luminosity function (LF) + (uniform|powlaw|schecter|file) +:minmag [value] Minimum magnitude +:maxmag [value] Maximum magnitude +:mzero [value] Magnitude zero-point of schecter LF +:power [value] Power law coefficient for powlaw LF +:alpha [value] Schecter parameter +:mstar [value] Characteristic mag for Schecter LF + +:egalmix [value] Elliptical/Spiral galaxy ratio +:ar [value] Minimum elliptical galaxy axial ratio +:eradius [value] Maximum elliptical half flux radius +:sradius [value] Spiral/elliptical radius at same magnitude +:z [value] Minimum redshift +:absorption [value] Absorption correction for spirals + +:lfile [string] Name of the LF file +:sfile [string] Name of the SDF file +:nlsample [value] Number of LF sample points +:lorder [value] Order of spline approximation to the integrated LF +:nssample [value] Number of SDF sample points +:sorder [value] Order of spline approximation to the integrated SDF + +:rbinsize [value] Resolution of radial SDF histogram in pixels +:mbinsize [value] Resolution of magnitude histogram in magnitudes +:dbinsize [value] Resolution of diameter histogram in pixels +:ebinsize [value] Resolution of roundness histogram in pixels +:pbinsize [value] Resolution of position angle histogram in degrees +.fi +.ih +EXAMPLES +1. Create a galaxy cluster with a power law distribution of field galaxies +and stars as background/foreground. + +.nf + ar> gallist galaxies.dat 100 spatial=hubble lum=schecter egal=.8 + ar> gallist galaxies.dat 500 + ar> starlist galaxies.dat 100 + ar> mkobjects galaxies obj=galaxies.dat gain=3 rdnoise=10 poisson+ +.fi + +Note that the objects are appended to the same file. Actually making +the image with \fBmkobjects\fR takes about 5 minutes (2.5 min cpu) on a +SPARCstation 1. + +2. Examine the distributions for a uniform spatial distribution +and power law magnitude distribution using 1000 galaxies without +creating a data file. + +.nf + ar> gallist dev$null 1000 inter+ + ... an x-y plot will appear on the screen + ... type r to examine the radial density function + ... type m to examine the luminosity function + ... type d to examine the half-flux radii distribution + ... type e to examine the axial ratio distribution + ... type = to make a copy of any of the plots + ... type q to quit +.fi +.ih +REVISIONS +.ls GALLIST V2.11+ +The random number seeds can be set from the clock time by using the value +"INDEF" to yield different random numbers for each execution. +.le +.ls GALLIST V2.11 +The default value for the minimum elliptical galaxy axial ratio was +change to 0.3 to cover the range E0-E7 uniformly. +.le +.ih +BUGS +This is a first version and is not intended to produce a full model +of galaxy fields. Some of the relations used are empirical and +simple minded with the aim being to produce reasonably realistic images. + +The spline approximation to the spatial density and luminosity +probability functions can cause wiggles in the output spatial density +and luminosity functions. Users can examine the results interactively +and experiment with the spline order and number of sample points if +they are not satisfied with the results of GALLIST. The default setup +of 10 sample points per spline piece is generally satisfactory for the +spatial density and luminosity functions supplied here. +.ih +SEE ALSO +starlist mkobjects +.endhelp diff --git a/noao/artdata/doc/mk1dspec.hlp b/noao/artdata/doc/mk1dspec.hlp new file mode 100644 index 00000000..b96684a8 --- /dev/null +++ b/noao/artdata/doc/mk1dspec.hlp @@ -0,0 +1,355 @@ +.help mk1dspec Jul95 noao.artdata +.ih +NAME +mk1dspec -- Make/add artificial 1D spectra +.ih +USAGE +mk1dspec input +.ih +PARAMETERS +.ls input +Spectra to create or modify. +.le +.ls output = "" +Output spectra when modifying input spectra. If no output spectra are +given then existing spectra in the input list are modified directly. +If an output list is given then it must match in number the input list. +.le +.ls ap = 1 +Image line to be created or modified in images of dimension greater than 1. +.le +.ls rv = 0. +Radial velocity (km/s) or redshift, as selected by the parameter \fIz\fR, +applied to line positions and continuum. Velocities are converted to +redshift using the relativistic relation 1+z = sqrt ((1+rv/c)/(1-rv/c)). +Note the shift is not a shift in the dispersion parameters but in the +underlying artificial spectrum. +.le +.ls z = no +Is the velocity parameter a radial velocity or a redshift? +.le + +WHEN CREATING NEW SPECTRA +.ls title = "" +Image title to be given to the spectra. Maximum of 79 characters. +.le +.ls ncols = 512 +Number of columns. +.le +.ls naps = 1 +Number of lines or apertures. +.le +.ls header = "artdata$stdheader.dat" +Image or header keyword data file. If an image is given then the image header +is copied. If a file is given then the FITS format cards are copied. +This only applies to new images. The data file consists of lines +in FITS format with leading whitespace ignored. A FITS card must begin +with an uppercase/numeric keyword. Lines not beginning with a FITS +keyword such as comments or lower case are ignored. The user keyword +output of \fBimheader\fR is an acceptable data file. See \fBmkheader\fR +for further information. +.le +.ls wstart = 4000., wend = 8000. +Starting and ending wavelengths in Angstroms. The dispersion is +determined by these values and the number of columns. +.le + +CONTINUUM PARAMETERS +.ls continuum = 1000., slope = 0. +Continuum of the starting wavelength at rest and the slope of the continuum. +.le +.ls temperature = 5700. +Blackbody continuum temperature in Kelvin. A value of 0 is used if +no blackbody continuum is desired. The intensity level is set by +scaling to the continuum level of the starting wavelength at rest. +.le +.ls fnu = no +Compute the continuum as flux per unit frequency (F-nu) if yes or flux per +unit wavelength (F-lambda) if no. +.le + + +LINE PARAMETERS +.ls lines = "" +List of spectral line files. Spectral line files contain lines of rest +wavelength, peak, profile type, and widths (see the DESCRIPTION +section). The latter parameters may be missing or INDEF in which case they +default to the task \fIpeak\fR, \fIprofile\fR, \fIgfwhm\fR, and \fIlfwhm\fR +parameters (note that the \fIpeak\fR parameter is not a constant but the +random number scaling). If no file or a new (nonexistent) file is +specified then a number of random lines given by the parameter \fInlines\fR +is generated. If a new file name is specified then the lines generated are +recorded in the file. If the list of spectral line files is shorter than +the list of input spectra, the last spectral line list file is reused. +.le +.ls nlines = 0 +If no spectral line file or a new file is specified then the task will +generate this number of random spectral lines. The rest wavelengths are +uniformly random within the limits of the spectrum, the peaks are uniformly +random between zero and the value of the \fIpeak\fR parameter, the profile +type is given by \fIprofile\fR, and the widths are fixed at the values of +the \fIgfhwm\fR ad \fIlfwhm\fR parameters. If a redshift is applied the +rest wavelengths are shifted and repeated periodically. +.le +.ls profile = "gaussian" (gaussian|lorentzian|voigt) +The default profile type for random lines or when not specified in the +spectral line file. The profile types are: + +.nf + gaussian - Gaussian profile + lorentzian - Lorentzian profile + voigt - Voigt profile +.fi +.le +.ls peak = -0.5 +The maximum spectral line peak value when generating random lines or +when the peak is missing from the spectral line file. +This value is relative to the continuum unless the continuum is zero. +Negative values are absorption lines and positive values are emission lines. +.le +.ls gfwhm = 20., lfwhm = 20. +The default gaussian and lorentzian full widths at half maximum (FWHM), in +Angstroms, used when generating random lines or when the widths are missing +from the spectral line file. +.le +.ls seed = 1 +Random number seed. If a value of "INDEF" is given then the clock +time (integer seconds since 1980) is used as the seed yielding +different random numbers for each execution. +.le + +.ls comments = yes +Include comments recording task parameters in the image header? +.le + +PACKAGE PARAMETERS +.ls nxsub = 10 +Number of pixel subsamples used in computing the gaussian spectral line +profiles. +.le +.ls dynrange = 100000. +The gaussian line profiles extend to infinity so a dynamic range, the ratio +of the peak intensity to the cutoff intensity, is imposed to cutoff +the profiles. +.le +.ih +DESCRIPTION +This task creates or modifies one dimensional spectra. with a combination +of blackbody and linear sloped continuum and emission and absorption +spectral lines. The spectral lines may be gaussian, lorentzian, or voigt +profiles. A velocity shift may be applied to the underlying artificial +spectrum which is shifted into the specified observed wavelength region. +No noise is included but may be added with the task \fBmknoise\fR. New +spectra are created with the specified number of pixels, wavelength range, +and real datatype. When \fInlines\fR is greater than 1 then an image with +the specified number of lines is created though only the line given by the +\fIap\fR is will have a spectrum. Existing spectra may be modified in +place or new spectra output. Spectra are modified by adding the continuum +and lines defined by the parameters. + +For new images a set of header keywords may be added by specifying an image +or data file with the \fIheader\fR parameter (see also \fBmkheader\fR). If +a data file is specified lines beginning with FITS keywords are entered in +the image header. Leading whitespace is ignored and any lines beginning +with words having lowercase and nonvalid FITS keyword characters are +ignored. In addition to this optional header, parameters for the +wavelength coordinates are defined. Finally, comments may be added to the +image header recording the task parameters and any information from the +line file which are not line definitions. + +Initially all spectra are created without a dispersion function; i.e. +pixel coordinates. For multiple spectra in an image this task must be +executed for each image line to set the dispersion function and add data. +When an image line is selected if it has a defined dispersion function that +is used otherwise the task wavelength parameters are used. + +A continuum is defined by the value at the starting wavelength at rest, a +slope, and a blackbody function of a given temperature. The blackbody +function is scaled to have the specified continuum value at the starting +wavelength at rest. The blackbody flux units are per unit wavelength +(F-lambda). A zero continuum value or a zero temperature will not produce a +blackbody continuum. + +Spectral lines are modeled by gaussian, lorentzian, or voigt profiles of +specified wavelength, peak, and widths. The lines are defined in a +spectral line file or generated randomly. A spectral line file consists of +text lines giving rest wavelength, peak, profile type, gaussian full width +at half maximum and/or lorentzian full width at half maximum. Only the +wavelength is required and subsequent fields may be missing or given as +INDEF. The following table shows the possible formats where wavelength, +peak, gfwhm, and lfwhm are values of wavelength, peak, gaussian FWHM, and +lorentzian FWHM. The profile types are as shown though they may be +abbreviated to one character. + +.nf + wavelength + wavelength peak + wavelength peak gaussian + wavelength peak gaussian gfwhm + wavelength peak gaussian gfwhm + wavelength peak lorentzian + wavelength peak lorentzian lfwhm + wavelength peak lorentzian lfwhm + wavelength peak voigt + wavelength peak voigt gfwhm + wavelength peak voigt gfwhm lfwhm + wavelength peak voigt gfwhm lfwhm +.fi + +When a field is missing or INDEF the values given by the parameters +\fIpeak\fR, \fIprofile\fR, \fIgfwhm\fR, and \fIlfwhm\fR are used. If a +peak value is missing, random values between zero and the \fIpeak\fR value +are generated. Note that to get random line intensities with some +specified profile type and widths the value INDEF would be used for +the peak field. + +If no spectral line file is specified or a new (nonexistent) file is named +then the number of random lines given by the parameter \fInlines\fR is +generated. The rest wavelengths are uniformly random within the wavelength +range of the spectrum and extend periodically outside this range in the +case of an applied velocity shift, the peaks are uniformly random between +zero and the \fIpeak\fR parameter, and the profile type and widths are +given by the \fIprofile\fR, \fIgfwhm\fR, and \fIlfwhm\fR parameters. If a +new file is named then the parameters of the generated lines will be +output. + +The peak values are taken relative to a positive continuum. In other +words the generated line profile is multiplied by the continuum (with a +minimum of zero for fully saturated absorption lines). If the +continuum is less than or equal to zero, as in the case of an +artificial arc spectrum or pure emission line spectrum, then the peak +values are absolute intensities. Positive peak values produce emission +lines and negative values produce absorption lines. Odd results will +occur if the continuum has both positive and zero or negative values. + +The underlying rest spectrum may be shifted. This is used primarily for +testing radial velocity measuring algorithms and is not intended as a +complete model of redshift effects. The starting and ending wavelengths +are not changed by redshifting; these are the instrumental observed +wavelengths. Input line wavelengths are specified at rest and then +shifted into or out of the final spectrum. To be realistic the line +list should include wavelengths over a great enough range to cover +all desired redshifts. The peaks and widths are also appropriately +modified by a redshift. As an example, if the redshift is 1 the +lines will appear broader by a factor of 2 and the peaks will be down +by a factor of 2 in order to maintain the same flux. + +The random line generation is difficult in that one wants to have the +same set of lines (for a given seed) observed at different redshifts. +What is done is that the specified number of random lines is generated +within the observed wavelength interval taken at rest. This set is +then repeated periodical over all wavelengths. A redshift will then +shift these rest lines in to or out of the observed spectrum. If the +lines are output, they are given at rest. \fBNote that this +periodicity may be important in interpreting cross correlation redshift +tests for large shifts between template and object spectra.\fR + +The definitions of the continuum are also affected by a redshift. +The reference point for the continuum level, slope, and blackbody +continuum is the starting wavelength taken at rest. Shifts will then +modify the continuum level at the first pixel appropriately. In +particular a large redshift will shift the blackbody in such a way that +the flux is still given by the \fIcontinuum\fR parameter at the starting +wavelength at rest. +.ih +EXAMPLES +1. Create a simple blackbody continuum between the default wavelengths. + +.nf + cl> mk1dspec bb title=Blackbody +.fi + +2. Create a random absorption spectrum on a blackbody continuum without +saving the line list. + +.nf + cl> mk1dspec bbab title=Absorption nlines=100 +.fi + +3. Create a random absorption spectrum with noise and cosmic rays. + +.nf + cl> mk1dspec bbab title=Absorption nlines=100 + cl> mknoise bbab rdnoise=10 poisson+ ncos=5 energy=1000 +.fi + +4. Create a random emission spectrum on a blackbody continuum and save +the line list. + +.nf + cl> mk1dspec bbem title=Emission nl=30 peak=0.6 lines=bbem.dat +.fi + +5. Create an artificial random arc line spectrum. + +.nf + cl> mk1dspec arc title="Arc lines" cont=0 peak=500 nl=30 +.fi + +6. Create a test spectrum with a line list. + +.nf + cl> type linelist + 4100 -.1 g 20 + 4200 -2. g 20 + 4300 -.3 g 20 + 5100 -.9 g 2 + 5200 -.9 g 4 + 5300 -.9 g 8 + 6700 .9 g 8 + 6800 .9 g 2 + 6900 .9 g 4 + 7700 .3 g 20 + 7800 .2 g 20 + 7900 .1 g 20 + cl> mk1dspec testspec title=Test cont=500 temp=0 lines=linelist +.fi + +7. Add absorption lines to a spectrum. + +.nf + cl> mk1dspec bb out=artspec cont=0 lines=STDIN + 4300 -60 + 5000 -200 + [EOF] +.fi + +Normally the input spectrum would be a real spectrum. + +8. Make two spectra taken from the same set of random lines but differing +in redshift. + +.nf + cl> mk1dspec restspec nl=30 + cl> mk1dspec redspec rv=3000 nl=30 + cl> mk1dspec bluespec rv=-.01 z+ nl=30 +.fi + +9. Make a multispec image with 5 apertures and a range of redshifts. + +.nf + cl> mk1dspec spec.ms ap=1 nl=30 rv=0 naps=5 + cl> mk1dspec spec.ms ap=2 nl=30 rv=1000 + cl> mk1dspec spec.ms ap=3 nl=30 rv=2000 + cl> mk1dspec spec.ms ap=4 nl=30 rv=3000 + cl> mk1dspec spec.ms ap=5 nl=30 rv=4000 +.fi +.ih +REVISIONS +.ls MK1DSPEC V2.11+ +The random number seed can be set from the clock time by using the value +"INDEF" to yield different random numbers for each execution. +.le +.ls MK1DSPEC V2.11 +Lorentzian and Voigt profiles were added and the parameters and input +line list format were changed. The widths are now FWHM instead of +gaussian sigmas. +.le +.ls MK1DSPEC V2.10.3 +The format parameter was eliminated and the task updated to produce the +current coordinate system format. +.le +.ih +SEE ALSO +mknoise, mk2dspec, mkheader, onedspec.sinterp +.endhelp diff --git a/noao/artdata/doc/mk2dspec.hlp b/noao/artdata/doc/mk2dspec.hlp new file mode 100644 index 00000000..44336400 --- /dev/null +++ b/noao/artdata/doc/mk2dspec.hlp @@ -0,0 +1,207 @@ +.help mk2dspec Aug90 noao.artdata +.ih +NAME +mk2dspec -- Make/add 2D spectra using 1D spectra templates +.ih +USAGE +mk2dspec input +.ih +PARAMETERS +.ls input +Spectra to create or modify. +.le +.ls output = "" +Output spectra when modifying input spectra. If no output spectra are +given then existing spectra in the input list are modified directly. +If an output list is given then it must match in number the input list. +.le +.ls models = "" +List of model parameter files. If the list of model files is shorter than the +list of input images then the last model file is reused. The model +parameter files contain lines giving one dimensional spectrum template +name, intensity scale, type of cross dispersion profile, profile +width in the center line, change of width per line, profile position +in the center line, and change of position per line (see the DESCRIPTION +section). +.le +.ls comments = yes +Include comments recording task parameters in the image header? +.le + +WHEN CREATING NEW SPECTRA +.ls title = "" +Image title to be given to the spectra. Maximum of 79 characters. +.le +.ls ncols = 100, nlines = 512 +Number of columns and lines. +.le +.ls header = "artdata$stdheader.dat" +Image or header keyword data file. If an image is given then the image header +is copied. If a file is given then the FITS format cards are copied. +This only applies to new images. The data file consists of lines +in FITS format with leading whitespace ignored. A FITS card must begin +with an uppercase/numeric keyword. Lines not beginning with a FITS +keyword such as comments or lower case are ignored. The user keyword +output of \fBimheader\fR is an acceptable data file. See \fBmkheader\fR +for further information. +.le +.ih +DESCRIPTION +This task creates or modifies two dimensional spectra by taking one +dimensional spectra, convolving them with a spatial profile across the +dispersion, and adding them into two dimensional images. The one +dimensional spectra may be real data or artificial data created with +the task \fBmk1dspec\fR. No noise is included but may be added with +the task \fBmknoise\fR. The spatial profile is fully subsampled and +may vary in width and position along the dispersion axis. The spatial +axis is along the first dimension and the dispersion is along the +second dimension. + +For new images a set of header keywords may be added by specifying an +image or data file with the \fIheader\fR parameter (see also \fBmkheader\fR). +If a data file is specified lines beginning with FITS keywords are +entered in the image header. Leading whitespace is ignored and any +lines beginning with words having lowercase and nonvalid FITS keyword +characters are ignored. In addition, comments may be added to +the image header recording the model file name and the contents of the +model file. + +The spatial profile models are specified in one or more model parameter +files. These files contain lines giving a one dimensional spectrum template +name, intensity scale, type of cross dispersion profile, profile +width in the center line, change of width per line, profile position +in the center line, and change of position per line. More specifically: + +.ls