IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 3426


Ignore:
Timestamp:
Mar 15, 2005, 1:18:29 PM (21 years ago)
Author:
Paul Price
Message:

Put image combination, subtraction in main part of document instead of appendix (whoops!).

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/doc/modules/ModulesSDRS.tex

    r3425 r3426  
    1 %%% $Id: ModulesSDRS.tex,v 1.33 2005-03-15 23:13:16 price Exp $
     1%%% $Id: ModulesSDRS.tex,v 1.34 2005-03-15 23:18:29 price Exp $
    22\documentclass[panstarrs]{panstarrs}
    33
     
    15351535\end{verbatim}
    15361536
    1537 \appendix
    1538 
    1539 \section{Pseudo-C PSPhot}
    1540 \label{psphot}
    1541 
    1542 \begin{verbatim}
    1543 # include <pslib.h>
    1544 # include <psmodule.h>
    1545 
    1546 main () {
    1547 
    1548   psMetadata *header;
    1549   psImage *image;
    1550 
    1551   fd = psFitsOpen (argv[1]);
    1552   md = psFitsReadHeader (fd);
    1553   image = psFitsReadImage (fd, md);
    1554 
    1555   stats = psImageStats (NULL, image);
    1556 
    1557   RDNOISE  = psMetadataLookup (md, "RDNOISE");
    1558   GAIN     = psMetadataLookup (md, "GAIN");
    1559   INNER    = psMetadataLookup (config, "INNER_RADIUS");
    1560   OUTER    = psMetadataLookup (config, "OUTER_RADIUS");
    1561   SATURATE = psMetadataLookup (config, "SATURATE");
    1562   NSIGMA   = psMetadataLookup (config, "PSF_PEAK_THRESHOLD");
    1563   RADIUS   = psMetadataLookup (config, "PSF_MOMENTS_RADIUS");
    1564   XBORDER  = psMetadataLookup (config, "XBORDER");
    1565   YBORDER  = psMetadataLookup (config, "YBORDER");
    1566 
    1567   keep = psRegionAlloc (XBORDER, image->nCol - YBORDER,
    1568                         YBORDER, image->nRow - YBORDER);
    1569  
    1570   Sky = stats->median;
    1571   Sig = sqrt(Sky/GAIN + SQ(RDNOISE));
    1572 
    1573   kernel = psKernelParts ();
    1574   smooth = psImageConvolve (NULL, image, kernel, PS_PARTS);
    1575 
    1576   peaks = pmFindImagePeaks (smooth, NSIGMA*Sig + Sky);
    1577 
    1578   peaks = pmCullImagePeaks (peaks, SATURATE, keep);
    1579  
    1580   sources = pmSourceLocalSky (image, peaks, INNER, OUTER);
    1581 
    1582   sources = pmSourceMoments (image, sources, RADIUS);
    1583  
    1584   sources = pmSourceRoughClassify (sources, SATURATE, MIN_SN_LIM, keep);
    1585 
    1586   stars = pmSourceSelectBrightStars (sources);
    1587 
    1588   stars = pmSourceFitModel (
    1589 }
    1590 
    1591 
    1592 
    1593 psArray *pmFindImagePeaks (psImage *image, float threshold) {
    1594 
    1595   psVector *row;
    1596 
    1597   row = psVectorAlloc (image[0].Ncol);
    1598 
    1599   /* find peaks in each row */
    1600   for (i = 0; i < image[0].Nrow; i++) {
    1601     rowpeaks = pmFindVectorPeaks (row, threshold);
    1602     peaks.x = rowpeaks;
    1603     peaks.y = i;
    1604     peaks.z = image (i, x);
    1605   }
    1606 
    1607   /* drop non-local peaks (peaks with neighbors) */
    1608   for (n = 0; n < peaks.n; n++) {
    1609     if (!local_peak) {
    1610       drop_peak;
    1611     }
    1612   }
    1613   return (peaks);
    1614 }
    1615 \end{verbatim}
    16161537
    16171538%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     
    21842105    psFree(kernels);
    21852106    psFree(kernelCoeffs);
    2186 \ebd{verbatim}
     2107\end{verbatim}
     2108
     2109%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     2110
     2111\appendix
     2112
     2113\section{Pseudo-C PSPhot}
     2114\label{psphot}
     2115
     2116\begin{verbatim}
     2117# include <pslib.h>
     2118# include <psmodule.h>
     2119
     2120main () {
     2121
     2122  psMetadata *header;
     2123  psImage *image;
     2124
     2125  fd = psFitsOpen (argv[1]);
     2126  md = psFitsReadHeader (fd);
     2127  image = psFitsReadImage (fd, md);
     2128
     2129  stats = psImageStats (NULL, image);
     2130
     2131  RDNOISE  = psMetadataLookup (md, "RDNOISE");
     2132  GAIN     = psMetadataLookup (md, "GAIN");
     2133  INNER    = psMetadataLookup (config, "INNER_RADIUS");
     2134  OUTER    = psMetadataLookup (config, "OUTER_RADIUS");
     2135  SATURATE = psMetadataLookup (config, "SATURATE");
     2136  NSIGMA   = psMetadataLookup (config, "PSF_PEAK_THRESHOLD");
     2137  RADIUS   = psMetadataLookup (config, "PSF_MOMENTS_RADIUS");
     2138  XBORDER  = psMetadataLookup (config, "XBORDER");
     2139  YBORDER  = psMetadataLookup (config, "YBORDER");
     2140
     2141  keep = psRegionAlloc (XBORDER, image->nCol - YBORDER,
     2142                        YBORDER, image->nRow - YBORDER);
     2143 
     2144  Sky = stats->median;
     2145  Sig = sqrt(Sky/GAIN + SQ(RDNOISE));
     2146
     2147  kernel = psKernelParts ();
     2148  smooth = psImageConvolve (NULL, image, kernel, PS_PARTS);
     2149
     2150  peaks = pmFindImagePeaks (smooth, NSIGMA*Sig + Sky);
     2151
     2152  peaks = pmCullImagePeaks (peaks, SATURATE, keep);
     2153 
     2154  sources = pmSourceLocalSky (image, peaks, INNER, OUTER);
     2155
     2156  sources = pmSourceMoments (image, sources, RADIUS);
     2157 
     2158  sources = pmSourceRoughClassify (sources, SATURATE, MIN_SN_LIM, keep);
     2159
     2160  stars = pmSourceSelectBrightStars (sources);
     2161
     2162  stars = pmSourceFitModel (
     2163}
     2164
     2165
     2166
     2167psArray *pmFindImagePeaks (psImage *image, float threshold) {
     2168
     2169  psVector *row;
     2170
     2171  row = psVectorAlloc (image[0].Ncol);
     2172
     2173  /* find peaks in each row */
     2174  for (i = 0; i < image[0].Nrow; i++) {
     2175    rowpeaks = pmFindVectorPeaks (row, threshold);
     2176    peaks.x = rowpeaks;
     2177    peaks.y = i;
     2178    peaks.z = image (i, x);
     2179  }
     2180
     2181  /* drop non-local peaks (peaks with neighbors) */
     2182  for (n = 0; n < peaks.n; n++) {
     2183    if (!local_peak) {
     2184      drop_peak;
     2185    }
     2186  }
     2187  return (peaks);
     2188}
     2189\end{verbatim}
    21872190
    21882191%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Note: See TracChangeset for help on using the changeset viewer.