Changeset 5435 for trunk/psModules/src
- Timestamp:
- Oct 20, 2005, 1:06:24 PM (21 years ago)
- Location:
- trunk/psModules/src
- Files:
-
- 11 edited
-
astrom/pmAstrometry.c (modified) (16 diffs)
-
astrom/pmAstrometry.h (modified) (9 diffs)
-
config/pmConfig.c (modified) (2 diffs)
-
config/pmConfig.h (modified) (2 diffs)
-
detrend/pmFlatField.c (modified) (4 diffs)
-
detrend/pmFlatField.h (modified) (2 diffs)
-
detrend/pmNonLinear.c (modified) (2 diffs)
-
detrend/pmNonLinear.h (modified) (2 diffs)
-
imsubtract/pmSubtractBias.c (modified) (2 diffs)
-
imsubtract/pmSubtractBias.h (modified) (2 diffs)
-
objects/pmObjects.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/astrom/pmAstrometry.c
r5170 r5435 8 8 * @author GLG, MHPCC 9 9 * 10 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $11 * @date $Date: 2005- 09-28 20:43:52$10 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2005-10-20 23:06:24 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 71 71 } 72 72 psFree(fpa->chips); 73 psFree(fpa-> header);74 psFree(fpa-> db);73 psFree(fpa->private); 74 psFree(fpa->phu); 75 75 } 76 76 } … … 93 93 psFree(chip->cells); 94 94 psFree(chip->parent); 95 psFree(chip->extname); 96 psFree(chip->pixels); 97 psFree(chip->header); 95 psFree(chip->private); 98 96 } 99 97 } … … 106 104 psFree(cell->toSky); 107 105 psFree(cell->concepts); 106 psFree(cell->camera); 108 107 psFree(cell->analysis); 109 108 // … … 117 116 psFree(cell->readouts); 118 117 psFree(cell->parent); 119 psFree(cell->extname); 120 psFree(cell->pixels); 121 psFree(cell->header); 118 psFree(cell->private); 122 119 } 123 120 } … … 128 125 psFree(readout->image); 129 126 psFree(readout->mask); 127 psFree(readout->weight); 128 psFree(readout->bias); 130 129 psFree(readout->analysis); 131 psFree(readout->concepts);132 130 psFree(readout->parent); 133 131 } … … 145 143 tmpReadout->image = NULL; 146 144 tmpReadout->mask = NULL; 145 tmpReadout->weight = NULL; 146 tmpReadout->bias = NULL; 147 147 tmpReadout->analysis = psMetadataAlloc(); 148 tmpReadout->concepts = psMetadataAlloc();149 148 tmpReadout->parent = cell; 150 149 if (cell != NULL) { … … 155 154 } 156 155 157 pmCell *pmCellAlloc(pmChip *chip) 156 pmCell *pmCellAlloc( 157 pmChip *chip, 158 psMetadata *cameradata, 159 psString name 160 ) 158 161 { 159 162 pmCell *tmpCell = (pmCell *) psAlloc(sizeof(pmCell)); … … 164 167 tmpCell->toFPA = NULL; 165 168 tmpCell->toSky = NULL; 166 tmpCell->analysis = psMetadataAlloc();167 169 tmpCell->concepts = psMetadataAlloc(); 170 psBool rc = psMetadataAddStr(tmpCell->concepts, PS_LIST_HEAD, "CELL.NAME", 0, NULL, name); 171 if (rc == false) { 172 psLogMsg(__func__, PS_LOG_WARN, "WARNING: Could not add CELL.NAME to metadata.\n"); 173 } 174 tmpCell->camera = cameradata; 175 psMemIncrRefCounter((psMetadata *) cameradata); 176 tmpCell->analysis = NULL; 168 177 tmpCell->readouts = psArrayAlloc(0); 169 178 tmpCell->parent = chip; … … 172 181 } 173 182 tmpCell->valid = false; 174 tmpCell->extname = NULL; 175 tmpCell->pixels = NULL; 176 tmpCell->header = NULL; 183 tmpCell->private = NULL; 177 184 178 185 psMemSetDeallocator(tmpCell, (psFreeFunc) cellFree); … … 180 187 } 181 188 182 pmChip *pmChipAlloc(pmFPA *fpa) 189 pmChip *pmChipAlloc( 190 pmFPA *fpa, 191 psString name 192 ) 183 193 { 184 194 pmChip *tmpChip = (pmChip *) psAlloc(sizeof(pmChip)); … … 189 199 tmpChip->fromFPA = NULL; 190 200 tmpChip->concepts = psMetadataAlloc(); 191 tmpChip->analysis = psMetadataAlloc(); 201 psBool rc = psMetadataAddStr(tmpChip->concepts, PS_LIST_HEAD, "CHIP.NAME", 0, NULL, name); 202 if (rc == false) { 203 psLogMsg(__func__, PS_LOG_WARN, "WARNING: Could not add CHIP.NAME to metadata.\n"); 204 } 205 tmpChip->analysis = NULL; 192 206 tmpChip->cells = psArrayAlloc(0); 193 207 tmpChip->parent = fpa; … … 196 210 } 197 211 tmpChip->valid = false; 198 tmpChip->extname = NULL; 199 tmpChip->pixels = NULL; 200 tmpChip->header = NULL; 212 tmpChip->private = NULL; 201 213 202 214 psMemSetDeallocator(tmpChip, (psFreeFunc) chipFree); … … 204 216 } 205 217 206 pmFPA *pmFPAAlloc( 207 const psMetadata *camera, 208 psDB *db) 218 pmFPA *pmFPAAlloc(const psMetadata *camera) 209 219 { 210 220 pmFPA *tmpFPA = (pmFPA *) psAlloc(sizeof(pmFPA)); … … 214 224 tmpFPA->projection = NULL; 215 225 tmpFPA->concepts = psMetadataAlloc(); 216 tmpFPA->analysis = psMetadataAlloc();226 tmpFPA->analysis = NULL; 217 227 tmpFPA->camera = camera; 218 228 psMemIncrRefCounter((psPtr) camera); 219 229 tmpFPA->chips = psArrayAlloc(0); 220 tmpFPA->header = NULL; 221 tmpFPA->db = db; 222 psMemIncrRefCounter((psPtr) db); 230 tmpFPA->private = NULL; 231 tmpFPA->phu = NULL; 223 232 224 233 psMemSetDeallocator(tmpFPA, (psFreeFunc) FPAFree); … … 739 748 psMetadataItem *pmReadoutGetConcept(pmReadout *readout, const char *concept) 740 749 { 741 return(psMetadataLookup(readout->concepts, concept)); 750 // return(psMetadataLookup(readout->concepts, concept)); 751 return(NULL); 742 752 } 743 753 -
trunk/psModules/src/astrom/pmAstrometry.h
r5170 r5435 8 8 * @author GLG, MHPCC 9 9 * 10 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $11 * @date $Date: 2005- 09-28 20:43:52$10 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 11 * @date $Date: 2005-10-20 23:06:24 $ 12 12 * 13 13 * Copyright 2004-2005 Maui High Performance Computing Center, University of Hawaii … … 24 24 /// @addtogroup AstroImage 25 25 /// @{ 26 27 // XXXX: This is incorrect. Must determine what p_pmHDU is. 28 typedef struct 29 { 30 int what; 31 } 32 p_pmHDU; 26 33 27 34 /** Focal plane data structure … … 52 59 const psMetadata *camera; ///< Camera configuration 53 60 psArray *chips; ///< The chips 54 // FITS data 55 psMetadata *header; ///< The FITS header, if it corresponds to this level 56 psDB *db; ///< Database handle 61 p_pmHDU *private; ///< FITS data 62 psMetadata *phu; ///< Primary Header 57 63 } 58 64 pmFPA; … … 86 92 pmFPA *parent; ///< Parent FPA 87 93 bool valid; ///< Do we bother about reading and working with this chip? 88 // FITS data 89 const char *extname; ///< Extension name, if it corresponds to this level 90 psArray *pixels; ///< The pixel data, if it corresponds to this level 91 psMetadata *header; ///< The FITS header, if it corresponds to this level 94 p_pmHDU *private; ///< FITS data 92 95 } 93 96 pmChip; … … 113 116 // Information 114 117 psMetadata *concepts; ///< Cache for PS concepts 118 psMetadata *camera; ///< Camera Info 115 119 psMetadata *analysis; ///< Cell-level analysis metadata 116 120 psArray *readouts; ///< The readouts (referred to by number) 117 121 pmChip *parent; ///< Parent chip 118 122 bool valid; ///< Do we bother about reading and working with this cell? 119 // FITS data 120 const char *extname; ///< Extension name, if it corresponds to this level 121 psArray *pixels; ///< The pixel data, if it corresponds to this level 122 psMetadata *header; ///< The FITS header, if it corresponds to this level 123 p_pmHDU *private; ///< FITS data 123 124 } 124 125 pmCell; … … 143 144 // Information 144 145 psImage *image; ///< Imaging area of readout 145 // XXX: The following mask was removed from the pmReadout struct in recent SDRS146 // versions. However, I'm keeping it here since al ot of modules still require147 // it.148 146 psImage *mask; ///< Mask of input image 147 psImage *weight; ///< Weight of input image 148 psList *bias; ///< List of bias section (sub-)images 149 149 psMetadata *analysis; ///< Readout-level analysis metadata 150 psMetadata *concepts; ///< Cache for PS Concepts151 150 pmCell *parent; ///< Parent cell 152 151 } … … 178 177 */ 179 178 pmCell *pmCellAlloc( 180 pmChip *chip ///< Parent chip 179 pmChip *chip, ///< Parent chip 180 psMetadata *cameradata, 181 psString name 181 182 ); 182 183 … … 191 192 * @return pmChip* newly allocated pmChip 192 193 */ 193 pmChip *pmChipAlloc(pmFPA *fpa); 194 pmChip *pmChipAlloc( 195 pmFPA *fpa, 196 psString name 197 198 ); 194 199 195 200 /** Allocates a pmFPA … … 202 207 */ 203 208 pmFPA *pmFPAAlloc( 204 const psMetadata *camera, ///< Camera configuration 205 psDB *db ///< Database handle 209 const psMetadata *camera ///< Camera configuration 206 210 ); 207 211 -
trunk/psModules/src/config/pmConfig.c
r5356 r5435 3 3 * @author PAP, IfA 4 4 * 5 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $6 * @date $Date: 2005-10- 17 23:37:11$5 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2005-10-20 23:06:24 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 404 404 return recipe; 405 405 } 406 407 /****************************************************************************** 408 pmConfigDB(*site) 409 410 XXX: What should we use for the Database namespace in the call to psDBInit()? 411 This is currently NULL. 412 *****************************************************************************/ 413 414 psDB *pmConfigDB( 415 psMetadata *site) 416 { 417 PS_ASSERT_PTR_NON_NULL(site, NULL); 418 psBool mdStatus01 = false; 419 psBool mdStatus02 = false; 420 psBool mdStatus03 = false; 421 422 psString dbServer = psMetadataLookupStr(&mdStatus01, site, "DBSERVER"); 423 psString dbUsername = psMetadataLookupStr(&mdStatus02, site, "DBUSER"); 424 psString dbPassword = psMetadataLookupStr(&mdStatus03, site, "DBPASSWORD"); 425 if (!(mdStatus01 & mdStatus02 & mdStatus03)) { 426 psLogMsg(__func__, PS_LOG_WARN, "Could not determine database server name, userID, and password from site metadata.\n"); 427 return(NULL); 428 } 429 430 return(psDBInit(dbServer, dbUsername, dbPassword, NULL)); 431 } -
trunk/psModules/src/config/pmConfig.h
r5355 r5435 3 3 * @author PAP, IfA 4 4 * 5 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $6 * @date $Date: 2005-10- 17 21:34:12$5 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 6 * @date $Date: 2005-10-20 23:06:24 $ 7 7 * 8 8 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 84 84 ); 85 85 86 /** pmConfigDB 87 * 88 * pmConfigDB shall use the site configuration data to open a database handle. 89 * This is fairly straightforward at the moment, but will change when we beef up 90 * security. (TBD) 91 * 92 */ 93 psDB *pmConfigDB( 94 psMetadata *site 95 ); 96 97 86 98 #endif -
trunk/psModules/src/detrend/pmFlatField.c
r5170 r5435 18 18 * @author Ross Harman, MHPCC 19 19 * 20 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $21 * @date $Date: 2005- 09-28 20:43:52$20 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 21 * @date $Date: 2005-10-20 23:06:24 $ 22 22 * 23 23 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 38 38 39 39 40 bool pmFlatField(pmReadout *in, pmReadout *mask, const pmReadout *flat) 40 bool pmFlatField( 41 pmReadout *in, 42 const pmReadout *flat) 41 43 { 42 44 // XXX: Not sure if this is correct. Must consult with IfA. 43 PS_ASSERT_PTR_NON_NULL( mask, false);45 PS_ASSERT_PTR_NON_NULL(in->mask, false); 44 46 int i = 0; 45 47 int j = 0; … … 56 58 // Check for nulls 57 59 if (in == NULL) { 58 return true; // Readout m ay not have data in it60 return true; // Readout might have data in it 59 61 } else if(flat==NULL) { 60 62 psError( PS_ERR_BAD_PARAMETER_NULL, true, … … 74 76 return false; 75 77 } 76 inMask = mask->image;78 inMask = in->mask; 77 79 78 80 // Check input image and its mask are not larger than flat image -
trunk/psModules/src/detrend/pmFlatField.h
r5170 r5435 18 18 * @author Ross Harman, MHPCC 19 19 * 20 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $21 * @date $Date: 2005- 09-28 20:43:52$20 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 21 * @date $Date: 2005-10-20 23:06:24 $ 22 22 * 23 23 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 37 37 bool pmFlatField( 38 38 pmReadout *in, ///< Readout with input image 39 pmReadout *mask, ///< Input image mask40 39 const pmReadout *flat ///< Readout with flat image 41 40 ); -
trunk/psModules/src/detrend/pmNonLinear.c
r5170 r5435 5 5 * @author GLG, MHPCC 6 6 * 7 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $8 * @date $Date: 2005- 09-28 20:43:52$7 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2005-10-20 23:06:24 $ 9 9 * 10 10 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 56 56 inFluxe, and the corresponding value in outFlux. The image pixel will then 57 57 be set to the value from outFlux. 58 59 XXX: Must assert that filename exists. This should probably happen in 60 the lookup files. 58 61 *****************************************************************************/ 59 pmReadout *pmNonLinearityLookup(pmReadout *inputReadout, 60 const psVector *inFlux, 61 const psVector *outFlux) 62 pmReadout *pmNonLinearityLookup( 63 pmReadout *inputReadout, 64 const char *filename 65 ) 62 66 { 63 67 PS_ASSERT_PTR_NON_NULL(inputReadout,NULL); 64 68 PS_ASSERT_PTR_NON_NULL(inputReadout->image,NULL); 65 69 PS_ASSERT_IMAGE_TYPE(inputReadout->image, PS_TYPE_F32, NULL); 66 PS_ASSERT_PTR_NON_NULL(inFlux,NULL); 67 if (inFlux->n < 2) { 68 psError(PS_ERR_UNKNOWN,true, "pmNonLinearityLookup(): input vector less than 2 elements. Returning inputReadout image."); 69 return(inputReadout); 70 } 71 PS_ASSERT_PTR_NON_NULL(outFlux,NULL); 72 psS32 tableSize = inFlux->n; 73 if (inFlux->n != outFlux->n) { 74 tableSize = PS_MIN(inFlux->n, outFlux->n); 70 psLookupTable *tmpLT = psLookupTableAlloc(filename, "%f %f", 0); 71 psS32 numLines = psLookupTableRead(tmpLT); 72 psS32 numPixels = 0; 73 if (numLines < 2) { 75 74 psLogMsg(__func__, PS_LOG_WARN, 76 "WARNING: pmNonLinear.c: pmNonLinearityLookup(): input vectors have different sizes (%d, %d)\n", inFlux->n, outFlux->n); 77 } 78 PS_ASSERT_VECTOR_TYPE(inFlux, PS_TYPE_F32, NULL); 79 PS_ASSERT_VECTOR_TYPE(outFlux, PS_TYPE_F32, NULL); 80 81 psS32 i; 82 psS32 j; 83 psS32 binNum; 84 psScalar x; 85 psS32 numPixels = 0; 86 psF32 slope; 87 88 x.type.type = PS_TYPE_F32; 89 for (i=0;i<inputReadout->image->numRows;i++) { 90 for (j=0;j<inputReadout->image->numCols;j++) { 91 x.data.F32 = inputReadout->image->data.F32[i][j]; 92 binNum = p_psVectorBinDisect((psVector *)inFlux, &x); 93 94 if (binNum == -2) { 95 // We get here if x is below the table lookup range. 96 inputReadout->image->data.F32[i][j] = outFlux->data.F32[0]; 97 numPixels++; 98 99 } else if (binNum == -1) { 100 // We get here if x is above the table lookup range. 101 inputReadout->image->data.F32[i][j] = outFlux->data.F32[tableSize-1]; 102 numPixels++; 103 104 } else if (binNum < -2) { 105 // We get here if there was some other problem. 106 psError(PS_ERR_UNKNOWN,true, "pmNonLinearityLookup(): Could not perform p_psVectorBinDisect(). Returning inputReadout image."); 107 return(inputReadout); 108 numPixels++; 109 } else { 110 // Perform linear interpolation. 111 slope = (outFlux->data.F32[binNum+1] - outFlux->data.F32[binNum]) / 112 (inFlux->data.F32[binNum+1] - inFlux->data.F32[binNum]); 113 inputReadout->image->data.F32[i][j] = outFlux->data.F32[binNum] + 114 ((x.data.F32 - inFlux->data.F32[binNum]) * slope); 75 "WARNING: Lookup Table is too small. Returning original pmReadout.\n"); 76 } else { 77 for (psS32 i=0;i<inputReadout->image->numRows;i++) { 78 for (psS32 j=0;j<inputReadout->image->numCols;j++) { 79 psF64 tmpD = psLookupTableInterpolate(tmpLT, inputReadout->image->data.F32[i][j], 1); 80 if (!isnan(tmpD)) { 81 inputReadout->image->data.F32[i][j] = tmpD; 82 } else { 83 numPixels++; 84 } 115 85 } 116 86 } 87 if (numPixels > 0) { 88 psLogMsg(__func__, PS_LOG_WARN, 89 "WARNING: pmNonLinear.c: pmNonLinearityLookup(): %d pixels outside table.", numPixels); 90 } 117 91 } 118 if (numPixels > 0) { 119 psLogMsg(__func__, PS_LOG_WARN, 120 "WARNING: pmNonLinear.c: pmNonLinearityLookup(): %d pixels outside table.", numPixels); 121 } 92 122 93 return(inputReadout); 123 94 } -
trunk/psModules/src/detrend/pmNonLinear.h
r5170 r5435 5 5 * @author GLG, MHPCC 6 6 * 7 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $8 * @date $Date: 2005- 09-28 20:43:52$7 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 8 * @date $Date: 2005-10-20 23:06:24 $ 9 9 * 10 10 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 18 18 #include "pmAstrometry.h" 19 19 20 pmReadout *pmNonLinearityPolynomial(pmReadout *in, 21 const psPolynomial1D *coeff); 20 pmReadout *pmNonLinearityPolynomial( 21 pmReadout *in, 22 const psPolynomial1D *coeff 23 ); 22 24 23 pmReadout *pmNonLinearityLookup(pmReadout *in, 24 const psVector *inFlux, 25 const psVector *outFlux); 25 pmReadout *pmNonLinearityLookup( 26 pmReadout *in, 27 const char *filename 28 ); 26 29 27 30 #endif -
trunk/psModules/src/imsubtract/pmSubtractBias.c
r5294 r5435 6 6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1. 3$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-10- 12 21:02:04 $8 * @version $Revision: 1.4 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-10-20 23:06:24 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 282 282 XXX: The SDRS does not specify type support. F32 is implemented here. 283 283 *****************************************************************************/ 284 pmReadout *pmSubtractBias(pmReadout *in, 285 void *fitSpec, 286 const psList *overscans, 287 pmOverscanAxis overScanAxis, 288 psStats *stat, 289 psS32 nBinOrig, 290 pmFit fit, 291 const pmReadout *bias) 284 pmReadout *pmSubtractBias( 285 pmReadout *in, 286 void *fitSpec, 287 pmFit fit, 288 bool overscan, 289 psStats *stat, 290 int nBin, 291 const pmReadout *bias, 292 const pmReadout *dark 293 ) 292 294 { 293 295 psTrace(".psModule.pmSubtracBias.pmSubtractBias", 4, -
trunk/psModules/src/imsubtract/pmSubtractBias.h
r5170 r5435 6 6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1. 1$ $Name: not supported by cvs2svn $9 * @date $Date: 2005- 09-28 20:43:52$8 * @version $Revision: 1.2 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-10-20 23:06:24 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 38 38 } pmFit; 39 39 40 pmReadout *pmSubtractBias(pmReadout *in, ///< The input pmReadout image 41 void *fitSpec, ///< A polynomial or spline, defining the fit type. 42 const psList *overscans, ///< A psList of overscan images 43 pmOverscanAxis overScanAxis, ///< Defines how overscans are applied 44 psStats *stat, ///< The statistic to be used in combining overscan data 45 int nBin, ///< The amount of binning to be done image pixels. 46 pmFit fit, ///< PM_FIT_SPLINE, PM_FIT_POLYNOMIAL, or PM_FIT_NONE 47 const pmReadout *bias); ///< A possibly NULL bias pmReadout which is to be subtracted 40 pmReadout *pmSubtractBias( 41 pmReadout *in, ///< The input pmReadout image 42 void *fitSpec, ///< A polynomial or spline, defining the fit type. 43 pmFit fit, ///< PM_FIT_SPLINE, PM_FIT_POLYNOMIAL, or PM_FIT_NONE 44 bool overscan, 45 psStats *stat, ///< The statistic to be used in combining overscan data 46 int nBin, ///< The amount of binning to be done image pixels. 47 const pmReadout *bias, ///< A possibly NULL bias pmReadout which is to be subtracted 48 const pmReadout *dark ///< A possibly NULL bias pmReadout which is to be subtracted 49 ) 50 // OLD: remove this 51 // const psList *overscans, ///< A psList of overscan images 52 // pmOverscanAxis overScanAxis, ///< Defines how overscans are applied 48 53 49 54 #endif -
trunk/psModules/src/objects/pmObjects.c
r5255 r5435 6 6 * @author EAM, IfA: significant modifications. 7 7 * 8 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-10- 10 19:53:40$8 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-10-20 23:06:24 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 1445 1445 XXX: What is mode? 1446 1446 XXX: The top, bottom of the contour is not correctly determined. 1447 XXX EAM : this function sis using the model for the contour, but it should1447 XXX EAM : this function is using the model for the contour, but it should 1448 1448 be using only the image counts 1449 1449 *****************************************************************************/
Note:
See TracChangeset
for help on using the changeset viewer.
