| | 8 | I've been working this past week on the difference image dual convolution process. The dual convolution process attempts to solve for kernels which convolve both input images. If only the chisquare image is minimized, there is (potentially) no unique solution because both images may be convolved to an arbitrarily large size. To add a constraint, we have been applying penalty terms in the system of equations to punish large kernels (based on a suggestion from Yuan & Akerlof). The penalty scale was very sensitive and I became dissatisfied with some of the results. I modified the system of equations to simultaneously minimize the residual image (chi square) and the second moments of the output image (actually, \Sum(x^2 f^2) / \Sum (f^2) to avoid driving the solution to negative fluxes). This works very well for a very wide range of input test images. |
| | 9 | |
| | 10 | In addition, I have been fixing the stack masks. The current stacking code generates masks which only use a single "bad" value for pixels without any valid input pixels. This means we lose the information about (a) which pixels are bad because of consistent issues (especially saturated stars) and (b) pixels for which some / most / all of the pixels are suspect (a category weaker than 'bad'). In the latter case, this includes the mask circles around bright stars and diffraction spikes. As a result, we were unable to detect the difference structures resulting from the wings of bright stars, at least for the stack-stack diffs. I have modified the stacking code to deal with this issue. Now, if all input pixels are 'bad', the output mask is the bitwise OR of all of the bad input pixels. If an output pixel is valid, then the output mask is the bitwise AND of all input pixels actually used. The former means that a bad pixel shows all possible causes, while the good pixels only show consistently present suspect bits. (Perhaps we should be using a fuzzy logic and raising the suspect bit if something like 80% of the accepted pixels have that bit). |
| | 11 | |
| 40 | | * IPP |
| 41 | | * Czar on Monday: |
| 42 | | * re-queued MDFs from the 11th (were overlooked due to stdscience restart over the weekend) |
| 43 | | * some czartool tweaks (eg log 10 instead of natural log plots) |
| 44 | | * a lot of time spent figuring out mailing list administration. This needs some reorganization. |
| 45 | | * rest of time spent on stacks for PSPS: |
| 46 | | * located example cmf files, worked with Jim to tally IPP tables with PSPS schema |
| 47 | | * some refactoring of my Perl code to prepare for stacks: |
| 48 | | * new class to encapsulate Batch creation/deletion etc. Needed before incorporating stacks |
| 49 | | * batches are now subclasses of Batch, eg !DetectionBatch, !StackBatch etc. This minimizes code duplication while making code more readable and maintainable. |
| | 45 | * IPP |
| | 46 | * Czar on Monday: |
| | 47 | * re-queued MDFs from the 11th (were overlooked due to stdscience restart over the weekend) |
| | 48 | * some czartool tweaks (eg log 10 instead of natural log plots) |
| | 49 | * a lot of time spent figuring out mailing list administration. This needs some reorganization. |
| | 50 | * rest of time spent on stacks for PSPS: |
| | 51 | * located example cmf files, worked with Jim to tally IPP tables with PSPS schema |
| | 52 | * some refactoring of my Perl code to prepare for stacks: |
| | 53 | * new class to encapsulate Batch creation/deletion etc. Needed before incorporating stacks |
| | 54 | * batches are now subclasses of Batch, eg !DetectionBatch, !StackBatch etc. This minimizes code duplication while making code more readable and maintainable. |
| | 55 | |