Changeset 25051 for branches/czw_branch/cleanup/magic/remove/src
- Timestamp:
- Aug 11, 2009, 3:54:00 PM (17 years ago)
- Location:
- branches/czw_branch/cleanup
- Files:
-
- 5 edited
-
. (modified) (1 prop)
-
magic/remove/src/Line.c (modified) (2 diffs)
-
magic/remove/src/streaksextern.c (modified) (1 diff)
-
magic/remove/src/streaksextern.h (modified) (2 diffs)
-
magic/remove/src/streaksremove.c (modified) (6 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/cleanup
- Property svn:mergeinfo changed
/trunk merged: 24940-24950,24953-24971,24973-24977,24986-24989,24993-25017,25019,25021,25023-25024,25026,25029-25031,25036-25049
- Property svn:mergeinfo changed
-
branches/czw_branch/cleanup/magic/remove/src/Line.c
r24382 r25051 444 444 if (y >= 0 && y < numRows) 445 445 { 446 pixel = psAlloc (sizeof(PixelPos)); 447 pixel->x = (unsigned int) x; 448 pixel->y = (unsigned int) y; 449 psArrayAdd (pixels, 1024, pixel); 450 psFree (pixel); 446 psImageSet(pixels, x, y, 1); 451 447 } 452 448 } … … 494 490 if (x >=0 && x < numCols) 495 491 { 496 pixel = psAlloc (sizeof(PixelPos)); 497 pixel->x = (unsigned int) x; 498 pixel->y = (unsigned int) y; 499 psArrayAdd (pixels, 1024, pixel); 500 psFree (pixel); 492 psImageSet(pixels, x, y, 1); 501 493 } 502 494 } -
branches/czw_branch/cleanup/magic/remove/src/streaksextern.c
r24382 r25051 34 34 int i; 35 35 Line line; 36 StreakPixels *pixels = psArrayAllocEmpty (1024); 36 StreakPixels *pixels = psImageAlloc(numCols, numRows, PS_TYPE_U8); 37 psImageInit(pixels, 0); 37 38 int streaksOnComponent = 0; 38 39 -
branches/czw_branch/cleanup/magic/remove/src/streaksextern.h
r20308 r25051 4 4 /** psLib includes */ 5 5 6 #include "ps Array.h"6 #include "psImage.h" 7 7 8 8 /** streakremove includes */ … … 36 36 /** For now, use psArray to define a list of PixelPos pointers */ 37 37 38 typedef ps ArrayStreakPixels;38 typedef psImage StreakPixels; 39 39 40 40 /** Create a list of pixel positions from a Streaks pointer list -
branches/czw_branch/cleanup/magic/remove/src/streaksremove.c
r24951 r25051 13 13 static bool readAndCopyToOutput(streakFiles *sf, bool exciseAll); 14 14 static void exciseNonWarpedPixels(streakFiles *sfiles, double newMaskValue); 15 static bool warpedPixel(streakFiles *sfiles, PixelPos *cellCoord);15 static bool warpedPixel(streakFiles *sfiles, int x, int y); 16 16 static void excisePixel(streakFiles *sfiles, unsigned int x, unsigned int y, bool streak, double newMaskValue); 17 17 static void writeImages(streakFiles *sf, bool exciseImageCube); … … 146 146 } 147 147 148 totalStreakPixels += psArrayLength(pixels);149 148 150 149 psTimerStart("REMOVE_STREAKS"); 151 150 152 // for each pixel covered by the streak153 for (int i = 0; i < psArrayLength (pixels); ++i) {154 PixelPos *pixelPos = psArrayGet (pixels, i);155 156 // if this pixel was not part of the warp, skip because it has already been157 // excised (unless we weren't asked to check) 158 if (!checkNonWarpedPixels || warpedPixel(sfiles, pixelPos)) {159 160 excisePixel(sfiles, pixelPos->x, pixelPos->y, true, maskStreak);161 162 } else {163 // This pixel was not included in any warp and has thus already excised164 // by exciseNonWarpedPixels151 for (int y=0 ; y < sfiles->inImage->numRows; y++) { 152 for (int x = 0; x < sfiles->inImage->numCols; x++) { 153 if (psImageGet(pixels, x, y)) { 154 ++totalStreakPixels; 155 if (!checkNonWarpedPixels || warpedPixel(sfiles, x, y)) { 156 157 excisePixel(sfiles, x, y, true, maskStreak); 158 159 } else { 160 // This pixel was not included in any warp and has thus already excised 161 // by exciseNonWarpedPixels 162 } 163 } 165 164 } 166 165 } … … 178 177 exciseImageCube = true; 179 178 } 180 psArrayElementsFree (pixels);181 179 psFree(pixels); 182 180 } … … 756 754 757 755 static bool 758 warpedPixel(streakFiles *sfiles, PixelPos *cellCoord)756 warpedPixel(streakFiles *sfiles, int x, int y) 759 757 { 760 758 PixelPos chipCoord; … … 767 765 // we clip so that the streak calculation code doesn't have to 768 766 // clipping here insures that we don't touch the overscan regions 769 if (( cellCoord->x < 0) || (cellCoord->x >= sfiles->inImage->numCols) ||770 ( cellCoord->y < 0) || (cellCoord->y >= sfiles->inImage->numRows)) {767 if ((x < 0) || (x >= sfiles->inImage->numCols) || 768 (y < 0) || (y >= sfiles->inImage->numRows)) { 771 769 return false; 772 770 } 773 771 774 cellToChipInt(&chipCoord.x, &chipCoord.y, sfiles->astrom, cellCoord->x, cellCoord->y);772 cellToChipInt(&chipCoord.x, &chipCoord.y, sfiles->astrom, x, y); 775 773 776 774 if (chipCoord.x < 0 || chipCoord.x >= sfiles->warpedPixels->numCols) { … … 839 837 } 840 838 841 printf("Censored %d sources\n", numCensored);842 843 839 // get rid of unused elements (don't know if this is necessary) 844 840 psArrayRealloc(outTable, j); 845 841 846 842 addDestreakKeyword(in->header); 847 if (! psFitsWriteTable(out->fits, in->header, outTable, extname)) { 848 psError(PS_ERR_IO, false, "failed to write table to %s", out->resolved_name); 849 streaksExit("", PS_EXIT_DATA_ERROR); 843 if (psArrayLength(outTable) > 0) { 844 printf("Censored %d sources\n", numCensored); 845 if (! psFitsWriteTable(out->fits, in->header, outTable, extname)) { 846 psError(PS_ERR_IO, false, "failed to write table to %s", out->resolved_name); 847 streaksExit("", PS_EXIT_DATA_ERROR); 848 } 849 } else { 850 printf("Censored ALL %d sources\n", numCensored); 851 if (! psFitsWriteTableEmpty(out->fits, in->header, inTable->data[0], extname)) { 852 psError(PS_ERR_IO, false, "failed to write empty table to %s", out->resolved_name); 853 streaksExit("", PS_EXIT_DATA_ERROR); 854 } 850 855 } 851 856
Note:
See TracChangeset
for help on using the changeset viewer.
