Changeset 26184
- Timestamp:
- Nov 18, 2009, 12:19:57 PM (16 years ago)
- Location:
- trunk/ppStack/src
- Files:
-
- 2 edited
-
ppStackCleanup.c (modified) (3 diffs)
-
ppStackCombineFinal.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ppStack/src/ppStackCleanup.c
r26117 r26184 9 9 #include "ppStack.h" 10 10 #include "ppStackLoop.h" 11 12 #define WCS_TOLERANCE 0.001 // Tolerance for WCS13 11 14 12 … … 34 32 35 33 // Close up 36 bool wcsDone = false; // Have we done the WCS?37 for (int i = 0; i < options->num; i++) {38 if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) {39 continue;40 }41 42 ppStackThread *thread = stack->threads->data[0]; // Representative stack43 pmReadout *inRO = thread->readouts->data[i]; // Template readout44 if (inRO && !wcsDone) {45 // Copy astrometry over46 wcsDone = true;47 pmHDU *inHDU = pmHDUFromCell(inRO->parent); // Template HDU48 pmHDU *outHDU = pmHDUFromCell(options->outRO->parent); // Output HDU49 pmChip *outChip = options->outRO->parent->parent; // Output chip50 pmFPA *outFPA = outChip->parent; // Output FPA51 if (!outHDU || !inHDU) {52 psWarning("Unable to find HDU at FPA level to copy astrometry.");53 } else {54 if (!pmAstromReadWCS(outFPA, outChip, inHDU->header, 1.0)) {55 psErrorClear();56 psWarning("Unable to read WCS astrometry from input FPA.");57 wcsDone = false;58 } else {59 if (!outHDU->header) {60 outHDU->header = psMetadataAlloc();61 }62 if (!pmAstromWriteWCS(outHDU->header, outFPA, outChip, WCS_TOLERANCE)) {63 psErrorClear();64 psWarning("Unable to write WCS astrometry to output FPA.");65 wcsDone = false;66 }67 }68 }69 }70 }71 34 72 35 ppStackMemDump("cleanup"); … … 96 59 } 97 60 98 // Put version information into the header99 pmHDU *hdu = pmHDUFromCell(options->outRO->parent);100 if (!hdu) {101 psError(PS_ERR_UNKNOWN, false, "Unable to find HDU for output.");102 return false;103 }104 if (!hdu->header) {105 hdu->header = psMetadataAlloc();106 }107 ppStackVersionHeader(hdu->header);108 109 61 return true; 110 62 } -
trunk/ppStack/src/ppStackCombineFinal.c
r26076 r26184 9 9 #include "ppStack.h" 10 10 #include "ppStackLoop.h" 11 12 #define WCS_TOLERANCE 0.001 // Tolerance for WCS 11 13 12 14 //#define TESTING // Enable test output … … 84 86 } 85 87 88 // Propagate WCS 89 bool wcsDone = false; // Have we done the WCS? 90 for (int i = 0; i < options->num && !wcsDone; i++) { 91 if (options->inputMask->data.PS_TYPE_VECTOR_MASK_DATA[i]) { 92 continue; 93 } 94 95 ppStackThread *thread = stack->threads->data[0]; // Representative stack 96 pmReadout *inRO = thread->readouts->data[i]; // Template readout 97 if (inRO && !wcsDone) { 98 // Copy astrometry over 99 wcsDone = true; 100 pmHDU *inHDU = pmHDUFromCell(inRO->parent); // Template HDU 101 pmHDU *outHDU = pmHDUFromCell(target->parent); // Output HDU 102 pmChip *outChip = target->parent->parent; // Output chip 103 pmFPA *outFPA = outChip->parent; // Output FPA 104 if (!outHDU || !inHDU) { 105 psWarning("Unable to find HDU at FPA level to copy astrometry."); 106 } else { 107 if (!pmAstromReadWCS(outFPA, outChip, inHDU->header, 1.0)) { 108 psErrorClear(); 109 psWarning("Unable to read WCS astrometry from input FPA."); 110 wcsDone = false; 111 } else { 112 if (!outHDU->header) { 113 outHDU->header = psMetadataAlloc(); 114 } 115 if (!pmAstromWriteWCS(outHDU->header, outFPA, outChip, WCS_TOLERANCE)) { 116 psErrorClear(); 117 psWarning("Unable to write WCS astrometry to output FPA."); 118 wcsDone = false; 119 } 120 } 121 } 122 } 123 } 124 125 // Put version information into the header 126 pmHDU *hdu = pmHDUFromCell(target->parent); 127 if (!hdu) { 128 psError(PS_ERR_UNKNOWN, false, "Unable to find HDU for output."); 129 return false; 130 } 131 if (!hdu->header) { 132 hdu->header = psMetadataAlloc(); 133 } 134 ppStackVersionHeader(hdu->header); 135 136 86 137 #ifdef TESTING 87 138 static int pass = 0; // Pass through
Note:
See TracChangeset
for help on using the changeset viewer.
