Changeset 11253 for trunk/psModules/src/detrend
- Timestamp:
- Jan 23, 2007, 4:54:15 PM (19 years ago)
- Location:
- trunk/psModules/src/detrend
- Files:
-
- 9 edited
-
pmBias.h (modified) (2 diffs)
-
pmDetrendDB.h (modified) (2 diffs)
-
pmFlatField.h (modified) (2 diffs)
-
pmFlatNormalize.h (modified) (2 diffs)
-
pmFringeStats.h (modified) (2 diffs)
-
pmMaskBadPixels.h (modified) (2 diffs)
-
pmNonLinear.h (modified) (2 diffs)
-
pmShutterCorrection.h (modified) (2 diffs)
-
pmSkySubtract.h (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/detrend/pmBias.h
r10302 r11253 1 /// @file pmBias.h 2 /// 3 /// @brief Subtract the overscan, bias and dark 4 /// 5 /// @ingroup Detrend 6 /// 7 /// @author George Gusciora, MHPCC 8 /// @author Paul Price, IfA 9 /// 10 /// @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 11 /// @date $Date: 2006-11-30 01:03:06 $ 12 /// 13 /// Copyright 2004--2006 Institute for Astronomy, University of Hawaii 14 /// 1 /* @file pmBias.h 2 * @brief Subtract the overscan, bias and dark 3 * 4 * @author George Gusciora, MHPCC 5 * @author Paul Price, IfA 6 * 7 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2007-01-24 02:54:15 $ 9 * Copyright 2004--2006 Institute for Astronomy, University of Hawaii 10 */ 15 11 16 12 #ifndef PM__BIAS_H 17 13 #define PM__BIAS_H 14 15 /// @addtogroup detrend Detrend Creation and Application 16 /// @{ 18 17 19 18 #include <pslib.h> … … 66 65 ); 67 66 67 /// @} 68 68 #endif -
trunk/psModules/src/detrend/pmDetrendDB.h
r9854 r11253 1 /** @file pmDetrendDB.h 2 * 3 * @brief Tools to query the detrend database system 4 * 5 * the functions in here do not perform the detrend database queries directly. all interfaces 6 * to the detrend database go through the external dettools functions. this allows the modules 7 * and directly dependent program to be sufficiently independent of the database schema that it 8 * can be used with any properly defined detrend database tables. 9 * 10 * XXX place the specific name of the detrend database query command in the configuration data 11 * 12 * @ingroup Detrend 13 * 14 * @author EAM, IfA 15 * 16 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 17 * @date $Date: 2006-11-04 02:34:01 $ 18 * 19 * Copyright 2004-2005 Institute for Astronomy, University of Hawaii 20 */ 1 /* @file pmDetrendDB.h 2 * @brief Tools to query the detrend database system 3 * 4 * the functions in here do not perform the detrend database queries directly. all interfaces 5 * to the detrend database go through the external dettools functions. this allows the modules 6 * and directly dependent program to be sufficiently independent of the database schema that it 7 * can be used with any properly defined detrend database tables. 8 * 9 * @author EAM, IfA 10 * 11 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 12 * @date $Date: 2007-01-24 02:54:15 $ 13 * Copyright 2004-2005 Institute for Astronomy, University of Hawaii 14 */ 21 15 22 16 #ifndef PM_DETREND_DB_H 23 17 #define PM_DETREND_DB_H 18 19 /// @addtogroup detrend Detrend Creation and Application 20 /// @{ 24 21 25 22 #include "pmFPALevel.h" … … 69 66 char *pmDetrendFile (const char *detID, const char *classID); 70 67 68 /// @} 71 69 # endif -
trunk/psModules/src/detrend/pmFlatField.h
r9724 r11253 1 /// @file pmFlatField.h 2 /// 3 /// @brief Apply flat field calibration 4 /// 5 /// @ingroup Detrend 6 /// 7 /// @author Ross Harman, MHPCC 8 /// @author Paul Price, IfA 9 /// 10 /// @version $Revision: 1.7 $ $Name: not supported by cvs2svn $ 11 /// @date $Date: 2006-10-24 03:48:42 $ 12 /// 13 /// Copyright 2004-2006 Institute for Astronomy, University of Hawaii 14 /// 1 /* @file pmFlatField.h 2 * @brief Apply flat field calibration 3 * 4 * @author Ross Harman, MHPCC 5 * @author Paul Price, IfA 6 * 7 * @version $Revision: 1.8 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2007-01-24 02:54:15 $ 9 * Copyright 2004-2006 Institute for Astronomy, University of Hawaii 10 */ 15 11 16 12 #ifndef PM_FLAT_FIELD_H 17 13 #define PM_FLAT_FIELD_H 14 15 /// @addtogroup detrend Detrend Creation and Application 16 /// @{ 18 17 19 18 #include "pmFPA.h" … … 29 28 const pmReadout *flat ///< Readout with flat image 30 29 ); 31 32 30 /// @} 33 31 #endif -
trunk/psModules/src/detrend/pmFlatNormalize.h
r9614 r11253 1 /// @file pmFlatNormalize.h 2 /// 3 /// @brief Normalize flat-field measurements 4 /// 5 /// @ingroup Detrend 6 /// 7 /// @author Paul Price, IfA 8 /// 9 /// @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 10 /// @date $Date: 2006-10-17 20:49:10 $ 11 /// 12 /// Copyright 2004-2006 Institute for Astronomy, University of Hawaii 13 /// 1 /* @file pmFlatNormalize.h 2 * @brief Normalize flat-field measurements 3 * 4 * @author Paul Price, IfA 5 * 6 * @version $Revision: 1.6 $ $Name: not supported by cvs2svn $ 7 * @date $Date: 2007-01-24 02:54:15 $ 8 * Copyright 2004-2006 Institute for Astronomy, University of Hawaii 9 */ 14 10 15 11 #ifndef PM_FLAT_NORMALIZE_H 16 12 #define PM_FLAT_NORMALIZE_H 17 13 14 /// @addtogroup detrend Detrend Creation and Application 15 /// @{ 16 18 17 #include <pslib.h> 19 18 20 /// Normali se flat-field measurements19 /// Normalize flat-field measurements 21 20 /// 22 21 /// We have f_ij = g_i s_j where f_ij is the flux recorded for chip i and integration j, g_i is the gain for … … 31 30 ); 32 31 32 /// @} 33 33 #endif -
trunk/psModules/src/detrend/pmFringeStats.h
r9951 r11253 1 /// @file pmFringeStats.h 2 /// 3 /// @brief Measure fringe statistics, and apply correction 4 /// 5 /// @ingroup Detrend 6 /// 7 /// @author Eugene Magnier, IfA 8 /// @author Paul Price, IfA 9 /// 10 /// @version $Revision: 1.11 $ $Name: not supported by cvs2svn $ 11 /// @date $Date: 2006-11-13 22:19:52 $ 12 /// 13 /// Copyright 2004-2006 Institute for Astronomy, University of Hawaii 14 /// 1 /* @file pmFringeStats.h 2 * @brief Measure fringe statistics, and apply correction 3 * 4 * @author Eugene Magnier, IfA 5 * @author Paul Price, IfA 6 * 7 * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2007-01-24 02:54:15 $ 9 * Copyright 2004-2006 Institute for Astronomy, University of Hawaii 10 */ 15 11 16 12 #ifndef PM_FRINGE_STATS 17 13 #define PM_FRINGE_STATS 14 15 /// @addtogroup detrend Detrend Creation and Application 16 /// @{ 18 17 19 18 ////////////////////////////////////////////////////////////////////////////////////////////////////////////// … … 212 211 float keepFrac ///< Minimum fraction of regions to keep, for pmFringeScaleMeasure 213 212 ); 214 215 213 /// @} 216 214 #endif -
trunk/psModules/src/detrend/pmMaskBadPixels.h
r10026 r11253 1 /// @file pmMaskBadPixels.h 2 /// 3 /// @brief Mask bad pixels 4 /// 5 /// @ingroup Detrend 6 /// 7 /// @author Ross Harman, MHPCC 8 /// @author Eugene Magnier, IfA 9 /// 10 /// @version $Revision: 1.11 $ $Name: not supported by cvs2svn $ 11 /// @date $Date: 2006-11-17 01:17:59 $ 12 /// 13 /// Copyright 2004 Institute for Astronomy, University of Hawaii 14 /// 1 /* @file pmMaskBadPixels.h 2 * @brief Mask bad pixels 3 * 4 * @author Ross Harman, MHPCC 5 * @author Eugene Magnier, IfA 6 * 7 * @version $Revision: 1.12 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2007-01-24 02:54:15 $ 9 * Copyright 2004 Institute for Astronomy, University of Hawaii 10 */ 15 11 16 12 #ifndef PM_MASK_BAD_PIXELS_H 17 13 #define PM_MASK_BAD_PIXELS_H 14 15 /// @addtogroup detrend Detrend Creation and Application 16 /// @{ 18 17 19 18 #include <pslib.h> … … 56 55 psMaskType maskVal ///< Value to set for bad pixels 57 56 ); 58 59 60 61 57 /// @} 62 58 #endif -
trunk/psModules/src/detrend/pmNonLinear.h
r9617 r11253 1 /// @file pmNonLinear.h 2 /// 3 /// @brief Perform non-linear correction through polynomial or table lookup 4 /// 5 /// @ingroup Detrend 6 /// 7 /// @author George Gusciora, MHPCC 8 /// @author Paul Price, IfA 9 /// 10 /// @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 11 /// @date $Date: 2006-10-17 22:57:27 $ 12 /// 13 /// Copyright 2004 Institute for Astronomy, University of Hawaii 14 /// 1 /* @file pmNonLinear.h 2 * @brief Perform non-linear correction through polynomial or table lookup 3 * 4 * @author George Gusciora, MHPCC 5 * @author Paul Price, IfA 6 * 7 * @version $Revision: 1.5 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2007-01-24 02:54:15 $ 9 * Copyright 2004 Institute for Astronomy, University of Hawaii 10 */ 15 11 16 12 #ifndef PM_NON_LINEAR_H 17 13 #define PM_NON_LINEAR_H 14 15 /// @addtogroup detrend Detrend Creation and Application 16 /// @{ 18 17 19 18 #include <pslib.h> … … 36 35 ); 37 36 37 /// @} 38 38 #endif -
trunk/psModules/src/detrend/pmShutterCorrection.h
r9984 r11253 1 /// @file pmShutterCorrection.h 2 /// 3 /// @brief Functions to build and apply a shutter exposure-time correction. 4 /// 5 /// @ingroup Detrend 6 /// 7 /// @author Eugene Magnier, IfA 8 /// @author Paul Price, IfA 9 /// 10 /// @version $Revision: 1.10 $ $Name: not supported by cvs2svn $ 11 /// @date $Date: 2006-11-15 00:40:49 $ 12 /// 13 /// Copyright 2006 Institute for Astronomy, University of Hawaii 14 /// 15 16 17 /// A mechanical shutter may not yield uniform exposure times as a function of 18 /// position on the detector. The typical error consists of a constant 19 /// exposure-time offset relative to the requested value, ie exposure time is 20 /// T_o + dT(x,y). The exposure error, dT, may be measured with the following 21 /// scheme. Obtain a set of exposures with different exposures times taken of 22 /// the same flat-field source; the source must be spatially stable between the 23 /// exposures, but need not have a stable amplitude. For an illuminating flux 24 /// of intensity F(x,y) = F_o f(x,y), the signal recorded by any pixel in the 25 /// detector is given by: S(t,x,y) = F_o(t) f(x,y) (T_o + dT(x,y)) where F_o is 26 /// the F_o(t) is the (variable) overall intensity of the illuminating source 27 /// and f(x,y) is the spatial illumination patter times the flat-field response. 28 /// Choose a reference location in the image (eg, the detector center) and 29 /// divide by the value of that region (ie, mean or median): 30 /// 31 /// s(t,x,y) = S(t,x,y) / S(t,0,0) 32 /// s(t,x,y) = F_o(t) f(x,y) (T_o + dT(x,y)) / F_o(t) f(0,0) (T_o + dT(0,0)) 33 /// s(t,x,y) = f(x,y) (T_o + dT(x,y)) / f(0,0) (T_o + dT(0,0)) 34 /// 35 /// we can absorb the term f(0,0) into f(x,y) as we have no motivation for the 36 /// scale of f(x,y). For any single pixel, over the set of exposures, we thus 37 /// need to solve for dT(x,y), dT(0,0), and f'(x,y) in the equation: 38 /// s(t,x,y) = f'(x,y) (T_o + dT(x,y)) / (T_o + dT(0,0)) 39 /// 40 /// we avoid directly fitting these values as the process would be a non-linear 41 /// least-squares problem for every pixel in the image, and thus very time 42 /// consuming. There are linear options which may be used instead. 43 /// First, as T_o goes to a large value, s() approaches the value of f'(x,y). 44 /// Next, as T_o goes to a very small value, s() approaches the value of 45 /// f'(x,y)*dT(x,y)/dT(0,0). Finally, when s() has the value of 46 /// f'(x,y)*(1 + dT(x,y)/dT(0,0))/2, T_o has the value of dT(0,0). with data 47 /// points covering a reasonable dynamic range, we can solve for these three 48 /// values by interpolation and/or extrapolation. 49 /// 50 /// To take the strategy one step further, we could use the above recipe to 51 /// obtain a guess for the three parameters and then apply non-linear fitting to 52 /// solve more accurately for the parameters. If we limit this operation to a 53 /// handful of positions in the image (user defined, but the obvious choice would 54 /// be positions near the center, edges, and corners), then we may determine a 55 /// good value for dT(0,0). Since there is only one dT(0,0) for the image, we 56 /// can apply the resulting measurement to the rest of the pixels in the image. 57 /// If dT(0,0) is not a free parameter, then the fitting process is linear in 58 /// terms of dT(x,y) and f'(x,y) 1 /* @file pmShutterCorrection.h 2 * @brief Functions to build and apply a shutter exposure-time correction. 3 * 4 * @author Eugene Magnier, IfA 5 * @author Paul Price, IfA 6 * 7 * @version $Revision: 1.11 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2007-01-24 02:54:15 $ 9 * Copyright 2006 Institute for Astronomy, University of Hawaii 10 */ 59 11 60 12 #ifndef PM_SHUTTER_CORRECTION_H 61 13 #define PM_SHUTTER_CORRECTION_H 14 15 /// @addtogroup detrend Detrend Creation and Application 16 /// @{ 17 18 /* A mechanical shutter may not yield uniform exposure times as a function of 19 * position on the detector. The typical error consists of a constant 20 * exposure-time offset relative to the requested value, ie exposure time is 21 * T_o + dT(x,y). The exposure error, dT, may be measured with the following 22 * scheme. Obtain a set of exposures with different exposures times taken of 23 * the same flat-field source; the source must be spatially stable between the 24 * exposures, but need not have a stable amplitude. For an illuminating flux 25 * of intensity F(x,y) = F_o f(x,y), the signal recorded by any pixel in the 26 * detector is given by: S(t,x,y) = F_o(t) f(x,y) (T_o + dT(x,y)) where F_o is 27 * the F_o(t) is the (variable) overall intensity of the illuminating source 28 * and f(x,y) is the spatial illumination patter times the flat-field response. 29 * Choose a reference location in the image (eg, the detector center) and 30 * divide by the value of that region (ie, mean or median): 31 * 32 * s(t,x,y) = S(t,x,y) / S(t,0,0) 33 * s(t,x,y) = F_o(t) f(x,y) (T_o + dT(x,y)) / F_o(t) f(0,0) (T_o + dT(0,0)) 34 * s(t,x,y) = f(x,y) (T_o + dT(x,y)) / f(0,0) (T_o + dT(0,0)) 35 * 36 * we can absorb the term f(0,0) into f(x,y) as we have no motivation for the 37 * scale of f(x,y). For any single pixel, over the set of exposures, we thus 38 * need to solve for dT(x,y), dT(0,0), and f'(x,y) in the equation: 39 * s(t,x,y) = f'(x,y) (T_o + dT(x,y)) / (T_o + dT(0,0)) 40 * 41 * we avoid directly fitting these values as the process would be a non-linear 42 * least-squares problem for every pixel in the image, and thus very time 43 * consuming. There are linear options which may be used instead. 44 * First, as T_o goes to a large value, s() approaches the value of f'(x,y). 45 * Next, as T_o goes to a very small value, s() approaches the value of 46 * f'(x,y)*dT(x,y)/dT(0,0). Finally, when s() has the value of 47 * f'(x,y)*(1 + dT(x,y)/dT(0,0))/2, T_o has the value of dT(0,0). with data 48 * points covering a reasonable dynamic range, we can solve for these three 49 * values by interpolation and/or extrapolation. 50 * 51 * To take the strategy one step further, we could use the above recipe to 52 * obtain a guess for the three parameters and then apply non-linear fitting to 53 * solve more accurately for the parameters. If we limit this operation to a 54 * handful of positions in the image (user defined, but the obvious choice would 55 * be positions near the center, edges, and corners), then we may determine a 56 * good value for dT(0,0). Since there is only one dT(0,0) for the image, we 57 * can apply the resulting measurement to the rest of the pixels in the image. 58 * If dT(0,0) is not a free parameter, then the fitting process is linear in 59 * terms of dT(x,y) and f'(x,y) 60 */ 62 61 63 62 #include <pslib.h> … … 130 129 ); 131 130 131 /// @} 132 132 #endif -
trunk/psModules/src/detrend/pmSkySubtract.h
r10299 r11253 1 /* *@file pmSubtractSky.h1 /* @file pmSubtractSky.h 2 2 * 3 * This file will contain a module which will create a model of the4 * background sky and subtract that from the input image.3 * This file will contain a module which will create a model of the 4 * background sky and subtract that from the input image. 5 5 * 6 * @author GLG, MHPCC6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1.1 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2006-11-30 00:52:21 $ 10 * 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii 12 * 8 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2007-01-24 02:54:15 $ 10 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii 13 11 */ 14 12 15 13 #ifndef PM_SUBTRACT_SKY_H 16 14 #define PM_SUBTRACT_SKY_H 15 16 /// @addtogroup detrend Detrend Creation and Application 17 /// @{ 17 18 18 19 #include<stdio.h> … … 34 35 psStats *stats, 35 36 float clipSD); 37 38 /// @} 36 39 #endif
Note:
See TracChangeset
for help on using the changeset viewer.
