#594 closed defect (fixed)
p_psPlaneTransformLinearInvert results in NaN
| Reported by: | eugene | Owned by: | |
|---|---|---|---|
| Priority: | high | Milestone: | |
| Component: | astro | Version: | 0.8.0 |
| Severity: | normal | Keywords: | |
| Cc: |
Description
I had errors in the results from p_psPlaneTransformLinearInvert, with invalid
NaN coming out of the transformation. The existing code comments out the matrix
inversion form of the solution and uses a difficult-to-read solution. I suspect
there is an error in this math (D not A in the X1 = ... ?). the IfA-supplied
code had an error as well in the math, exchanging the x[1][0] and y[0][1] terms
and getting the signs wrong on the [0][0] term arithmetic. I re-wrote the math
using more explicit names than the a,b,c,d,e,f variables.
It is also important to note that this inversion is only valid if x->nX == 1 and
y->nY == 1, and if x->nY <= 1, and y->nX <= 1.
I'm supplying these changes in cvs tag eam_rel8_b0
Change History (7)
comment:1 by , 21 years ago
| Summary: | p_psPlaneTransformLinearInvert results in NaN → p_psPlaneTransformLinearInvert results in NaN |
|---|
comment:2 by , 21 years ago
| Owner: | changed from to |
|---|
comment:3 by , 21 years ago
I fixed that bug a few days ago in our current CVS tree: there was a problem
with the math and I derived a determinant version of the code.
I'm not sure I entirely agree with the conditional on nX and nY. I had imagined
that there would be linear polynomials with nX and nX greater than 1, however
the coefficients being 0.0 for the higher order terms.
comment:4 by , 21 years ago
I agree: you can have a linear polynomial if the higher terms are masked. But
you also have to check and exclude polynomials which are of order 0.
comment:5 by , 21 years ago
| Resolution: | → fixed |
|---|---|
| Status: | new → closed |
This is in our current CVS development tree.

[This has no impact on my stac code, since I don't use the linear inversion.]