Changeset 5516 for trunk/psModules/src/imsubtract/pmSubtractSky.c
- Timestamp:
- Nov 15, 2005, 10:09:03 AM (20 years ago)
- File:
-
- 1 edited
-
trunk/psModules/src/imsubtract/pmSubtractSky.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/psModules/src/imsubtract/pmSubtractSky.c
r5294 r5516 6 6 * @author GLG, MHPCC 7 7 * 8 * @version $Revision: 1. 2$ $Name: not supported by cvs2svn $9 * @date $Date: 2005-1 0-12 21:02:04$8 * @version $Revision: 1.3 $ $Name: not supported by cvs2svn $ 9 * @date $Date: 2005-11-15 20:09:03 $ 10 10 * 11 11 * Copyright 2004 Maui High Performance Computing Center, University of Hawaii … … 18 18 #include<math.h> 19 19 #include "pslib.h" 20 #include "psConstants.h"21 20 #include "pmSubtractSky.h" 21 22 // XXX: Get rid of the. Create pmUtils.h 23 psImage *p_psDetermineTrimmedImage( 24 pmReadout *in 25 ); 22 26 23 27 /****************************************************************************** … … 152 156 153 157 XXX: Use your brain and figure out the analytical expression. 158 159 XXX: Why isn't it simply (xOrder+1) * (yOrder+1)? 154 160 *****************************************************************************/ 155 161 static psS32 CalculatePolyTerms(psS32 xOrder, psS32 yOrder) … … 170 176 } 171 177 } 172 173 178 psTrace("SubtractSky.CalculatePolyTerms", 4, 174 179 "Exiting CalculatePolyTerms(%d, %d) -> %d\n", xOrder, yOrder, localPolyTerms); 175 180 return(localPolyTerms); 181 182 // return((xOrder+1) * (yOrder+1)); 176 183 } 177 184 … … 283 290 XXX: Different trace message facilities in use here. 284 291 *****************************************************************************/ 285 static psPolynomial2D *ImageFitPolynomial(psPolynomial2D *myPoly, 286 psImage *dataImage, 287 psImage *maskImage) 292 static psPolynomial2D *ImageFitPolynomial( 293 psPolynomial2D *myPoly, 294 psImage *dataImage, 295 psImage *maskImage) 288 296 { 289 297 psTrace("SubtractSky.ImageFitPolynomial", 4, … … 471 479 PS_ASSERT_READOUT_NON_EMPTY(in, NULL); 472 480 PS_ASSERT_READOUT_TYPE(in, PS_TYPE_F32, NULL); 481 PS_WARN_PTR_NON_NULL(in->parent); 482 if (in->parent != NULL) { 483 PS_WARN_PTR_NON_NULL(in->parent->concepts); 484 } 473 485 psTrace(".psModule.pmSubtractSky", 4, 474 486 "---- pmSubtractSky() begin ----\n"); … … 492 504 return(in); 493 505 } 494 psImage *origImage = in->image; 506 507 // 508 // Determine trimmed image from metadata. 509 // 510 511 psImage *trimmedImg = p_psDetermineTrimmedImage(in); 495 512 psImage *binnedImage = NULL; 496 513 psPolynomial2D *myPoly = NULL; … … 539 556 // No binning is required here. Simply create a copy of the image 540 557 // and a mask. 541 binnedImage = psImageCopy(binnedImage, origImage, PS_TYPE_F32);558 binnedImage = psImageCopy(binnedImage, trimmedImg, PS_TYPE_F32); 542 559 if (binnedImage == NULL) { 543 560 psError(PS_ERR_UNKNOWN, false, "psImageCopy() returned NULL. Returning in image.\n"); … … 559 576 } 560 577 } else { 561 binnedImage = psImageRebin(NULL, origImage, in->mask, 0, binFactor, stats);578 binnedImage = psImageRebin(NULL, trimmedImg, in->mask, 0, binFactor, stats); 562 579 if (binnedImage == NULL) { 563 580 psError(PS_ERR_UNKNOWN, false, "psImageRebin() returned NULL. Returning in image.\n"); … … 677 694 if (binFactor <= 1) { 678 695 // The binned image is the same size as the original image. 679 for (psS32 row = 0; row < origImage->numRows ; row++) {680 for (psS32 col = 0; col < origImage->numCols ; col++) {681 origImage->data.F32[row][col]-= binnedImage->data.F32[row][col];696 for (psS32 row = 0; row < trimmedImg->numRows ; row++) { 697 for (psS32 col = 0; col < trimmedImg->numCols ; col++) { 698 trimmedImg->data.F32[row][col]-= binnedImage->data.F32[row][col]; 682 699 } 683 700 } 684 701 } else { 685 for (psS32 row = 0; row < origImage->numRows ; row++) {686 for (psS32 col = 0; col < origImage->numCols ; col++) {702 for (psS32 row = 0; row < trimmedImg->numRows ; row++) { 703 for (psS32 col = 0; col < trimmedImg->numCols ; col++) { 687 704 // We calculate the F32 value of the pixel coordinates in the 688 705 // binned image and then use a pixel interpolation routine to … … 700 717 binnedImage, binColF64, binRowF64, 701 718 NULL, 0, 0.0, PS_INTERPOLATE_BILINEAR); 702 origImage->data.F32[row][col]-= binPixel;719 trimmedImg->data.F32[row][col]-= binPixel; 703 720 704 721 psTrace(".psModule.pmSubtractSky", 8,
Note:
See TracChangeset
for help on using the changeset viewer.
