From 40e5a5811c6ffce9b0974e93cdd927cbcf60c157 Mon Sep 17 00:00:00 2001 From: Joe Hunkeler Date: Tue, 11 Aug 2015 16:51:37 -0400 Subject: Repatch (from linux) of OSX IRAF --- pkg/images/notes | 341 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 341 insertions(+) create mode 100644 pkg/images/notes (limited to 'pkg/images/notes') diff --git a/pkg/images/notes b/pkg/images/notes new file mode 100644 index 00000000..03a97c7c --- /dev/null +++ b/pkg/images/notes @@ -0,0 +1,341 @@ + +Doug, + + I have finished the initial IMAGES package reorganization. The following +notes should give a pretty good sumary of what I have done to date. + + Lindsey + +IMAGES PACKAGE REORGANIZATION + +I. GENERAL COMMENTS + +The first version of the revised IMAGES package is now available for review. +At present the revised package is called IMAGESX annd can be loaded and +executed on tucana by creating the following environment and package +definitions. + + set imagesx = /d1/davis/imagesx/ + task imagesx.pkg = imagesx$imagesx.cl + +IMAGESX is not an external package so the help database has not been built. +However all the .hd, .men, and .hlp files should have proper entries and +be in their proper places. + +The old TV subpackage is not yet installed in IMAGESX as I did not alter +its organization or appearance to the user. + +II. PACKAGE STRUCTURE AND SUBPACKAGE NAMES + +IMAGESX contains 83 (29 are new to the images package) tasks divided into +the following 8 logical subpackages. + +IMALGEBRA - Image expression evaluation package # e.g. imarith, imexpr + IMCOORDS - Image coordinates package # e.g. ccmap, ccsetwcs + IMFIT - Image fitting package # e.g. fit1d, imsurfit + IMFILTER - Image filtering package # e.g. boxcar, gauss +IMGEOTRAN - Image geometric transformation package # e.g. rotate, magnify + IMMATCH - Image matching and combining package # e.g. xregister, imcombine + IMTV - Image display utilities package # e.g. display, imexamine + IMUTIL - Image utilities package # e.g. hedit, imcopy + +The subpackage names have been prefixed with IM for consistency and to +minimize possible name conflicts with tasks in other packages (e.g. IMMATCH +and MATCH, IMGEOTRAN and GEOTRAN, IMCOORDS and COORDS) and for consistency +with other package names (IMUTIL and ASTUTIL). They were also chosen to avoid +conflict with the names of existing tasks. These names should be reviewed +carefully as we want to live with them for awhile. + +Using the IM prefix implies that the existing images subpackage TV should be +renamed to IMTV in the new scheme. + +The only subpackage name conflict I am aware of is that of IMMATCH with the +CTIO.IMMATCH task which is a 1D version of the current XREGISTER task. + + +III. PACKAGE DIRECTORY STRUCTURE + +The main IMAGESX directory stucture currently looks like the following + +drwxr-xr-x 4 davis 512 Jan 22 10:39 imalgebra +drwxr-xr-x 4 davis 512 Jan 20 15:18 imcoords +drwxr-xr-x 4 davis 512 Jan 13 14:30 imfilter +drwxr-xr-x 4 davis 512 Jan 13 09:36 imfit +drwxr-xr-x 4 davis 512 Jan 23 13:53 imgeotran +drwxr-xr-x 4 davis 1024 Jan 23 14:06 immatch +drwxr-xr-x 2 davis 512 Jan 23 14:29 imtv +drwxr-xr-x 4 davis 1024 Jan 23 14:06 imutil +drwxr-xr-x 2 davis 1024 Jan 20 12:22 lib + +The subdirectory names mimic the names of the subpackages with the exception +of LIB which contains source that is either used by tasks in more than one +subpackage or is of sufficiently general interest that it might make an XTOOLS +package or routine at some point. + +IV. PACKAGE EXECUTABLE + +All the tasks except the IMTV tasks (which are not hooked up yet) are +currently in the same executable as is the case for the current IMAGES +package. + + +V. REORGANIZATION RELATED CHANGES TO EXISTING IMAGES PACKAGE TASKS + +The undocumented tasks in the IMDEBUG package have been removed. These +are CUBE, DUMP, GSUBRAS, MAXMIN, MKIMAGE, and MKTEST. All of these tasks except +DUMP have been superseded by tasks in the IMAGES or ARTDATA packages. +DUMP is occasionally useful for diagnosing problems with pathological image +headers and could be documented and moved to PROTO. + +The script task REGISTER (a simple script task on top of GEOTRAN) has +been renamed GREGISTER to indicate is close ties to GEOMAP/GEOTRAN and +to make it look less generic when listed with other REGISTRATION tasks like +XREGISTER (x-correlation registration) and SREGISTER (celestial coordinate +wcs registration). + + +VI. SUBPACKAGES + +The tasks in each subpackage are described below. New tasks are starred and +their origins described in the notes section. + +In some cases a task appears in the listing for more than one subpackage. For +example WCSCOPY appears in IMMATCH but is also included in IMCOORDS because +it is part of the image matching process but can also be a useful utility. +In all cases where this occurs there is only one version of the parameter file. + +VI.I IMALGEBRA + +This subpackage contains various image arithmetic, function, and expression +evaluation routines. This package should eventually include the image +calculator is also a good place to put various other simple image operator +routines as they are written. + +images.imalgebra: + + imarith - Simple image arithmetic + imdivide - Image division with zero checking and rescaling + imexpr - Evaluate a general image expression +*imfunction - Apply a single argument function to a list of images + imsum - Compute the sum, average, or median of a set of images + +Notes: + +[1] IMFUNCTION is the PROTO package task of the same name. I have included it +here because provides a very simple interface for doing things like computing +the square or square root of an image amd hence complements the IMEXPR task +as IMARITH does. +[2] I chose the subpackage name IMALGEBRA instead of IMCALC to avoid +conflicts with the existing IMCALC tasks (in XRAY and STSDAS) and to leave +the name open for the eventual definitive version of the IMCALC task. + +VI.II IMCOORDS + +This subpackage contains tasks for setting, editing, and transforming image +coordinate systems, and for transforming coordinate lists from one +coordinate system to another using the image coordinate system. All these +tasks are new and either derive from the IMMATCH or PROTO packages. I thought +IMCOORDS was a reasonable name for the subpackage but IMWCS is another +possibility. + +images.imcoords: + +* ccmap - Compute image plate solutions using matched coordinate lists +* ccsetwcs - Create an image celestial wcs from the ccmap plate solution +* cctran - Transform coordinate lists using the ccmap plate solution +* ccxymatch - Match celestial and pixel coordinate lists +* imcctran - Transform image header from one celestial wcs to another +* skyctran - Transform coordinates from one celestial wcs to another +* wcscopy - Replace the wcs of one image with that of another +* wcsctran - Transform coordinates from one iraf image wcs to another +* wcsedit - Edit an image wcs parameter +* wcsreset - Reset the specified image wcs + +Notes: + +[1]. WCSRESET and WCSEDIT are the PROTO package tasks of the same name. They +are very general tasks and work on images of any size and any supported wcs +type. WCSRESET in particular is very useful for removing a world or physical +wcs. +[2]. The remaining tasks were all part of the current IMMATCH package. +[3]. WCSCOPY also appears in immatch package + +VI.III IMFILTER + +This subpackage contains the image filtering tasks. I expect this package +could grow in the future. All of the tasks are in the current IMAGES +package although some like the ring median filters will be new with 2.11. + +images.imfilter: + + boxcar - Boxcar smooth a list of 1 or 2-D images + convolve - Convolve a list of 1 or 2-D images with a rectangular filter + fmedian - Quantize and box median filter a list of 1D or 2D images + fmode - Quantize and box modal filter a list of 1D or 2D images + frmedian - Quantize and ring median filter a list of 1D or 2D images + frmode - Quantize and ring modal filter a list of 1D or 2D images + gauss - Convolve a list of 1 or 2-D images with an elliptical Gaussian + gradient - Convolve a list of 1 or 2-D images with a gradient operator + laplace - Laplacian filter a list of 1 or 2-D images + median - Median box filter a list of 1D or 2D images + mode - Modal box filter a list of 1D or 2D images + rmedian - Ring median filter a list of 1D or 2D images + rmode - Ring modal filter a list of 1D or 2D images + +VI.IV IMFIT + +This subpackage contains the current line and surface fitting tasks. This is +a small package but one which could grow substantially in the future. Examples +of new tasks are a more sophisticated background fitting and surface fitting +tasks, etc. + +images.imfit: + + fit1d - Fit a function to image lines or columns + imsurfit - Fit a surface to a 2-D image + lineclean - Replace deviant pixels in image lines + + +VI.V IMGEOTRAN + +This subpackage contains a set of geometric tranformation operatores which +move pixel and may alter their values via image interpolation. All these +tasks update the wcs information as well. + +imgeotran: + + blkavg - Block average or sum a list of N-D images + blkrep - Block replicate a list of N-D images + geotran - Geometrically transform a list of 1-D or 2-D images + imlintran - Linearly transform a list of 2-D images + imshift - Shift a list of 1-D or 2-D images + imtranspose - Transpose a list of 2-D images +* im3dtran - Transpose a list of 3-D images + magnify - Magnify a list of 1-D or 2-D images + rotate - Rotate and shift a list of 2-D images + shiftlines - Shift the lines of a list of N-D images + +Notes: + +[1]. GEOTRAN also appears in the IMMATCH package. +[2]. IM3DTRAN comes from Steve Rook's VOL package. I added mwcs support. + + +VI.VI IMMATCH + +This subpackage contains tasks for registering or combining images spatially +and for match their psfs and intensity scales. + + +images.immatch: + + geomap - Compute geometric transforms using matched coordinate lists + geotran - Transform 1-D or 2-D images using the [geo|sky|wcs]map transforms +* geoxytran - Transform coordinate lists using the geomap transforms + gregister - Register 1-D or 2-D images using the geomap transforms +* imalign - Align and register 2-D images using a reference x-y list +*imcentroid - Compute and print relative shifts for a list of 2-D images + imcombine - Combine images pixel-by-pixel using various algorithms +* linmatch - Match the linear intensity scales of 1-D or 2-D images +* psfmatch - Match the point-spread functions of 1-D or 2-D images +* skymap - Compute geometric transforms using the image celestial wcs +*skyxymatch - Generate matched x-y lists using the image celestial wcs +* sregister - Register 1-D or 2-D images using the image celestial wcs +* wcscopy - Copy the wcs from one image to another +* wcsmap - Compute geometric transforms using the image wcs +*wcsxymatch - Generate matched x-y lists using the image wcs +* wregister - Register 1-D or 2-D images using the image wcs +* xregister - Register 1-D or 2-D images using x-correlation techniques +* xyxymatch - Match pixel coordinate lists + +Notes: + +[1]. Most of the new tasks come from the IMMATCH package. IMCENTROID and +IMALIGN are the PROTO package image registration tasks of the same name +which I have modified slightly and included in the IMMATCH package as +they offer a useful alternative to XREGISTER. +[2]. The registration tasks (GREGISTER, SREGISTER, and WREGISTER) are +script tasks which call the GEOTRAN task to compute the output image. +They set up the transformation in different ways depending on whether +a matched pixel list, a celestial coordinate system image wcs, or a general +image wcs is to be used. SREGISTER in particular is capable of registering +images which have coordinate systems at different epochs (e.g. 1950 and 2000) +or in different systems (e.g. equatorial and galactic). +[3]. WCSCOPY also appears in the IMCOORDS package. + + +VI.VII IMTV + +This subpackage contains tasks which load and/or interact with the image +display. The package is unchanged except for being called IMTV in the new +scheme. + +images.imtv + + display - Load an image or image section into the display + iis - IIS image display control package + imedit - Examine and edit pixels in images +imexamine - Examine images using image display, graphics, and text + tvmark - Mark objects on the image display + wcslab - Overlay a displayed image with a world coordinat + +VI.VIII IMUTIL + +This subpackage contains the basic images utilities package. + +images.imutil + + chpixtype - Change the pixel type of a list of images + hedit - Header editor + hselect - Select a subset of images satisfying a boolean expression + imcopy - Copy an image + imdelete - Delete a list of images + imgets - Return the value of an image header parameter as a string + imheader - Print an image header + imhistogram - Compute and plot or print an image histogram +* imjoin - Join images along a given dimension + imrename - Rename one or more images +* imreplace - Replace a range of pixel values with a constant + imslice - Slice images into images of lower dimension + imstack - Stack images into a single image of higher dimension +* imtile - Tile same sized 2D images into a 2D mosaic + imstatistics - Compute and print statistics for a list of images + listpixels - Convert an image section into a list of pixels + minmax - Compute the minimum and maximum pixel values in an image + sections - Expand an image template on the standard output + + +Notes: + +[1]. IMJOIN comes from Steve Rooke's VOL package. It joins images of the +same dimension efficiently and complements the IMSTACK task. The wcs of +the resulting image is the wcs of the first image. +[2]. IMREPLACE is the proto package task of the same name. It is a simple +general purpose task that is very useful. +[3]. IMTILE is the old IRMOSAIC task with the database code removed making +it a simple useful 2D image mosaicing task. Often used for combining +before and after pictures of the same field or a time sequence of small images. + + +VII. TASK NAME CONFLICTS WITH EXTERNAL PACKAGES + +The only task name conflict that I am aware concerns the SKYMAP task. There +is a SKYMAP task in STSDAS.GRAPHICS.STPLOT which basically creates a sky +chart for the GSC. Since I would really like to maintain the use +of MAP for my transformation computing tasks (e.g. GEOMAP), I wonder +whether STSDAS would mind renaming this task to SKYCHART... I ran into the name +conflict when I had IMMATCH and GASP loaded at the same time, as GASP uses +the STSDAS version of SKYMAP in some scripts. + + +VIII. WORK STILL TO BE DONE + +I still need to review and if possible implement some changes to the +CCMAP and GEOTRAN tasks requested by Frank. These are mosaic support +related changes. (COMPLETED 8/2/97) + +When and if the new wcs function drivers are installed I will need +to release the contraints I currently have on the CCXYMATC, CCMAP, CCSETWCS, +IMCTRAN, CCTRAN, etc tasks ability to handle various sky projections. At +present only tan, sin, and arc are fully supported. In general +this involves changing parameter file constraints and documentation. -- cgit